Random.hx 738 B

123456789101112131415161718192021222324252627
  1. package hrt.shgraph;
  2. @name("Random")
  3. @description("[CURRENTLY BROKEN] Generate a random value between min and max using the given seed")
  4. @group("Channel")
  5. class Random extends ShaderNodeHxsl {
  6. static var SRC = {
  7. @sginput("calculatedUV") var seed : Vec2;
  8. @sginput(0.0) var min : Float;
  9. @sginput(1.0) var max : Float;
  10. @sgoutput var output : Float;
  11. // shadernodeHsxl support for other functions is currently broken
  12. // function pcg(v : Int) : Int
  13. // {
  14. // var state : Int = v * 0x2C9277B5 + 0xAC564B05;
  15. // var word = ((state >>> ((state >>> 28) + 4)) ^ state) * 0x108EF2D9;
  16. // return (word >>> 22) ^ word;
  17. // }
  18. function fragment() {
  19. //var rand = pcg(pcg(int(seed.x)) + int(seed.y));
  20. output = 0.0;
  21. }
  22. }
  23. }