BasePass.bslinc 974 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef WRITE_VELOCITY
  2. #define WRITE_VELOCITY 0
  3. #endif
  4. #if WRITE_VELOCITY
  5. #define CLIP_POS 1
  6. #define PREV_CLIP_POS 1
  7. #else
  8. #define CLIP_POS 0
  9. #define PREV_CLIP_POS 0
  10. #endif
  11. #include "$ENGINE$\PerCameraData.bslinc"
  12. #include "$ENGINE$\PerObjectData.bslinc"
  13. #include "$ENGINE$\VertexInput.bslinc"
  14. mixin BasePass
  15. {
  16. mixin PerCameraData;
  17. mixin PerObjectData;
  18. mixin VertexInput;
  19. code
  20. {
  21. VStoFS vsmain(VertexInput input)
  22. {
  23. VStoFS output;
  24. VertexIntermediate intermediate = getVertexIntermediate(input);
  25. float4 worldPosition = getVertexWorldPosition(input, intermediate);
  26. output.worldPosition = worldPosition.xyz;
  27. output.position = mul(gMatViewProj, worldPosition);
  28. #if PREV_CLIP_POS
  29. float4 prevWorldPosition = getPrevVertexWorldPosition(input, intermediate);
  30. output.prevClipPos = mul(gMatPrevViewProj, prevWorldPosition);
  31. #endif
  32. populateVertexOutput(input, intermediate, output);
  33. return output;
  34. }
  35. };
  36. };