| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #include "$ENGINE$\GBufferOutput.bslinc"
- #include "$ENGINE$\PerCameraData.bslinc"
- #include "$ENGINE$\PerObjectData.bslinc"
- #include "$ENGINE$\SkinnedVertexInput.bslinc"
- #include "$ENGINE$\NormalVertexInput.bslinc"
- #define USE_BLEND_SHAPES
- #include "$ENGINE$\SkinnedVertexInput.bslinc"
- #include "$ENGINE$\NormalVertexInput.bslinc"
- #undef USE_BLEND_SHAPES
- Technique : base("BasePassCommon") =
- {
- Pass =
- {
- Vertex =
- {
- VStoFS main(VertexInput input)
- {
- VStoFS output;
-
- VertexIntermediate intermediate = getVertexIntermediate(input);
- float4 worldPosition = getVertexWorldPosition(input, intermediate);
-
- output.worldPosition = worldPosition.xyz;
- output.position = mul(gMatViewProj, worldPosition);
- populateVertexOutput(input, intermediate, output);
-
- return output;
- }
- };
-
- Fragment =
- {
- float3 calcWorldNormal(VStoFS input, float3 surfaceNormal)
- {
- float3 tangentToWorldX = input.tangentToWorldX.xyz;
- float3 tangentToWorldZ = input.tangentToWorldZ;
- float3 tangentToWorldY = cross(tangentToWorldZ, tangentToWorldX) * input.tangentToWorldX.w;
-
- float3x3 tangentToWorld = float3x3(tangentToWorldX, tangentToWorldY, tangentToWorldZ);
-
- // Multiplication order flipped because we stored basis vectors as rows
- return normalize(mul(surfaceNormal, tangentToWorld));
- }
- };
- };
- };
- Technique
- : base("BasePass")
- : inherits("GBufferOutput")
- : inherits("PerCameraData")
- : inherits("PerObjectData")
- : inherits("NormalVertexInput")
- : inherits("BasePassCommon") =
- { };
- Technique
- : base("BasePassSkinned")
- : inherits("GBufferOutput")
- : inherits("PerCameraData")
- : inherits("PerObjectData")
- : inherits("SkinnedVertexInput")
- : inherits("BasePassCommon") =
- { };
- Technique
- : base("BasePassMorph")
- : inherits("GBufferOutput")
- : inherits("PerCameraData")
- : inherits("PerObjectData")
- : inherits("MorphVertexInput")
- : inherits("BasePassCommon") =
- { };
- Technique
- : base("BasePassSkinnedMorph")
- : inherits("GBufferOutput")
- : inherits("PerCameraData")
- : inherits("PerObjectData")
- : inherits("SkinnedMorphVertexInput")
- : inherits("BasePassCommon") =
- { };
|