@@ -307,41 +307,47 @@ public void ClearAllActive(bool clearAll)
307307
308308 internal void DispatchProbePropagation ( ScriptableRenderContext renderContext , HDCamera hdCamera , CommandBuffer cmd , ProbeVolumeHandle probeVolume , ProbeDynamicGI giSettings , in ShaderVariablesGlobal shaderGlobals , RTHandle probeVolumeAtlasSHRTHandle )
309309 {
310- if ( probeVolume . parameters . supportDynamicGI
311- && probeVolume . IsDataAssigned ( )
312- && probeVolume . HasNeighbors ( )
313- && probeVolume . GetProbeVolumeEngineDataIndex ( ) >= 0 )
310+ if ( hdCamera . camera . cameraType == CameraType . Game || hdCamera . camera . cameraType == CameraType . SceneView )
314311 {
315- InitializePropagationBuffers ( probeVolume ) ;
316-
317- if ( giSettings . clear . value || _clearAllActive )
312+ if ( probeVolume . parameters . supportDynamicGI
313+ && probeVolume . IsDataAssigned ( )
314+ && probeVolume . HasNeighbors ( )
315+ && probeVolume . GetProbeVolumeEngineDataIndex ( ) >= 0 )
318316 {
319- ClearRadianceCache ( probeVolume ) ;
320- }
317+ InitializePropagationBuffers ( probeVolume ) ;
321318
322- DispatchPropagationHits ( cmd , probeVolume , in giSettings ) ;
323- DispatchPropagationAxes ( cmd , probeVolume , in giSettings ) ;
324- DispatchPropagationCombine ( cmd , probeVolume , in giSettings , in shaderGlobals , probeVolumeAtlasSHRTHandle ) ;
325- probeVolume . propagationBuffers . SwapRadianceCaches ( ) ;
326- }
327- else
328- {
329- if ( CleanupPropagation ( probeVolume ) )
319+ if ( giSettings . clear . value || _clearAllActive )
320+ {
321+ ClearRadianceCache ( probeVolume ) ;
322+ }
323+
324+ DispatchPropagationHits ( cmd , probeVolume , in giSettings ) ;
325+ DispatchPropagationAxes ( cmd , probeVolume , in giSettings ) ;
326+ DispatchPropagationCombine ( cmd , probeVolume , in giSettings , in shaderGlobals , probeVolumeAtlasSHRTHandle ) ;
327+ probeVolume . propagationBuffers . SwapRadianceCaches ( ) ;
328+ }
329+ else
330330 {
331- // trigger an update so original bake data gets set since Dynamic GI was disabled
332- probeVolume . SetDataUpdated ( true ) ;
331+ if ( CleanupPropagation ( probeVolume ) )
332+ {
333+ // trigger an update so original bake data gets set since Dynamic GI was disabled
334+ probeVolume . SetDataUpdated ( true ) ;
335+ }
333336 }
334337 }
335338 }
336339
337340 internal void ClearProbePropagation ( ScriptableRenderContext renderContext , HDCamera hdCamera , CommandBuffer cmd , ProbeVolumeHandle probeVolume , ProbeDynamicGI giSettings , in ShaderVariablesGlobal shaderGlobals , RTHandle probeVolumeAtlasSHRTHandle )
338341 {
339- if ( probeVolume . parameters . supportDynamicGI
340- && probeVolume . IsDataAssigned ( )
341- && probeVolume . HasNeighbors ( )
342- && probeVolume . GetProbeVolumeEngineDataIndex ( ) >= 0 )
342+ if ( hdCamera . camera . cameraType == CameraType . Game || hdCamera . camera . cameraType == CameraType . SceneView )
343343 {
344- DispatchPropagationCombine ( cmd , probeVolume , in giSettings , in shaderGlobals , probeVolumeAtlasSHRTHandle , true ) ;
344+ if ( probeVolume . parameters . supportDynamicGI
345+ && probeVolume . IsDataAssigned ( )
346+ && probeVolume . HasNeighbors ( )
347+ && probeVolume . GetProbeVolumeEngineDataIndex ( ) >= 0 )
348+ {
349+ DispatchPropagationCombine ( cmd , probeVolume , in giSettings , in shaderGlobals , probeVolumeAtlasSHRTHandle , true ) ;
350+ }
345351 }
346352 }
347353
0 commit comments