提交 5059d33b 编写于 作者: M Mugen87

add stencil properties to material

上级 9b7b3b9e
......@@ -229,6 +229,8 @@ THREE.Loader.prototype = {
break;
case 'depthTest':
case 'depthWrite':
case 'stencilTest':
case 'stencilWrite':
case 'colorWrite':
case 'opacity':
case 'reflectivity':
......
......@@ -70,6 +70,8 @@ THREE.MaterialLoader.prototype = {
if ( json.alphaTest !== undefined ) material.alphaTest = json.alphaTest;
if ( json.depthTest !== undefined ) material.depthTest = json.depthTest;
if ( json.depthWrite !== undefined ) material.depthWrite = json.depthWrite;
if ( json.stencilTest !== undefined ) material.stencilTest = json.stencilTest;
if ( json.stencilWrite !== undefined ) material.stencilWrite = json.stencilWrite;
if ( json.colorWrite !== undefined ) material.colorWrite = json.colorWrite;
if ( json.wireframe !== undefined ) material.wireframe = json.wireframe;
if ( json.wireframeLinewidth !== undefined ) material.wireframeLinewidth = json.wireframeLinewidth;
......
......@@ -30,6 +30,9 @@ THREE.Material = function () {
this.depthTest = true;
this.depthWrite = true;
this.stencilTest = false;
this.stencilWrite = false;
this.colorWrite = true;
this.precision = null; // override the renderer's default precision for this material
......@@ -257,6 +260,9 @@ THREE.Material.prototype = {
this.depthTest = source.depthTest;
this.depthWrite = source.depthWrite;
this.stencilTest = source.stencilTest;
this.stencilWrite = source.stencilWrite;
this.colorWrite = source.colorWrite;
this.precision = source.precision;
......
......@@ -1191,10 +1191,12 @@ THREE.WebGLRenderer = function ( parameters ) {
}
// Ensure depth buffer writing is enabled so it can be cleared on next render
// Ensure buffer writing is enabled so they can be cleared on next render
state.setDepthTest( true );
state.setDepthWrite( true );
state.setStencilTest( true );
state.setStencilWrite( true );
state.setColorWrite( true );
// _gl.finish();
......@@ -1557,6 +1559,8 @@ THREE.WebGLRenderer = function ( parameters ) {
state.setDepthFunc( material.depthFunc );
state.setDepthTest( material.depthTest );
state.setDepthWrite( material.depthWrite );
state.setStencilTest( material.stencilTest );
state.setStencilWrite( material.stencilWrite );
state.setColorWrite( material.colorWrite );
state.setPolygonOffset( material.polygonOffset, material.polygonOffsetFactor, material.polygonOffsetUnits );
......
......@@ -627,6 +627,7 @@ THREE.WebGLState = function ( gl, extensions, paramThreeToGL ) {
currentBlending = null;
currentDepthWrite = null;
currentStencilWrite = null;
currentColorWrite = null;
currentFlipSided = null;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册