提交 8cd41354 编写于 作者: M Mr.doob

WebGLState: Removed clearColor, clearDepth and clearStencil.

上级 102497da
...@@ -322,18 +322,6 @@ function WebGLRenderer( parameters ) { ...@@ -322,18 +322,6 @@ function WebGLRenderer( parameters ) {
} }
function glClearColor( r, g, b, a ) {
if ( _premultipliedAlpha === true ) {
r *= a; g *= a; b *= a;
}
state.clearColor( r, g, b, a );
}
function setDefaultGLState() { function setDefaultGLState() {
state.init(); state.init();
...@@ -341,7 +329,7 @@ function WebGLRenderer( parameters ) { ...@@ -341,7 +329,7 @@ function WebGLRenderer( parameters ) {
state.scissor( _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ) ); state.scissor( _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ) );
state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) ); state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) );
glClearColor( _clearColor.r, _clearColor.g, _clearColor.b, _clearAlpha ); state.buffers.color.setClear( _clearColor.r, _clearColor.g, _clearColor.b, _clearAlpha, _premultipliedAlpha );
} }
...@@ -485,7 +473,7 @@ function WebGLRenderer( parameters ) { ...@@ -485,7 +473,7 @@ function WebGLRenderer( parameters ) {
_clearAlpha = alpha !== undefined ? alpha : 1; _clearAlpha = alpha !== undefined ? alpha : 1;
glClearColor( _clearColor.r, _clearColor.g, _clearColor.b, _clearAlpha ); state.buffers.color.setClear( _clearColor.r, _clearColor.g, _clearColor.b, _clearAlpha, _premultipliedAlpha );
}; };
...@@ -499,7 +487,7 @@ function WebGLRenderer( parameters ) { ...@@ -499,7 +487,7 @@ function WebGLRenderer( parameters ) {
_clearAlpha = alpha; _clearAlpha = alpha;
glClearColor( _clearColor.r, _clearColor.g, _clearColor.b, _clearAlpha ); state.buffers.color.setClear( _clearColor.r, _clearColor.g, _clearColor.b, _clearAlpha, _premultipliedAlpha );
}; };
...@@ -1209,11 +1197,11 @@ function WebGLRenderer( parameters ) { ...@@ -1209,11 +1197,11 @@ function WebGLRenderer( parameters ) {
if ( background === null ) { if ( background === null ) {
glClearColor( _clearColor.r, _clearColor.g, _clearColor.b, _clearAlpha ); state.buffers.color.setClear( _clearColor.r, _clearColor.g, _clearColor.b, _clearAlpha, _premultipliedAlpha );
} else if ( background && background.isColor ) { } else if ( background && background.isColor ) {
glClearColor( background.r, background.g, background.b, 1 ); state.buffers.color.setClear( background.r, background.g, background.b, 1, _premultipliedAlpha );
forceClear = true; forceClear = true;
} }
...@@ -1742,7 +1730,7 @@ function WebGLRenderer( parameters ) { ...@@ -1742,7 +1730,7 @@ function WebGLRenderer( parameters ) {
material.needsUpdate = true; material.needsUpdate = true;
} else if ( materialProperties.numClippingPlanes !== undefined && } else if ( materialProperties.numClippingPlanes !== undefined &&
( materialProperties.numClippingPlanes !== _clipping.numPlanes || ( materialProperties.numClippingPlanes !== _clipping.numPlanes ||
materialProperties.numIntersection !== _clipping.numIntersection ) ) { materialProperties.numIntersection !== _clipping.numIntersection ) ) {
material.needsUpdate = true; material.needsUpdate = true;
......
...@@ -115,7 +115,7 @@ function WebGLShadowMap( _renderer, _lights, _objects, capabilities ) { ...@@ -115,7 +115,7 @@ function WebGLShadowMap( _renderer, _lights, _objects, capabilities ) {
if ( _lightShadows.length === 0 ) return; if ( _lightShadows.length === 0 ) return;
// Set GL state for depth map. // Set GL state for depth map.
_state.clearColor( 1, 1, 1, 1 ); _state.buffers.color.setClear( 1, 1, 1, 1 );
_state.disable( _gl.BLEND ); _state.disable( _gl.BLEND );
_state.setDepthTest( true ); _state.setDepthTest( true );
_state.setScissorTest( false ); _state.setScissorTest( false );
......
...@@ -34,7 +34,13 @@ function WebGLState( gl, extensions, paramThreeToGL ) { ...@@ -34,7 +34,13 @@ function WebGLState( gl, extensions, paramThreeToGL ) {
}, },
setClear: function ( r, g, b, a ) { setClear: function ( r, g, b, a, premultipliedAlpha ) {
if ( premultipliedAlpha === true ) {
r *= a; g *= a; b *= a;
}
color.set( r, g, b, a ); color.set( r, g, b, a );
...@@ -369,9 +375,9 @@ function WebGLState( gl, extensions, paramThreeToGL ) { ...@@ -369,9 +375,9 @@ function WebGLState( gl, extensions, paramThreeToGL ) {
function init() { function init() {
clearColor( 0, 0, 0, 1 ); colorBuffer.setClear( 0, 0, 0, 1 );
clearDepth( 1 ); depthBuffer.setClear( 1 );
clearStencil( 0 ); stencilBuffer.setClear( 0 );
enable( gl.DEPTH_TEST ); enable( gl.DEPTH_TEST );
setDepthFunc( LessEqualDepth ); setDepthFunc( LessEqualDepth );
...@@ -850,26 +856,6 @@ function WebGLState( gl, extensions, paramThreeToGL ) { ...@@ -850,26 +856,6 @@ function WebGLState( gl, extensions, paramThreeToGL ) {
} }
// TODO Deprecate
function clearColor( r, g, b, a ) {
colorBuffer.setClear( r, g, b, a );
}
function clearDepth( depth ) {
depthBuffer.setClear( depth );
}
function clearStencil( stencil ) {
stencilBuffer.setClear( stencil );
}
// //
function scissor( scissor ) { function scissor( scissor ) {
...@@ -969,10 +955,6 @@ function WebGLState( gl, extensions, paramThreeToGL ) { ...@@ -969,10 +955,6 @@ function WebGLState( gl, extensions, paramThreeToGL ) {
compressedTexImage2D: compressedTexImage2D, compressedTexImage2D: compressedTexImage2D,
texImage2D: texImage2D, texImage2D: texImage2D,
clearColor: clearColor,
clearDepth: clearDepth,
clearStencil: clearStencil,
scissor: scissor, scissor: scissor,
viewport: viewport, viewport: viewport,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册