瀏覽代碼

* 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 年之前
父節點
當前提交
3dfe3d70f5
共有 1 個文件被更改,包括 4 次插入0 次删除
  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;
     float att = vLightDir.w;
    #endif
    #endif
 
 
+   if (m_Shininess <= 1.0) {
+       specularFactor = 0.0; // should be one instruction on most cards ..
+   }
+
    specularFactor *= diffuseFactor;
    specularFactor *= diffuseFactor;
 
 
    return vec2(diffuseFactor, specularFactor) * vec2(att);
    return vec2(diffuseFactor, specularFactor) * vec2(att);