Forráskód Böngészése

stateblock changes for lighting

Tim Barnes 6 éve
szülő
commit
c3fb049f89

+ 26 - 17
Templates/Full/game/core/scripts/client/lighting/advanced/shaders.cs

@@ -26,13 +26,20 @@ new GFXStateBlockData( AL_VectorLightState )
 {
    blendDefined = true;
    blendEnable = true;
-   blendSrc = GFXBlendSrcAlpha;
+   blendSrc = GFXBlendOne;
    blendDest = GFXBlendOne;
    blendOp = GFXBlendOpAdd;
    
+   colorWriteDefined = true;
+   colorWriteRed = true;
+   colorWriteBlue = true;
+   colorWriteGreen = true;
+   colorWriteAlpha = false; //disable alpha write
+   
    zDefined = true;
    zEnable = false;
-   zWriteEnable = false;
+   zWriteEnable = true;
+   zFunc = GFXCmpGreater;
 
    samplersDefined = true;
    samplerStates[0] = SamplerClampPoint;  // G-buffer
@@ -49,12 +56,7 @@ new GFXStateBlockData( AL_VectorLightState )
    cullMode = GFXCullNone;
    
    stencilDefined = true;
-   stencilEnable = true;
-   stencilFailOp = GFXStencilOpKeep;
-   stencilZFailOp = GFXStencilOpKeep;
-   stencilPassOp = GFXStencilOpKeep;
-   stencilFunc = GFXCmpLess;
-   stencilRef = 0;
+   stencilEnable = false;
 };
 
 // Vector Light Material
@@ -102,14 +104,20 @@ new GFXStateBlockData( AL_ConvexLightState )
 {
    blendDefined = true;
    blendEnable = true;
-   blendSrc = GFXBlendSrcAlpha;
+   blendSrc = GFXBlendOne;
    blendDest = GFXBlendOne;
    blendOp = GFXBlendOpAdd;
    
+   colorWriteDefined = true;
+   colorWriteRed = true;
+   colorWriteBlue = true;
+   colorWriteGreen = true;
+   colorWriteAlpha = false; //disable alpha write
+   
    zDefined = true;
    zEnable = true;
    zWriteEnable = false;
-   zFunc = GFXCmpGreaterEqual;
+   zFunc = GFXCmpGreater;
 
    samplersDefined = true;
    samplerStates[0] = SamplerClampPoint;  // G-buffer
@@ -125,12 +133,7 @@ new GFXStateBlockData( AL_ConvexLightState )
    cullMode = GFXCullCW;
    
    stencilDefined = true;
-   stencilEnable = true;
-   stencilFailOp = GFXStencilOpKeep;
-   stencilZFailOp = GFXStencilOpKeep;
-   stencilPassOp = GFXStencilOpKeep;
-   stencilFunc = GFXCmpLess;
-   stencilRef = 0;
+   stencilEnable = false;
 };
 
 // Point Light Material
@@ -297,10 +300,16 @@ new GFXStateBlockData( AL_ProbeState )
 {
    blendDefined = true;
    blendEnable = true;
-   blendSrc = GFXBlendSrcAlpha;
+   blendSrc = GFXBlendSrcAlpha; //TODO change this to GFXBlendOne once probes are done in one pass!
    blendDest = GFXBlendOne;
    blendOp = GFXBlendOpAdd;
    
+   colorWriteDefined = true;
+   colorWriteRed = true;
+   colorWriteBlue = true;
+   colorWriteGreen = true;
+   colorWriteAlpha = true;
+   
    zDefined = true;
    zEnable = true;
    zWriteEnable = false;