Browse Source

Share isPerspective code

Garrett Johnson 5 years ago
parent
commit
cfb584d987

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

@@ -106,5 +106,11 @@ float linearToRelativeLuminance( const in vec3 color ) {
 
 	return dot( weights, color.rgb );
 
+}
+
+bool isPerspectiveMatrix( mat4 projectionMatrix ) {
+
+  return projectionMatrix[ 2 ][ 3 ] == - 1.0;
+
 }
 `;

+ 1 - 1
src/renderers/shaders/ShaderLib/points_vert.glsl.js

@@ -20,7 +20,7 @@ void main() {
 
 	#ifdef USE_SIZEATTENUATION
 
-		bool isPerspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );
+		bool isPerspective = isPerspectiveMatrix( projectionMatrix );
 
 		if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );
 

+ 1 - 1
src/renderers/shaders/ShaderLib/sprite_vert.glsl.js

@@ -20,7 +20,7 @@ void main() {
 
 	#ifndef USE_SIZEATTENUATION
 
-		bool isPerspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );
+		bool isPerspective = isPerspectiveMatrix( projectionMatrix );
 
 		if ( isPerspective ) scale *= - mvPosition.z;