Răsfoiți Sursa

Properly remove static pass

Nehon 7 ani în urmă
părinte
comite
dd2626c560

+ 6 - 27
jme3-core/src/main/resources/Common/MatDefs/Light/Lighting.j3md

@@ -128,27 +128,6 @@ MaterialDef Phong Lighting {
         Boolean IsPointLight
     }
 
-    Technique {
-        LightMode StaticPass
- 
-        VertexShader   GLSL100 GLSL150 : Common/MatDefs/Light/StaticLighting.vert
-        FragmentShader GLSL100 GLSL150 : Common/MatDefs/Light/StaticLighting.frag
- 
-        WorldParameters {
-            WorldViewProjectionMatrix
-            NormalMatrix
-            WorldViewMatrix
-            ViewMatrix
-            CameraPosition
-            WorldMatrix
-            ViewProjectionMatrix
-        }
- 
-        Defines {
-            AMBIENTMAP : AmbientMap
-        }
-    }
-
     Technique {
         LightMode SinglePass
 
@@ -162,13 +141,13 @@ MaterialDef Phong Lighting {
             ViewMatrix
             CameraPosition
             WorldMatrix
-            ViewProjectionMatrix            
+            ViewProjectionMatrix
         }
 
-        Defines {           
+        Defines {
             VERTEX_COLOR : UseVertexColor
-            VERTEX_LIGHTING : VertexLighting           
-            MATERIAL_COLORS : UseMaterialColors         
+            VERTEX_LIGHTING : VertexLighting
+            MATERIAL_COLORS : UseMaterialColors
             DIFFUSEMAP : DiffuseMap
             NORMALMAP : NormalMap
             SPECULARMAP : SpecularMap
@@ -181,8 +160,8 @@ MaterialDef Phong Lighting {
             SEPARATE_TEXCOORD : SeparateTexCoord
             DISCARD_ALPHA : AlphaDiscardThreshold
             USE_REFLECTION : EnvMap
-            SPHERE_MAP : EnvMapAsSphereMap  
-            NUM_BONES : NumberOfBones                        
+            SPHERE_MAP : EnvMapAsSphereMap
+            NUM_BONES : NumberOfBones
             INSTANCING : UseInstancing
             NUM_MORPH_TARGETS: NumberOfMorphTargets
             NUM_TARGETS_BUFFERS: NumberOfTargetsBuffers

+ 0 - 200
jme3-core/src/main/resources/Common/MatDefs/Light/StaticLighting.frag

@@ -1,200 +0,0 @@
-#import "Common/ShaderLib/GLSLCompat.glsllib"
-#import "Common/ShaderLib/Lighting.glsllib"
-#import "Common/ShaderLib/InPassShadows.glsllib"
-#import "Common/ShaderLib/PBR.glsllib"
-
-#ifndef NUM_DIR_LIGHTS
-#define NUM_DIR_LIGHTS 0
-#endif
-
-#ifndef NUM_POINT_LIGHTS
-#define NUM_POINT_LIGHTS 0
-#endif
-
-#ifndef NUM_SPOT_LIGHTS
-#define NUM_SPOT_LIGHTS 0
-#endif
-
-#define DIR_SHADOW_LIGHT_START    (0)
-#define DIR_SHADOW_LIGHT_END      (NUM_SHADOW_DIR_LIGHTS * 2)
-
-#define DIR_LIGHT_START           (DIR_SHADOW_LIGHT_END)
-#define DIR_LIGHT_END             (DIR_LIGHT_START + NUM_DIR_LIGHTS * 2)
-
-#define POINT_SHADOW_LIGHT_START  (DIR_LIGHT_END)
-#define POINT_SHADOW_LIGHT_END    (POINT_SHADOW_LIGHT_START + NUM_SHADOW_POINT_LIGHTS * 2)
-
-#define POINT_LIGHT_START         (POINT_SHADOW_LIGHT_END)
-#define POINT_LIGHT_END           (POINT_LIGHT_START + NUM_POINT_LIGHTS * 2)
-
-#define SPOT_SHADOW_LIGHT_START   (POINT_LIGHT_END)
-#define SPOT_SHADOW_LIGHT_END     (SPOT_SHADOW_LIGHT_START + NUM_SHADOW_SPOT_LIGHTS * 3)
-
-#define SPOT_LIGHT_START          (SPOT_SHADOW_LIGHT_END)
-#define SPOT_LIGHT_END            (SPOT_LIGHT_START + NUM_SPOT_LIGHTS * 3)
-
-#define LIGHT_DATA_SIZE           (NUM_SHADOW_DIR_LIGHTS * 2 )
-
-uniform vec3 g_CameraPosition;
-
-uniform sampler2D m_AmbientMap;
-uniform float m_AlphaDiscardThreshold;
-uniform float m_Shininess;
-uniform vec4 g_AmbientLightColor;
-
-#if LIGHT_DATA_SIZE > 0
-uniform vec4 g_LightData[LIGHT_DATA_SIZE];
-#else
-const vec4 g_LightData[1] = vec4[]( vec4(1.0) );
-#endif
-
-varying vec3 vPos;
-varying vec3 vNormal;
-varying vec2 vTexCoord;
-
-struct surface_t {
-    vec3 position;
-    vec3 normal;
-    vec3 viewDir;
-    vec3 ambient;
-    vec4 diffuse;
-    vec4 specular;
-    float roughness;
-    float ndotv;
-};
-
-void Lighting_Process(in int lightIndex, in surface_t surface, out vec3 outDiffuse, out vec3 outSpecular, inout int startProjIndex) {
-    vec4 lightColor = g_LightData[lightIndex];
-    vec4 lightData1 = g_LightData[lightIndex + 1];
-    float shadowMapIndex = -1.0;
-
-    if (lightColor.w < 0.0) {
-        lightColor.w = -lightColor.w;
-        shadowMapIndex = floor(lightColor.w);
-        lightColor.w = lightColor.w - shadowMapIndex;
-    }
-
-    vec4 lightDir;
-    vec3 lightVec;
-    lightComputeDir(surface.position, lightColor.w, lightData1, lightDir, lightVec);
-
-    if (shadowMapIndex >= 0.0) {
-        lightDir.w *= Shadow_Process(lightColor.w, lightDir.xyz, shadowMapIndex, startProjIndex);
-    }
-
-    if (lightColor.w >= 0.5) {
-        lightDir.w *= computeSpotFalloff(g_LightData[lightIndex + 2], lightDir.xyz);
-    }
-
-    lightColor.rgb *= lightDir.w;
-    
-    PBR_ComputeDirectLightSpecWF(surface.normal, lightDir.xyz, surface.viewDir,
-                                 lightColor.rgb, surface.specular.rgb, surface.roughness, surface.ndotv,
-                                 outDiffuse, outSpecular);
-}
-
-void Lighting_ProcessAll(surface_t surface, out vec3 ambient, out vec3 diffuse, out vec3 specular) {
-
-    ambient  = g_AmbientLightColor.rgb;
-    diffuse  = vec3(0.0);
-    specular = vec3(0.0);
-
-    Shadow_ProcessPssmSlice();
-
-#if LIGHT_DATA_SIZE > 0
-    int projIndex = 0;
-
-    for (int i = SPOT_SHADOW_LIGHT_START; i < SPOT_SHADOW_LIGHT_END; i += 3) {
-        vec3 outDiffuse, outSpecular;
-        Lighting_Process(i, surface, outDiffuse, outSpecular, projIndex);
-        diffuse   += outDiffuse;
-        specular  += outSpecular;
-    }
-
-    for (int i = SPOT_LIGHT_START; i < SPOT_LIGHT_END; i += 3) {
-        vec3 outDiffuse, outSpecular;
-        Lighting_Process(i, surface, outDiffuse, outSpecular, projIndex);
-        diffuse   += outDiffuse;
-        specular  += outSpecular;
-    }
-
-    for (int i = DIR_SHADOW_LIGHT_START; i < DIR_SHADOW_LIGHT_END; i += 2) {
-        vec3 outDiffuse, outSpecular;
-        Lighting_Process(i, surface, outDiffuse, outSpecular, projIndex);
-        diffuse   += outDiffuse;
-        specular  += outSpecular;
-    }
-
-    for (int i = DIR_LIGHT_START; i < DIR_LIGHT_END; i += 2) {
-        vec3 outDiffuse, outSpecular;
-        Lighting_Process(i, surface, outDiffuse, outSpecular, projIndex);
-        diffuse   += outDiffuse;
-        specular  += outSpecular;
-    }
-
-    for (int i = POINT_SHADOW_LIGHT_START; i < POINT_SHADOW_LIGHT_END; i += 2) {
-        vec3 outDiffuse, outSpecular;
-        Lighting_Process(i, surface, outDiffuse, outSpecular, projIndex);
-        diffuse   += outDiffuse;
-        specular  += outSpecular;
-    }
-
-    for (int i = POINT_LIGHT_START; i < POINT_LIGHT_END; i += 2) {
-        vec3 outDiffuse, outSpecular;
-        Lighting_Process(i, surface, outDiffuse, outSpecular, projIndex);
-        diffuse   += outDiffuse;
-        specular  += outSpecular;
-    }
-
-    
-
-#endif
-}
-
-surface_t getSurface() {
-    surface_t s;
-    s.position = vPos;
-    s.normal = normalize(vNormal);
-    if (!gl_FrontFacing) {
-        s.normal = -s.normal;
-    }
-    s.viewDir = normalize(g_CameraPosition - s.position);
-#ifdef AMBIENTMAP
-    s.ambient = texture2D(m_AmbientMap, vTexCoord).rgb;
-#else
-    s.ambient = vec3(1.0);
-#endif
-    s.diffuse = vec4(1.0);
-    s.specular = vec4(0.04, 0.04, 0.04, 1.0);
-    s.roughness = 0.1;
-    s.ndotv = max(0.0, dot(s.viewDir, s.normal));
-    return s;
-}
-
-void main() {
-    vec3 ambient, diffuse, specular;
-
-    surface_t surface = getSurface();
-    Lighting_ProcessAll(surface, ambient, diffuse, specular);
-
-    vec4 color = vec4(1.0);
-    color.rgb = ambient * surface.ambient.rgb +
-                diffuse * surface.diffuse.rgb +
-                specular;
-
-    #ifdef DISCARD_ALPHA
-        if (color.a < m_AlphaDiscardThreshold) {
-            discard;
-        }
-    #endif
-
-    gl_FragColor = color;
-
-/*
-    vec4 projCoord = vProjCoord[0];
-    projCoord.xyz /= projCoord.w;
-    float shad = shadow2D(g_ShadowMapArray, vec4(projCoord.xy, 0.0, projCoord.z)).r;
-    vec3 amb = texture2D(m_AmbientMap, vTexCoord).rgb;
-    gl_FragColor = vec4(amb * vec3(shad), 1.0);
-*/
-}

+ 0 - 32
jme3-core/src/main/resources/Common/MatDefs/Light/StaticLighting.vert

@@ -1,32 +0,0 @@
-#import "Common/ShaderLib/GLSLCompat.glsllib"
-#import "Common/ShaderLib/Skinning.glsllib"
-#import "Common/ShaderLib/Instancing.glsllib"
-#import "Common/ShaderLib/InPassShadows.glsllib"
-
-attribute vec3 inPosition;
-attribute vec3 inNormal;
-attribute vec2 inTexCoord;
-attribute vec4 inColor;
-
-varying vec3 vPos;
-varying vec3 vNormal;
-varying vec2 vTexCoord;
-
-void main() {
-    vTexCoord = inTexCoord;
-
-    vec4 modelSpacePos = vec4(inPosition, 1.0);
-    vec3 modelSpaceNorm = inNormal;
-
-    #ifdef NUM_BONES
-        Skinning_Compute(modelSpacePos, modelSpaceNorm);
-    #endif
-
-    vPos = TransformWorld(modelSpacePos).xyz;
-    vNormal = TransformWorldNormal(modelSpaceNorm);
-
-    vec3 shadowPos = TransformWorld(modelSpacePos).xyz;
-    Shadow_ProcessProjCoord(shadowPos);
-
-    gl_Position = TransformWorldViewProjection(modelSpacePos);
-}