Drawable.hx 641 B

123456789101112131415161718192021222324
  1. package h3d;
  2. /**
  3. A core object is a rendering context but completely outside of the 3d scene.
  4. It is meant to be able to share a rendering context between several similar physical objects.
  5. **/
  6. class Drawable<S:hxsl.Shader> implements IDrawable {
  7. public var shader : S;
  8. public var primitive : h3d.prim.Primitive;
  9. public var material : h3d.mat.Material;
  10. public function new(prim, shader) {
  11. this.primitive = prim;
  12. this.shader = shader;
  13. this.material = new h3d.mat.Material(shader);
  14. }
  15. public function render( engine : h3d.Engine ) {
  16. engine.selectMaterial(material);
  17. primitive.render(engine);
  18. }
  19. }