| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #include "$ENGINE$/PerCameraData.bslinc"
- mixin ShadowProjectionCommon
- {
- mixin PerCameraData;
- code
- {
- struct VStoFS
- {
- float4 position : SV_POSITION;
- float4 clipSpacePos : TEXCOORD0;
- };
- struct VertexInput
- {
- float3 position : POSITION;
- };
-
- #if NEEDS_TRANSFORM
- [internal]
- cbuffer VertParams
- {
- float4 gPositionAndScale;
- };
- #endif
-
- VStoFS vsmain(VertexInput input)
- {
- VStoFS output;
-
- #if NEEDS_TRANSFORM
- float3 worldPos = input.position.xyz * gPositionAndScale.w + gPositionAndScale.xyz;
- output.clipSpacePos = mul(gMatViewProj, float4(worldPos, 1));
- output.position = output.clipSpacePos;
- #else
- output.clipSpacePos = float4(input.position, 1);
- output.position = float4(input.position, 1);
- #endif
-
- return output;
- }
- };
- };
|