PPEncodeDepth.bsl 603 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include "$ENGINE$\PPBase.bslinc"
  2. #include "$ENGINE$\PerCameraData.bslinc"
  3. technique PPEncodeDepth
  4. {
  5. mixin PPBase;
  6. mixin PerCameraData;
  7. blend
  8. {
  9. target
  10. {
  11. writemask = A;
  12. };
  13. };
  14. code
  15. {
  16. [internal]
  17. cbuffer Params
  18. {
  19. float gNear;
  20. float gFar;
  21. }
  22. SamplerState gInputSamp;
  23. Texture2D gInputTex;
  24. float4 fsmain(VStoFS input) : SV_Target0
  25. {
  26. float deviceZ = gInputTex.Sample(gInputSamp, input.uv0);
  27. float viewZ = convertFromDeviceZ(deviceZ);
  28. float alpha = 1.0f - saturate((viewZ - gNear) / (gFar - gNear));
  29. return float4(0.0f, 0.0f, 0.0f, alpha);
  30. }
  31. };
  32. };