Buffers.hx 780 B

123456789101112131415161718192021222324252627282930313233
  1. package h3d.shader;
  2. @:enum abstract BufferKind(Int) {
  3. public var Globals = 0;
  4. public var Params = 1;
  5. public var Textures = 2;
  6. }
  7. class ShaderBuffers {
  8. public var globals : haxe.ds.Vector<Float>;
  9. public var params : haxe.ds.Vector<Float>;
  10. public var tex : haxe.ds.Vector<h3d.mat.Texture>;
  11. public function new( s : hxsl.RuntimeShader.RuntimeShaderData ) {
  12. globals = new haxe.ds.Vector(s.globalsSize<<2);
  13. params = new haxe.ds.Vector(s.paramsSize<<2);
  14. tex = new haxe.ds.Vector(s.textures.length);
  15. }
  16. }
  17. class Buffers {
  18. public var vertex : ShaderBuffers;
  19. public var fragment : ShaderBuffers;
  20. public function new( s : hxsl.RuntimeShader ) {
  21. vertex = new ShaderBuffers(s.vertex);
  22. fragment = new ShaderBuffers(s.fragment);
  23. }
  24. }