LinearDepth.hx 487 B

123456789101112131415161718192021222324252627
  1. package hrt.shgraph.nodes;
  2. using hxsl.Ast;
  3. @name("Linear Depth")
  4. @description("Linearize depth")
  5. @group("Property")
  6. class LinearDepth extends ShaderNodeHxsl {
  7. static var SRC = {
  8. @sginput var d : Float;
  9. @sgoutput var output : Float;
  10. @global var camera : {
  11. var zNear : Float;
  12. var zFar : Float;
  13. };
  14. var screenUV : Vec2;
  15. function fragment() {
  16. var n = camera.zNear;
  17. var f = camera.zFar;
  18. output = (2 * n * f) / (f + n - (2 * d - 1) * (f - n));
  19. }
  20. };
  21. }