提交 8e605ab3 编写于 作者: M Mugen87

Update builds.

上级 bb118817
......@@ -14512,6 +14512,17 @@
if (currentBoundFramebuffers[target] !== framebuffer) {
gl.bindFramebuffer(target, framebuffer);
currentBoundFramebuffers[target] = framebuffer;
if (isWebGL2) {
// gl.DRAW_FRAMEBUFFER is equivalent to gl.FRAMEBUFFER
if (target === gl.DRAW_FRAMEBUFFER) {
currentBoundFramebuffers[gl.FRAMEBUFFER] = framebuffer;
}
if (target === gl.FRAMEBUFFER) {
currentBoundFramebuffers[gl.DRAW_FRAMEBUFFER] = framebuffer;
}
}
}
}
......@@ -15739,18 +15750,19 @@
function updateMultisampleRenderTarget(renderTarget) {
if (renderTarget.isWebGLMultisampleRenderTarget) {
if (isWebGL2) {
const renderTargetProperties = properties.get(renderTarget);
state.bindFramebuffer(_gl.READ_FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer);
state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER, renderTargetProperties.__webglFramebuffer);
const width = renderTarget.width;
const height = renderTarget.height;
let mask = _gl.COLOR_BUFFER_BIT;
if (renderTarget.depthBuffer) mask |= _gl.DEPTH_BUFFER_BIT;
if (renderTarget.stencilBuffer) mask |= _gl.STENCIL_BUFFER_BIT;
const renderTargetProperties = properties.get(renderTarget);
state.bindFramebuffer(_gl.READ_FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer);
state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER, renderTargetProperties.__webglFramebuffer);
_gl.blitFramebuffer(0, 0, width, height, 0, 0, width, height, mask, _gl.NEAREST);
state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer); // see #18905
state.bindFramebuffer(_gl.READ_FRAMEBUFFER, null);
state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer);
} else {
console.warn('THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.');
}
此差异已折叠。
......@@ -19676,6 +19676,24 @@ function WebGLState( gl, extensions, capabilities ) {
currentBoundFramebuffers[ target ] = framebuffer;
if ( isWebGL2 ) {
// 36009 is equivalent to 36160
if ( target === 36009 ) {
currentBoundFramebuffers[ 36160 ] = framebuffer;
}
if ( target === 36160 ) {
currentBoundFramebuffers[ 36009 ] = framebuffer;
}
}
}
}
......@@ -21470,11 +21488,6 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
if ( isWebGL2 ) {
const renderTargetProperties = properties.get( renderTarget );
state.bindFramebuffer( 36008, renderTargetProperties.__webglMultisampledFramebuffer );
state.bindFramebuffer( 36009, renderTargetProperties.__webglFramebuffer );
const width = renderTarget.width;
const height = renderTarget.height;
let mask = 16384;
......@@ -21482,9 +21495,15 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
if ( renderTarget.depthBuffer ) mask |= 256;
if ( renderTarget.stencilBuffer ) mask |= 1024;
const renderTargetProperties = properties.get( renderTarget );
state.bindFramebuffer( 36008, renderTargetProperties.__webglMultisampledFramebuffer );
state.bindFramebuffer( 36009, renderTargetProperties.__webglFramebuffer );
_gl.blitFramebuffer( 0, 0, width, height, 0, 0, width, height, mask, 9728 );
state.bindFramebuffer( 36160, renderTargetProperties.__webglMultisampledFramebuffer ); // see #18905
state.bindFramebuffer( 36008, null );
state.bindFramebuffer( 36009, renderTargetProperties.__webglMultisampledFramebuffer );
} else {
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册