Przeglądaj źródła

Merge pull request #20490 from Mugen87/dev44

CubeTexture: Clarify envMap flip.
Mr.doob 4 lat temu
rodzic
commit
25e4e946fa
1 zmienionych plików z 10 dodań i 0 usunięć
  1. 10 0
      src/textures/CubeTexture.js

+ 10 - 0
src/textures/CubeTexture.js

@@ -11,6 +11,16 @@ function CubeTexture( images, mapping, wrapS, wrapT, magFilter, minFilter, forma
 
 	this.flipY = false;
 
+	// Why CubeTexture._needsFlipEnvMap is necessary:
+	//
+	// By convention -- likely based on the RenderMan spec from the 1990's -- cube maps are specified by WebGL (and three.js)
+	// in a coordinate system in which positive-x is to the right when looking up the positive-z axis -- in other words,
+	// in a left-handed coordinate system. By continuing this convention, preexisting cube maps continued to render correctly.
+
+	// three.js uses a right-handed coordinate system. So environment maps used in three.js appear to have px and nx swapped
+	// and the flag _needsFlipEnvMap controls this conversion. The flip is not required (and thus _needsFlipEnvMap is set to false)
+	// when using WebGLCubeRenderTarget.texture as a cube texture.
+
 	this._needsFlipEnvMap = true;
 
 }