From cfb584d98788b8ead2a43ece73e29c4c8fac66fe Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Tue, 3 Sep 2019 19:57:08 -0700 Subject: [PATCH] Share isPerspective code --- src/renderers/shaders/ShaderChunk/common.glsl.js | 6 ++++++ src/renderers/shaders/ShaderLib/points_vert.glsl.js | 2 +- src/renderers/shaders/ShaderLib/sprite_vert.glsl.js | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/renderers/shaders/ShaderChunk/common.glsl.js b/src/renderers/shaders/ShaderChunk/common.glsl.js index ad0453e0e2..6bfaf5c34e 100644 --- a/src/renderers/shaders/ShaderChunk/common.glsl.js +++ b/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; + } `; diff --git a/src/renderers/shaders/ShaderLib/points_vert.glsl.js b/src/renderers/shaders/ShaderLib/points_vert.glsl.js index 58240755c7..b5bb3598f5 100644 --- a/src/renderers/shaders/ShaderLib/points_vert.glsl.js +++ b/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 ); diff --git a/src/renderers/shaders/ShaderLib/sprite_vert.glsl.js b/src/renderers/shaders/ShaderLib/sprite_vert.glsl.js index bffda7c897..604a694afe 100644 --- a/src/renderers/shaders/ShaderLib/sprite_vert.glsl.js +++ b/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; -- GitLab