Browse Source

dx buffers

Nicolas Cannasse 8 years ago
parent
commit
e86f2e5f75
2 changed files with 25 additions and 0 deletions
  1. 19 0
      h3d/impl/DirectXDriver.hx
  2. 6 0
      h3d/impl/Driver.hx

+ 19 - 0
h3d/impl/DirectXDriver.hx

@@ -35,4 +35,23 @@ class DirectXDriver extends h3d.impl.Driver {
 		Driver.present();
 	}
 
+	override function allocVertexes(m:ManagedBuffer):VertexBuffer {
+		return dx.Buffer.alloc(m.size * m.stride, Default, VertexBuffer, None, None, m.stride, null);
+	}
+
+	override function allocIndexes( count : Int ) : IndexBuffer {
+		return dx.Buffer.alloc(count << 1, Default, IndexBuffer, None, None, 2, null);
+	}
+
+	override function disposeVertexes(v:VertexBuffer) {
+		v.release();
+	}
+
+	override function disposeIndexes(i:IndexBuffer) {
+		i.release();
+	}
+
+	override function selectShader(shader:hxsl.RuntimeShader) {
+	}
+
 }

+ 6 - 0
h3d/impl/Driver.hx

@@ -36,6 +36,12 @@ typedef VertexBuffer = { b : psgl.GL.Buffer, stride : Int };
 typedef Texture = { t : psgl.GL.Texture, width : Int, height : Int, internalFmt : Int, pixelFmt : Int, bits : Int };
 typedef DepthBuffer = { r : psgl.GL.Renderbuffer };
 typedef Query = { q : psgl.GL.Query, kind : QueryKind };
+#elseif hldx
+typedef IndexBuffer = dx.Buffer;
+typedef VertexBuffer = dx.Buffer;
+typedef Texture = {};
+typedef DepthBuffer = {};
+typedef Query = {};
 #else
 typedef IndexBuffer = {};
 typedef VertexBuffer = {};