MinMaxShader.hx 714 B

123456789101112131415161718192021222324252627282930313233343536
  1. package h3d.shader;
  2. class MinMaxShader extends ScreenShader {
  3. static var SRC = {
  4. @param var texA : Sampler2D;
  5. @param var texB : Sampler2D;
  6. @const var isMax : Bool;
  7. function fragment() {
  8. var a = texA.get(calculatedUV);
  9. var b = texB.get(calculatedUV);
  10. pixelColor = isMax ? max(a,b) : min(a,b);
  11. }
  12. };
  13. }
  14. class CubeMinMaxShader extends ScreenShader {
  15. static var SRC = {
  16. @param var texA : SamplerCube;
  17. @param var texB : SamplerCube;
  18. @const var isMax : Bool;
  19. @param var mat : Mat3;
  20. function fragment() {
  21. var uv = calculatedUV * 2.0 - 1.0;
  22. var dir = vec3(uv , 1) * mat;
  23. var a = texA.get(dir);
  24. var b = texB.get(dir);
  25. pixelColor = isMax ? max(a,b) : min(a,b);
  26. }
  27. };
  28. }