提交 d7b06a93 编写于 作者: O oguzeroglu

UnrealBloomPass memory optimization

上级 5ce33263
/**
* @author spidersharma / http://eduperiment.com/
*
*
* Inspired from Unreal Engine
* https://docs.unrealengine.com/latest/INT/Engine/Rendering/PostProcessEffects/Bloom/
*/
......@@ -13,6 +13,9 @@ THREE.UnrealBloomPass = function ( resolution, strength, radius, threshold ) {
this.threshold = threshold;
this.resolution = ( resolution !== undefined ) ? new THREE.Vector2( resolution.x, resolution.y ) : new THREE.Vector2( 256, 256 );
// create color only once here, reuse it later inside the render function
this.reusableColor = new THREE.Color( 0, 0, 0 );
// render targets
var pars = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBAFormat };
this.renderTargetsHorizontal = [];
......@@ -189,7 +192,7 @@ THREE.UnrealBloomPass.prototype = Object.assign( Object.create( THREE.Pass.proto
var oldAutoClear = renderer.autoClear;
renderer.autoClear = false;
renderer.setClearColor( new THREE.Color( 0, 0, 0 ), 0 );
renderer.setClearColor( this.reusableColor, 0 );
if ( maskActive ) renderer.context.disable( renderer.context.STENCIL_TEST );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册