@@ -142,6 +142,12 @@ var SSRrPass = function ( { renderer, scene, camera, width, height, selects, enc
142142		depthBuffer : true 
143143	}  ) ; 
144144
145+ 	this . beautyRenderTargetBunny  =  new  WebGLRenderTarget (  this . width ,  this . height ,  {  // TODO: Can merge with metalnessRenderTarget? 
146+ 		minFilter : LinearFilter , 
147+ 		magFilter : LinearFilter , 
148+ 		format : RGBAFormat , 
149+ 	}  ) ; 
150+ 
145151	// normal render target 
146152
147153	this . normalRenderTarget  =  new  WebGLRenderTarget (  this . width ,  this . height ,  { 
@@ -192,6 +198,7 @@ var SSRrPass = function ( { renderer, scene, camera, width, height, selects, enc
192198	} 
193199
194200	this . ssrrMaterial . uniforms [  'tDiffuse'  ] . value  =  this . beautyRenderTarget . texture ; 
201+ 	this . ssrrMaterial . uniforms [  'tDiffuseBunny'  ] . value  =  this . beautyRenderTargetBunny . texture ; 
195202	this . ssrrMaterial . uniforms [  'tNormal'  ] . value  =  this . normalRenderTarget . texture ; 
196203	// if (this.isSelective) { 
197204	this . ssrrMaterial . defines . isSelective  =  this . isSelective ; 
@@ -270,6 +277,7 @@ SSRrPass.prototype = Object.assign( Object.create( Pass.prototype ), {
270277		// dispose render targets 
271278
272279		this . beautyRenderTarget . dispose ( ) ; 
280+ 		this . beautyRenderTargetBunny . dispose ( ) ; 
273281		this . normalRenderTarget . dispose ( ) ; 
274282		this . metalnessRenderTarget . dispose ( ) ; 
275283		this . ssrrRenderTarget . dispose ( ) ; 
@@ -317,7 +325,17 @@ SSRrPass.prototype = Object.assign( Object.create( Pass.prototype ), {
317325		mesh_box . visible = true 
318326		mesh_cone . visible = true 
319327		mesh_plane . visible = true 
320- 		renderer . render (  this . scene ,  this . camera  ) ; 
328+ 		renderer . render ( this . scene ,  this . camera ) ; 
329+ 
330+ 		renderer . setRenderTarget (  this . beautyRenderTargetBunny  ) ; 
331+ 		renderer . clear ( ) ; 
332+ 		mesh_bunny . visible = true 
333+ 		mesh_sphere . visible = false 
334+ 		mesh_box . visible = false 
335+ 		mesh_cone . visible = false 
336+ 		mesh_plane . visible = false 
337+ 		renderer . render ( this . scene ,  this . camera ) ; 
338+ 
321339
322340		// render normals 
323341
@@ -352,6 +370,7 @@ SSRrPass.prototype = Object.assign( Object.create( Pass.prototype ), {
352370		this . ssrrMaterial . uniforms [  'ior'  ] . value  =  this . ior ; 
353371		this . ssrrMaterial . uniforms [  'surfDist'  ] . value  =  this . surfDist ; 
354372		this . ssrrMaterial . uniforms [  'thickTolerance'  ] . value  =  this . thickTolerance ; 
373+ 		this . ssrrMaterial . uniforms [  'tDiffuseBunny'  ] . value  =  this . beautyRenderTargetBunny . texture ; 
355374		this . renderPass (  renderer ,  this . ssrrMaterial ,  this . ssrrRenderTarget  ) ; 
356375
357376		// output result to screen 
@@ -517,10 +536,13 @@ SSRrPass.prototype = Object.assign( Object.create( Pass.prototype ), {
517536			} 
518537
519538		} ) ; 
539+ 		this . scene . _background = this . scene . _background 
540+ 		this . scene . background = null 
520541		this . scene . _fog = this . scene . fog  // TODO: Formal writing. 
521542		this . scene . fog = null 
522543		renderer . render ( this . scene ,  this . camera ) ; 
523544		this . scene . fog = this . scene . _fog 
545+ 		this . scene . background = this . scene . _background 
524546		this . scene . traverse (  child  =>  { 
525547
526548			child . material  =  child . _SSRPassMaterialBack ; 
@@ -543,6 +565,7 @@ SSRrPass.prototype = Object.assign( Object.create( Pass.prototype ), {
543565		this . ssrrMaterial . defines . MAX_STEP  =  Math . sqrt (  width  *  width  +  height  *  height  ) ; 
544566		this . ssrrMaterial . needsUpdate  =  true ; 
545567		this . beautyRenderTarget . setSize (  width ,  height  ) ; 
568+ 		this . beautyRenderTargetBunny . setSize (  width ,  height  ) ; 
546569		this . ssrrRenderTarget . setSize (  width ,  height  ) ; 
547570		this . normalRenderTarget . setSize (  width ,  height  ) ; 
548571
0 commit comments