Equirectangular Reflection Mapping

I had to split the world in the headline because the super smart forum software will not let me send off this Topic - teached me the word is too long

texturehdl.mapping = THREE.EquirectangularReflectionMapping;

How does that work? Does it make a cube out of a sphere?
I ask because I got an info that initTexture before rendering a new loaded Texture should eliminate the flicker.
I used initTexture (eliminated the flicker indeed) until I found out that EquirectangularReflectionMapping is eliminated as well. :face_with_raised_eyebrow:

THREE.EquirectangularReflectionMapping tells the renderer that an environment map is in the equirectangular format. Since only the cube map format for non-PBRs and the cubeUV format for PBR materials is supported in shaders, equirectangular textures have to be converted be rendering. This is done automatically by the renderer.

Looking at the code, WebGLRenderer.initTexture() treats equirectangular textures as normal textures so they are not converted to a different format until you actually render with it. However, the initial upload of the equirectangular textures during the conversion should be eliminated.

2 Likes