提交 1c215af2 编写于 作者: M Mr.doob

Updated builds.

上级 6271069c
......@@ -15011,14 +15011,22 @@ THREE.ImageLoader.prototype = {
if ( cached !== undefined ) {
scope.manager.itemStart( url );
if ( onLoad ) {
setTimeout( function () {
onLoad( cached );
scope.manager.itemEnd( url );
}, 0 );
} else {
scope.manager.itemEnd( url );
}
return cached;
......@@ -23456,7 +23464,7 @@ THREE.WebGLRenderer = function ( parameters ) {
}
uniforms.shadowMatrix.value[ j ] = light.shadowMatrix;
uniforms.shadowMap.value[ j ] = light.shadowMap;
uniforms.shadowMap.value[ j ] = light.shadowMap;
uniforms.shadowMapSize.value[ j ] = light.shadowMapSize;
uniforms.shadowBias.value[ j ] = light.shadowBias;
......@@ -23821,7 +23829,7 @@ THREE.WebGLRenderer = function ( parameters ) {
if ( ! texture ) continue;
if ( texture instanceof THREE.CubeTexture ||
( texture.image instanceof Array && texture.image.length === 6 ) ) {
( texture.image instanceof Array && texture.image.length === 6 ) ) {
// CompressedTexture can have Array in image :/
......@@ -24635,7 +24643,7 @@ THREE.WebGLRenderer = function ( parameters ) {
if ( isCube ) {
var textureProperties = properties.get( renderTarget.texture );
_gl.framebufferTexture2D( _gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + renderTarget.activeCubeFace, textureProperties.__webglTexture, 0 );
_gl.framebufferTexture2D( _gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + renderTarget.activeCubeFace, textureProperties.__webglTexture, 0 );
}
......@@ -24644,54 +24652,68 @@ THREE.WebGLRenderer = function ( parameters ) {
};
this.readRenderTargetPixels = function( renderTarget, x, y, width, height, buffer ) {
this.readRenderTargetPixels = function ( renderTarget, x, y, width, height, buffer ) {
if ( ! ( renderTarget instanceof THREE.WebGLRenderTarget ) ) {
if ( renderTarget instanceof THREE.WebGLRenderTarget === false ) {
console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.' );
return;
}
if ( properties.get( renderTarget ).__webglFramebuffer ) {
var framebuffer = properties.get( renderTarget ).__webglFramebuffer;
if ( framebuffer ) {
var restore = false;
if ( properties.get( renderTarget ).__webglFramebuffer !== _currentFramebuffer ) {
if ( framebuffer !== _currentFramebuffer ) {
_gl.bindFramebuffer( _gl.FRAMEBUFFER, properties.get( renderTarget ).__webglFramebuffer );
_gl.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer );
restore = true;
}
if ( renderTarget.texture.format !== THREE.RGBAFormat && paramThreeToGL( renderTarget.texture.format ) !== _gl.getParameter( _gl.IMPLEMENTATION_COLOR_READ_FORMAT ) ) {
try {
console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.' );
return;
var texture = renderTarget.texture;
}
if ( texture.format !== THREE.RGBAFormat
&& paramThreeToGL( texture.format ) !== _gl.getParameter( _gl.IMPLEMENTATION_COLOR_READ_FORMAT ) ) {
if ( renderTarget.texture.type !== THREE.UnsignedByteType && paramThreeToGL( renderTarget.texture.type ) !== _gl.getParameter( _gl.IMPLEMENTATION_COLOR_READ_TYPE ) ) {
console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.' );
return;
console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.' );
return;
}
}
if ( texture.type !== THREE.UnsignedByteType
&& paramThreeToGL( texture.type ) !== _gl.getParameter( _gl.IMPLEMENTATION_COLOR_READ_TYPE )
&& ! ( texture.type === THREE.FloatType && extensions.get( 'WEBGL_color_buffer_float' ) )
&& ! ( texture.type === THREE.HalfFloatType && extensions.get( 'EXT_color_buffer_half_float' ) ) ) {
if ( _gl.checkFramebufferStatus( _gl.FRAMEBUFFER ) === _gl.FRAMEBUFFER_COMPLETE ) {
console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.' );
return;
_gl.readPixels( x, y, width, height, paramThreeToGL( renderTarget.texture.format ), paramThreeToGL( renderTarget.texture.type ), buffer );
}
} else {
if ( _gl.checkFramebufferStatus( _gl.FRAMEBUFFER ) === _gl.FRAMEBUFFER_COMPLETE ) {
console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.' );
_gl.readPixels( x, y, width, height, paramThreeToGL( texture.format ), paramThreeToGL( texture.type ), buffer );
}
} else {
if ( restore ) {
console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.' );
_gl.bindFramebuffer( _gl.FRAMEBUFFER, _currentFramebuffer );
}
} finally {
if ( restore ) {
_gl.bindFramebuffer( _gl.FRAMEBUFFER, _currentFramebuffer );
}
}
......
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册