浏览代码

Update PBRLighting.glsllib

Added spec-gloss vars
Ryan McDonough 1 年之前
父节点
当前提交
dfa150ff2e
共有 1 个文件被更改,包括 3 次插入21 次删除
  1. 3 21
      jme3-core/src/main/resources/Common/ShaderLib/PBRLighting.glsllib

+ 3 - 21
jme3-core/src/main/resources/Common/ShaderLib/PBRLighting.glsllib

@@ -30,35 +30,17 @@ uniform vec4 g_AmbientLightColor;
     uniform float m_SpecularAAKappa;
 #endif
 
-vec3 calculatePBRLighting(in vec4 albedo, in float Metallic, in float Roughness, in vec3 lightMapColor, in vec3 ao, in float indoorSunLightExposure, in vec3 normal, in vec3 norm, in vec3 viewDir){
+vec3 calculatePBRLighting(in vec4 albedo, in float Metallic, in float Roughness, in vec4 specularColor, in float glossiness, in vec3 lightMapColor, in vec3 ao, in float indoorSunLightExposure, in vec3 normal, in vec3 norm, in vec3 viewDir){
     vec3 finalLightingValue;
     
     #ifdef SPECGLOSSPIPELINE
-
-        #ifdef USE_PACKED_SG
-            vec4 specularColor = texture2D(m_SpecularGlossinessMap, newTexCoord);
-            float glossiness = specularColor.a * m_Glossiness;
-            specularColor *= m_Specular;
-        #else
-            #ifdef SPECULARMAP
-                vec4 specularColor = texture2D(m_SpecularMap, newTexCoord);
-            #else
-                vec4 specularColor = vec4(1.0);
-            #endif
-            #ifdef GLOSSINESSMAP
-                float glossiness = texture2D(m_GlossinessMap, newTexCoord).r * m_Glossiness;
-            #else
-                float glossiness = m_Glossiness;
-            #endif
-            specularColor *= m_Specular;
-        #endif
         vec4 diffuseColor = albedo;// * (1.0 - max(max(specularColor.r, specularColor.g), specularColor.b));
         Roughness = 1.0 - glossiness;
         vec3 fZero = specularColor.xyz;
     #else
         float specular = 0.5;
         float nonMetalSpec = 0.08 * specular;
-        vec4 specularColor = (nonMetalSpec - nonMetalSpec * Metallic) + albedo * Metallic;
+        specularColor = (nonMetalSpec - nonMetalSpec * Metallic) + albedo * Metallic;
         vec4 diffuseColor = albedo - albedo * Metallic;
         vec3 fZero = vec3(specular);
     #endif
@@ -199,4 +181,4 @@ vec3 calculatePBRLighting(in vec4 albedo, in float Metallic, in float Roughness,
     #endif
     
     return finalLightingValue;
-}
+}