From baaf135f5ebf1198a311d563bf0797f70fc26302 Mon Sep 17 00:00:00 2001 From: qiweicao Date: Thu, 6 Jun 2024 10:47:08 +0800 Subject: [PATCH] transition rendertarget use same size of renderer (#150) --- src/renderers/WebGLRenderer.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js index 75f4518b82b705..b5e8089efbbbc6 100644 --- a/src/renderers/WebGLRenderer.js +++ b/src/renderers/WebGLRenderer.js @@ -15,6 +15,7 @@ import { import { platform } from '../platform.js'; import { Frustum } from '../math/Frustum.js'; import { Matrix4 } from '../math/Matrix4.js'; +import { Vector2 } from '../math/Vector2.js'; import { Vector3 } from '../math/Vector3.js'; import { Vector4 } from '../math/Vector4.js'; import { WebGLAnimation } from './webgl/WebGLAnimation.js'; @@ -170,6 +171,7 @@ function WebGLRenderer( parameters = {} ) { const _projScreenMatrix = new Matrix4(); const _vector3 = new Vector3(); + const _vector2 = new Vector2(); const _emptyScene = { background: null, fog: null, environment: null, overrideMaterial: null, layers: { test: () => false }, children: [], isScene: true, onBeforeRender: function () {}, onAfterRender: function () {} }; @@ -1254,7 +1256,7 @@ function WebGLRenderer( parameters = {} ) { const needsAntialias = _antialias === true && capabilities.isWebGL2 === true; const hasColorBufferHalfFloat = extensions.has( 'EXT_color_buffer_half_float' ) || ( capabilities.isWebGL2 && extensions.has( 'EXT_color_buffer_float' ) ); - _transmissionRenderTarget = new WebGLRenderTarget( 1024, 1024, { + _transmissionRenderTarget = new WebGLRenderTarget( 1, 1, { generateMipmaps: true, type: hasColorBufferHalfFloat ? HalfFloatType : UnsignedByteType, minFilter: LinearMipmapLinearFilter, @@ -1263,6 +1265,9 @@ function WebGLRenderer( parameters = {} ) { } + _this.getDrawingBufferSize( _vector2 ); + _transmissionRenderTarget.setSize( _vector2.x, _vector2.y ); + const currentRenderTarget = _this.getRenderTarget(); _this.setRenderTarget( _transmissionRenderTarget ); _this.clear();