![enter image description here](https://i.stack.imgur.com/EbTEl.png)
Я новичок в трех js.
Выше представлены два изображения одной и той же модели на двух телефонах. Старый телефон имеет глянцевый вид, в то время как новый телефон передает его довольно хорошо.
this.mesh.traverse( (child) => {
if ( child instanceof THREE.Mesh ) {
child.material = new THREE.MeshStandardMaterial( {
side : THREE.DoubleSide,
map: texture,
bumpMap,
normalMap,
roughnessMap,
envMap: this.envMap
});
child.material.needsUpdate = true;
}
});
Так визуализируется материал. EnvMap взят из изображения HDRI.
Теперь, если я поставил
side : THREE.FrontSide,
для материала. Оба телефона будут отображать хорошее качество. Эффект глянца отсутствует даже в старых телефонах.
EXT_frag_depth, WEBGL_draw_buffers, EXT_shader_texture_lod не поддерживаются в старом телефоне. Я получил их в консоли.
Как заставить работать рендеринг на старых телефонах с включенным DoubleSide? Или есть способ придать цвет обратной стороне и визуализировать другой цвет на лицевой стороне, не создавая другого меня sh для внутренней поверхности, или я должен написать собственный шейдер?