Răsfoiți Sursa

* added traits

* gl.Texture is now a template
Zoadian 12 ani în urmă
părinte
comite
8d2e4e36aa
2 a modificat fișierele cu 14 adăugiri și 3 ștergeri
  1. 7 0
      source/three/gl/texture.d
  2. 7 3
      source/three/gl/vbo.d

+ 7 - 0
source/three/gl/texture.d

@@ -204,6 +204,9 @@ public:
 
 
 
+private void _isTextureUnit(T...)(TextureUnit!(T) t) {}
+enum isTextureUnit(T) = is(typeof(_isTextureUnit(T.init)));
+
 
 
 
@@ -333,3 +336,7 @@ public:
 		return (this._id > 0);
 	}
 }
+
+
+private void _isTexture(T...)(Texture!(T) t) {}
+enum isTexture(T) = is(typeof(_isTexture(T.init)));

+ 7 - 3
source/three/gl/vbo.d

@@ -48,7 +48,7 @@ enum BufferUsageHint {
 
 //==============================================================================
 ///
-final class VertexBufferObject {
+final class VertexBufferObject(VertexBufferObjectTarget target) {
 private:
 	uint _id;
 
@@ -65,12 +65,12 @@ public:
 	
 public:		 
 	///
-	void bind(VertexBufferObjectTarget target) { 
+	void bind() { 
 		check!glBindBuffer(target, this._id);
 	}
 
 	///
-	static unbind(VertexBufferObjectTarget target = VertexBufferObjectTarget.Array) { 
+	static unbind() { 
 		check!glBindBuffer(target, 0);
 	}  
 	
@@ -80,3 +80,7 @@ public:
 		return (this._id > 0);
 	}
 }
+
+
+private void _isVertexBufferObject(T...)(VertexBufferObject!(T) t) {}
+enum isVertexBufferObject(T) = is(typeof(_isVertexBufferObject(T.init)));