| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #ifndef WRITE_VELOCITY
- #define WRITE_VELOCITY 0
- #endif
- #if WRITE_VELOCITY
- #define CLIP_POS 1
- #define PREV_CLIP_POS 1
- #else
- #define CLIP_POS 0
- #define PREV_CLIP_POS 0
- #endif
- #include "$ENGINE$\PerCameraData.bslinc"
- #include "$ENGINE$\PerObjectData.bslinc"
- #include "$ENGINE$\VertexInput.bslinc"
- mixin BasePass
- {
- mixin PerCameraData;
- mixin PerObjectData;
- mixin VertexInput;
- code
- {
- VStoFS vsmain(VertexInput input)
- {
- VStoFS output;
-
- VertexIntermediate intermediate = getVertexIntermediate(input);
- float4 worldPosition = getVertexWorldPosition(input, intermediate);
-
- output.worldPosition = worldPosition.xyz;
- output.position = mul(gMatViewProj, worldPosition);
-
- #if PREV_CLIP_POS
- float4 prevWorldPosition = getPrevVertexWorldPosition(input, intermediate);
- output.prevClipPos = mul(gMatPrevViewProj, prevWorldPosition);
- #endif
-
- populateVertexOutput(input, intermediate, output);
-
- return output;
- }
- };
- };
|