Files
UnrealEngine/Engine/Source/Runtime/Renderer/Private/Lumen/LumenRadiosity.h
2025-05-18 13:04:45 +08:00

29 lines
950 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "SceneRendering.h"
namespace LumenRadiosity
{
struct FFrameTemporaries
{
bool bIndirectLightingHistoryValid = false;
bool bUseProbeOcclusion = false;
int32 ProbeSpacing = 0;
int32 HemisphereProbeResolution = 0;
FIntPoint ProbeAtlasSize = FIntPoint(0, 0);
FIntPoint ProbeTracingAtlasSize = FIntPoint(0, 0);
FRDGTextureRef TraceRadianceAtlas = nullptr;
FRDGTextureRef TraceHitDistanceAtlas = nullptr;
FRDGTextureRef ProbeSHRedAtlas = nullptr;
FRDGTextureRef ProbeSHGreenAtlas = nullptr;
FRDGTextureRef ProbeSHBlueAtlas = nullptr;
};
bool IsEnabled(const FSceneViewFamily& ViewFamily);
void InitFrameTemporaries(FRDGBuilder& GraphBuilder, const FLumenSceneData& LumenSceneData, const FSceneViewFamily& ViewFamily, const TArray<FViewInfo>& Views, LumenRadiosity::FFrameTemporaries& RadiosityFrameTemporaries);
uint32 GetAtlasDownsampleFactor();
};