Browse Source

* Re-added conditional in Lighting.frag to avoid NVIDIA bug. It uses control flow but most GLSL compilers should optimize it to compare and set.

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@9204 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
Sha..rd 13 năm trước cách đây
mục cha
commit
3dfe3d70f5
1 tập tin đã thay đổi với 4 bổ sung0 xóa
  1. 4 0
      engine/src/core-data/Common/MatDefs/Light/Lighting.frag

+ 4 - 0
engine/src/core-data/Common/MatDefs/Light/Lighting.frag

@@ -126,6 +126,10 @@ vec2 computeLighting(in vec3 wvNorm, in vec3 wvViewDir, in vec3 wvLightDir){
     float att = vLightDir.w;
    #endif
 
+   if (m_Shininess <= 1.0) {
+       specularFactor = 0.0; // should be one instruction on most cards ..
+   }
+
    specularFactor *= diffuseFactor;
 
    return vec2(diffuseFactor, specularFactor) * vec2(att);