When attempting to apply a PhongMaterial to the wings of my aircraft, I noticed that one wing displays shading correctly based on the sun's position, while the other wing seems to always shade in the same way regardless of the lighting angle, only changing in reflection intensity.
The specific materials being used are as follows:
new THREE.MeshPhongMaterial({
vertexColors: THREE.FaceColors,
shininess: 30,
color:0xA9A9A9,
side: THREE.BackSide,
//emissive: 0xA0A0A0,
//emissiveIntensity:0.8
}),
new THREE.MeshPhongMaterial({
vertexColors: THREE.FaceColors,
side: THREE.FrontSide,
color: 0x00ffff,
shininess: 30,
emissive: 0x00ffff,
emissiveIntensity: 0.9
}),
View image with light source on each side
It is evident that the right wing responds properly to the lighting, whereas the left wing does not.
Even when the light source is directly above the left wing, it still does not reflect accurately. On the contrary, the right wing behaves as expected.
Both wings utilize the BackSide setting, have identical materials, and are constructed in the same manner. I am using THREE.Geometry for this task, meticulously crafting every triangle. The math has been double-checked, and .computeVertexNormals() has been called.
I am puzzled by this issue and would greatly appreciate any assistance or insights anyone can provide.