Browse Source

Fixed back-to-front sort mode not working in scene passes.
Added skinned, instanced & billboard VS variations to the Basic shader.

Lasse Öörni 13 years ago
parent
commit
57fd5a36a4

+ 4 - 1
Bin/CoreData/Shaders/GLSL/Basic.xml

@@ -2,11 +2,14 @@
     <shader type="vs">
         <option name="Diff" define="DIFFMAP" />
         <option name="VCol" define="VERTEXCOLOR" />
+        <variation name="" />
+        <variation name="Skinned" define="SKINNED" />
+        <variation name="Billboard" define="BILLBOARD" />
     </shader>
     <shader type="ps">
         <option name="Diff" define="DIFFMAP" exclude="Alpha" />
         <option name="Alpha" define="ALPHAMAP" exclude="Diff" />
-        <option name="AlphaMask" define="ALPHAMASK" require="DIFFMAP" />        
+        <option name="AlphaMask" define="ALPHAMASK" require="DIFFMAP" />
         <option name="VCol" define="VERTEXCOLOR" />
     </shader>
 </shaders>

+ 10 - 0
Bin/CoreData/Shaders/HLSL/Basic.hlsl

@@ -3,6 +3,16 @@
 #include "Transform.hlsl"
 
 void VS(float4 iPos : POSITION,
+    #ifdef SKINNED
+        float4 iBlendWeights : BLENDWEIGHT,
+        int4 iBlendIndices : BLENDINDICES,
+    #endif
+    #ifdef INSTANCED
+        float4x3 iModelInstance : TEXCOORD2,
+    #endif
+    #ifdef BILLBOARD
+        float2 iSize : TEXCOORD1,
+    #endif
     #ifdef DIFFMAP
         float2 iTexCoord : TEXCOORD0,
     #endif

+ 4 - 0
Bin/CoreData/Shaders/HLSL/Basic.xml

@@ -2,6 +2,10 @@
     <shader type="vs">
         <option name="Diff" define="DIFFMAP" />
         <option name="VCol" define="VERTEXCOLOR" />
+        <variation name="" />
+        <variation name="Skinned" define="SKINNED" />
+        <variation name="Instanced" define="INSTANCED" require="SM3" />
+        <variation name="Billboard" define="BILLBOARD" />
     </shader>
     <shader type="ps">
         <option name="Diff" define="DIFFMAP" exclude="Alpha" />

+ 1 - 1
Bin/CoreData/Techniques/NoTextureOverlay.xml

@@ -1,3 +1,3 @@
 <technique>
-    <pass name="postalpha" vs="Basic" ps="Basic" depthtest="always" depthwrite="false"/>
+    <pass name="postalpha" vs="Basic" ps="Basic" depthtest="always" depthwrite="false" />
 </technique>

+ 1 - 1
Engine/Graphics/RenderPath.cpp

@@ -44,7 +44,7 @@ static const String commandTypeNames[] =
 
 static const String sortModeNames[] =
 {
-    "fronttoback"
+    "fronttoback",
     "backtofront",
     ""
 };