// Copyright Epic Games, Inc. All Rights Reserved. /*============================================================================= VolumetricRenderTarget.h =============================================================================*/ #pragma once #include "CoreMinimal.h" #include "EngineDefines.h" #include "RendererInterface.h" #include "RenderResource.h" #include "VolumetricRenderTargetViewStateData.h" class FScene; class FViewInfo; struct FSceneWithoutWaterTextures; struct FMinimalSceneTextures; void InitVolumetricRenderTargetForViews(FRDGBuilder& GraphBuilder, TArrayView Views, const FMinimalSceneTextures& SceneTextures); void ResetVolumetricRenderTargetForViews(FRDGBuilder& GraphBuilder, TArrayView Views); void ReconstructVolumetricRenderTarget( FRDGBuilder& GraphBuilder, TArrayView Views, FRDGTextureRef SceneDepthTexture, FRDGTextureRef HalfResolutionDepthCheckerboardMinMaxTexture, bool bWaitFinishFence); void ComposeVolumetricRenderTargetOverScene( FRDGBuilder& GraphBuilder, TArrayView Views, FRDGTextureRef SceneColorTexture, FRDGTextureRef SceneDepthResolveTexture, bool bShouldRenderSingleLayerWater, const FSceneWithoutWaterTextures& WaterPassData, const FMinimalSceneTextures& SceneTextures); void ComposeVolumetricRenderTargetOverSceneUnderWater( FRDGBuilder& GraphBuilder, TArrayView Views, const FSceneWithoutWaterTextures& WaterPassData, const FMinimalSceneTextures& SceneTextures); void ComposeVolumetricRenderTargetOverSceneForVisualization( FRDGBuilder& GraphBuilder, TArrayView Views, FRDGTextureRef SceneColorTexture, const FMinimalSceneTextures& SceneTextures); bool ShouldViewRenderVolumetricCloudRenderTarget(const FViewInfo& ViewInfo); bool IsVolumetricRenderTargetEnabled(); bool IsVolumetricRenderTargetAsyncCompute();