Browse Source

Added forgotten MeshShaderMaterial.js Oops :#

alteredq 14 years ago
parent
commit
de9b681204
1 changed files with 65 additions and 0 deletions
  1. 65 0
      src/materials/MeshShaderMaterial.js

+ 65 - 0
src/materials/MeshShaderMaterial.js

@@ -0,0 +1,65 @@
+/**
+ * @author alteredq / http://alteredqualia.com/
+ *
+ * parameters = {
+ *  fragment_shader: <string>,
+ *  vertex_shader: <string>,
+ *  uniforms: [ "parameter1": value1, "parameter2": value2 ],
+ 
+ *  shading: THREE.SmoothShading,
+ *  blending: THREE.NormalBlending,
+ *  wireframe: <boolean>,
+ *  wireframe_linewidth: <float>
+ * }
+ */
+
+THREE.MeshShaderMaterial = function ( parameters ) {
+
+	this.id = THREE.MeshShaderMaterialCounter.value ++;
+
+	this.fragment_shader = "void main() {}";
+	this.vertex_shader = "void main() {}";
+    this.uniforms = {};
+
+	this.shading = THREE.SmoothShading;
+	this.blending = THREE.NormalBlending;
+
+	this.wireframe = false;
+	this.wireframe_linewidth = 1;
+	this.wireframe_linecap = 'round';
+	this.wireframe_linejoin = 'round';
+
+	if ( parameters ) {
+
+        if ( parameters.fragment_shader !== undefined ) this.fragment_shader = parameters.fragment_shader;
+        if ( parameters.vertex_shader !== undefined ) this.vertex_shader = parameters.vertex_shader;
+
+        if ( parameters.uniforms !== undefined ) this.uniforms = parameters.uniforms;
+
+		if ( parameters.shading !== undefined ) this.shading = parameters.shading;
+		if ( parameters.blending !== undefined ) this.blending = parameters.blending;
+
+		if ( parameters.wireframe !== undefined ) this.wireframe = parameters.wireframe;
+		if ( parameters.wireframe_linewidth !== undefined ) this.wireframe_linewidth = parameters.wireframe_linewidth;
+		if ( parameters.wireframe_linecap !== undefined ) this.wireframe_linecap = parameters.wireframe_linecap;
+		if ( parameters.wireframe_linejoin !== undefined ) this.wireframe_linejoin = parameters.wireframe_linejoin;
+
+	}
+
+	this.toString = function () {
+
+		return 'THREE.MeshShaderMaterial (<br/>' +
+			'id: ' + this.id + '<br/>' +
+        
+			'blending: ' + this.blending + '<br/>' +
+			'wireframe: ' + this.wireframe + '<br/>' +
+			'wireframe_linewidth: ' + this.wireframe_linewidth +'<br/>' +
+			'wireframe_linecap: ' + this.wireframe_linecap +'<br/>' +
+			'wireframe_linejoin: ' + this.wireframe_linejoin +'<br/>' +
+			')';
+
+	};
+
+}
+
+THREE.MeshShaderMaterialCounter = { value: 0 };