TriplanarSampler.hx 535 B

12345678910111213141516171819202122232425
  1. package hrt.shgraph.nodes;
  2. using hxsl.Ast;
  3. @name("Triplanar sampler")
  4. @description("Sample a texture using triplanar params")
  5. @width(160)
  6. @group("Math")
  7. class TriplanarSampler extends Sampler {
  8. static var SRC = {
  9. @sginput var texture : Sampler2D;
  10. @sginput var weight : Vec3;
  11. @sginput var uvX : Vec2;
  12. @sginput var uvY : Vec2;
  13. @sginput var uvZ : Vec2;
  14. @sgoutput var RGBA : Vec4;
  15. function fragment() {
  16. RGBA = texture.get(uvX) * weight.x
  17. + texture.get(uvY) * weight.y
  18. + texture.get(uvZ) * weight.z;
  19. }
  20. };
  21. }