@@ -276,38 +276,23 @@ void InitAndClearBuffer(Camera camera, RenderLoop renderLoop)
276276 {
277277 m_gbufferManager . InitGBuffers ( w , h , cmd ) ;
278278 }
279-
280- cmd . SetRenderTarget ( new RenderTargetIdentifier ( s_CameraColorBuffer ) , new RenderTargetIdentifier ( s_CameraDepthBuffer ) ) ;
281- cmd . ClearRenderTarget ( true , false , new Color ( 0 , 0 , 0 , 0 ) ) ;
282279 renderLoop . ExecuteCommandBuffer ( cmd ) ;
283280 cmd . Dispose ( ) ;
284- }
285281
282+ Utilities . SetRenderTarget ( renderLoop , s_CameraColorBufferRT , s_CameraDepthBufferRT , ClearFlag . ClearDepth ) ;
283+ }
286284
287285 // TEMP: As we are in development and have not all the setup pass we still clear the color in emissive buffer and gbuffer, but this will be removed later.
288286
289287 // Clear HDR target
290288 {
291- var cmd = new CommandBuffer ( ) ;
292- cmd . name = "Clear HDR target" ;
293- cmd . SetRenderTarget ( new RenderTargetIdentifier ( s_CameraColorBuffer ) , new RenderTargetIdentifier ( s_CameraDepthBuffer ) ) ;
294- cmd . ClearRenderTarget ( false , true , new Color ( 0 , 0 , 0 , 0 ) ) ;
295- renderLoop . ExecuteCommandBuffer ( cmd ) ;
296- cmd . Dispose ( ) ;
289+ Utilities . SetRenderTarget ( renderLoop , s_CameraColorBufferRT , s_CameraDepthBufferRT , ClearFlag . ClearColor , Color . black , "Clear HDR target" ) ;
297290 }
298291
299292
300293 // Clear GBuffers
301294 {
302- var cmd = new CommandBuffer ( ) ;
303- cmd . name = "Clear GBuffer" ;
304- // Write into the Camera Depth buffer
305- cmd . SetRenderTarget ( m_gbufferManager . GetGBuffers ( ) , new RenderTargetIdentifier ( s_CameraDepthBuffer ) ) ;
306- // Clear everything
307- // TODO: Clear is not required for color as we rewrite everything, will save performance.
308- cmd . ClearRenderTarget ( false , true , new Color ( 0 , 0 , 0 , 0 ) ) ;
309- renderLoop . ExecuteCommandBuffer ( cmd ) ;
310- cmd . Dispose ( ) ;
295+ Utilities . SetRenderTarget ( renderLoop , m_gbufferManager . GetGBuffers ( ) , s_CameraDepthBufferRT , ClearFlag . ClearColor , Color . black , "Clear GBuffer" ) ;
311296 }
312297
313298 // END TEMP
@@ -348,13 +333,9 @@ void RenderDepthPrepass(CullResults cull, Camera camera, RenderLoop renderLoop)
348333 if ( ! debugParameters . useDepthPrepass )
349334 return ;
350335
351- // TODO: Must do opaque then alpha masked for performance!
336+ // TODO: Must do opaque then alpha masked for performance!
352337 // TODO: front to back for opaque and by materal for opaque tested when we split in two
353- var cmd = new CommandBuffer { name = "Depth Prepass" } ;
354- cmd . SetRenderTarget ( new RenderTargetIdentifier ( s_CameraDepthBuffer ) ) ;
355- renderLoop . ExecuteCommandBuffer ( cmd ) ;
356- cmd . Dispose ( ) ;
357-
338+ Utilities . SetRenderTarget ( renderLoop , s_CameraDepthBufferRT , "Depth Prepass" ) ;
358339 RenderOpaqueRenderList ( cull , camera , renderLoop , "DepthOnly" ) ;
359340 }
360341
@@ -366,11 +347,7 @@ void RenderGBuffer(CullResults cull, Camera camera, RenderLoop renderLoop)
366347 }
367348
368349 // setup GBuffer for rendering
369- var cmd = new CommandBuffer { name = "GBuffer Pass" } ;
370- cmd . SetRenderTarget ( m_gbufferManager . GetGBuffers ( ) , new RenderTargetIdentifier ( s_CameraDepthBuffer ) ) ;
371- renderLoop . ExecuteCommandBuffer ( cmd ) ;
372- cmd . Dispose ( ) ;
373-
350+ Utilities . SetRenderTarget ( renderLoop , m_gbufferManager . GetGBuffers ( ) , s_CameraDepthBufferRT , "GBuffer Pass" ) ;
374351 // render opaque objects into GBuffer
375352 RenderOpaqueRenderList ( cull , camera , renderLoop , "GBuffer" , Utilities . kRendererConfigurationBakedLighting ) ;
376353 }
@@ -383,23 +360,15 @@ void RenderForwardOpaqueDepth(CullResults cull, Camera camera, RenderLoop render
383360 return ;
384361
385362 // TODO: Use the render queue index to only send the forward opaque!
386- var cmd = new CommandBuffer { name = "Depth Prepass" } ;
387- cmd . SetRenderTarget ( new RenderTargetIdentifier ( s_CameraDepthBuffer ) ) ;
388- renderLoop . ExecuteCommandBuffer ( cmd ) ;
389- cmd . Dispose ( ) ;
390-
363+ Utilities . SetRenderTarget ( renderLoop , s_CameraDepthBufferRT , "Clear HDR target" ) ;
391364 RenderOpaqueRenderList ( cull , camera , renderLoop , "DepthOnly" ) ;
392365 }
393366
394367 void RenderDebugViewMaterial ( CullResults cull , Camera camera , RenderLoop renderLoop )
395368 {
396369 // Render Opaque forward
397370 {
398- var cmd = new CommandBuffer { name = "DebugView Material Mode Pass" } ;
399- cmd . SetRenderTarget ( new RenderTargetIdentifier ( s_CameraColorBuffer ) , new RenderTargetIdentifier ( s_CameraDepthBuffer ) ) ;
400- cmd . ClearRenderTarget ( true , true , new Color ( 0 , 0 , 0 , 0 ) ) ;
401- renderLoop . ExecuteCommandBuffer ( cmd ) ;
402- cmd . Dispose ( ) ;
371+ Utilities . SetRenderTarget ( renderLoop , s_CameraColorBufferRT , s_CameraDepthBufferRT , Utilities . kClearAll , Color . black , "DebugView Material Mode Pass" ) ;
403372
404373 Shader . SetGlobalInt ( "_DebugViewMaterial" , ( int ) debugParameters . debugViewMaterial ) ;
405374
@@ -416,7 +385,7 @@ void RenderDebugViewMaterial(CullResults cull, Camera camera, RenderLoop renderL
416385 // m_gbufferManager.BindBuffers(m_DeferredMaterial);
417386 // TODO: Bind depth textures
418387 var cmd = new CommandBuffer { name = "GBuffer Debug Pass" } ;
419- cmd . Blit ( null , new RenderTargetIdentifier ( s_CameraColorBuffer ) , m_DebugViewMaterialGBuffer , 0 ) ;
388+ cmd . Blit ( null , s_CameraColorBufferRT , m_DebugViewMaterialGBuffer , 0 ) ;
420389 renderLoop . ExecuteCommandBuffer ( cmd ) ;
421390 cmd . Dispose ( ) ;
422391 }
@@ -429,7 +398,7 @@ void RenderDebugViewMaterial(CullResults cull, Camera camera, RenderLoop renderL
429398 // Last blit
430399 {
431400 var cmd = new CommandBuffer { name = "Blit DebugView Material Debug" } ;
432- cmd . Blit ( new RenderTargetIdentifier ( s_CameraColorBuffer ) , BuiltinRenderTextureType . CameraTarget ) ;
401+ cmd . Blit ( s_CameraColorBufferRT , BuiltinRenderTextureType . CameraTarget ) ;
433402 renderLoop . ExecuteCommandBuffer ( cmd ) ;
434403 cmd . Dispose ( ) ;
435404 }
@@ -469,7 +438,7 @@ void RenderDeferredLighting(Camera camera, RenderLoop renderLoop)
469438 // m_gbufferManager.BindBuffers(m_DeferredMaterial);
470439 // TODO: Bind depth textures
471440 var cmd = new CommandBuffer { name = "Deferred Ligthing Pass" } ;
472- cmd . Blit ( null , new RenderTargetIdentifier ( s_CameraColorBuffer ) , m_DeferredMaterial , 0 ) ;
441+ cmd . Blit ( null , s_CameraColorBufferRT , m_DeferredMaterial , 0 ) ;
473442 renderLoop . ExecuteCommandBuffer ( cmd ) ;
474443 cmd . Dispose ( ) ;
475444 }
@@ -484,10 +453,7 @@ void RenderForward(CullResults cullResults, Camera camera, RenderLoop renderLoop
484453 // Bind material data
485454 m_LitRenderLoop . Bind ( ) ;
486455
487- var cmd = new CommandBuffer { name = "Forward Pass" } ;
488- cmd . SetRenderTarget ( new RenderTargetIdentifier ( s_CameraColorBuffer ) , new RenderTargetIdentifier ( s_CameraDepthBuffer ) ) ;
489- renderLoop . ExecuteCommandBuffer ( cmd ) ;
490- cmd . Dispose ( ) ;
456+ Utilities . SetRenderTarget ( renderLoop , s_CameraColorBufferRT , s_CameraDepthBufferRT , "Forward Pass" ) ;
491457
492458 if ( debugParameters . useForwardRenderingOnly )
493459 {
@@ -502,11 +468,7 @@ void RenderForwardUnlit(CullResults cullResults, Camera camera, RenderLoop rende
502468 // Bind material data
503469 m_LitRenderLoop . Bind ( ) ;
504470
505- var cmd = new CommandBuffer { name = "Forward Unlit Pass" } ;
506- cmd . SetRenderTarget ( new RenderTargetIdentifier ( s_CameraColorBuffer ) , new RenderTargetIdentifier ( s_CameraDepthBuffer ) ) ;
507- renderLoop . ExecuteCommandBuffer ( cmd ) ;
508- cmd . Dispose ( ) ;
509-
471+ Utilities . SetRenderTarget ( renderLoop , s_CameraColorBufferRT , s_CameraDepthBufferRT , "Forward Unlit Pass" ) ;
510472 RenderOpaqueRenderList ( cullResults , camera , renderLoop , "ForwardUnlit" ) ;
511473 RenderTransparentRenderList ( cullResults , camera , renderLoop , "ForwardUnlit" ) ;
512474 }
@@ -524,7 +486,7 @@ void RenderVelocity(CullResults cullResults, Camera camera, RenderLoop renderLoo
524486
525487 var cmd = new CommandBuffer { name = "Velocity Pass" } ;
526488 cmd . GetTemporaryRT ( s_VelocityBuffer , w , h , 0 , FilterMode . Point , Builtin . RenderLoop . GetVelocityBufferFormat ( ) , Builtin . RenderLoop . GetVelocityBufferReadWrite ( ) ) ;
527- cmd . SetRenderTarget ( new RenderTargetIdentifier ( s_VelocityBuffer ) , new RenderTargetIdentifier ( s_CameraDepthBuffer ) ) ;
489+ cmd . SetRenderTarget ( s_VelocityBufferRT , s_CameraDepthBufferRT ) ;
528490 renderLoop . ExecuteCommandBuffer ( cmd ) ;
529491 cmd . Dispose ( ) ;
530492
@@ -539,7 +501,7 @@ void RenderDistortion(CullResults cullResults, Camera camera, RenderLoop renderL
539501
540502 var cmd = new CommandBuffer { name = "Distortion Pass" } ;
541503 cmd . GetTemporaryRT ( s_DistortionBuffer , w , h , 0 , FilterMode . Point , Builtin . RenderLoop . GetDistortionBufferFormat ( ) , Builtin . RenderLoop . GetDistortionBufferReadWrite ( ) ) ;
542- cmd . SetRenderTarget ( new RenderTargetIdentifier ( s_DistortionBuffer ) , new RenderTargetIdentifier ( s_CameraDepthBuffer ) ) ;
504+ cmd . SetRenderTarget ( s_DistortionBufferRT , s_CameraDepthBufferRT ) ;
543505 renderLoop . ExecuteCommandBuffer ( cmd ) ;
544506 cmd . Dispose ( ) ;
545507
@@ -573,7 +535,7 @@ void FinalPass(RenderLoop renderLoop)
573535 var cmd = new CommandBuffer { name = "FinalPass" } ;
574536
575537 // Resolve our HDR texture to CameraTarget.
576- cmd . Blit ( new RenderTargetIdentifier ( s_CameraColorBuffer ) , BuiltinRenderTextureType . CameraTarget , m_FinalPassMaterial , 0 ) ;
538+ cmd . Blit ( s_CameraColorBufferRT , BuiltinRenderTextureType . CameraTarget , m_FinalPassMaterial , 0 ) ;
577539 renderLoop . ExecuteCommandBuffer ( cmd ) ;
578540 cmd . Dispose ( ) ;
579541 }
0 commit comments