Przeglądaj źródła

WebGLRenderer: Use WebGL 2.0 native transpose().

Mr.doob 6 miesięcy temu
rodzic
commit
62e6f436ce

+ 0 - 12
src/renderers/shaders/ShaderChunk/common.glsl.js

@@ -73,18 +73,6 @@ vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {
 
 }
 
-mat3 transposeMat3( const in mat3 m ) {
-
-	mat3 tmp;
-
-	tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );
-	tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );
-	tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );
-
-	return tmp;
-
-}
-
 bool isPerspectiveMatrix( mat4 m ) {
 
 	return m[ 2 ][ 3 ] == - 1.0;

+ 1 - 1
src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js

@@ -262,7 +262,7 @@ vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in m
 	T2 = - cross( N, T1 ); // negated from paper; possibly due to a different handedness of world coordinate system
 
 	// compute transform
-	mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );
+	mat3 mat = mInv * transpose( mat3( T1, T2, N ) );
 
 	// transform rect
 	vec3 coords[ 4 ];

粤ICP备19079148号