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

39 lines
1011 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Math/MathFwd.h"
#include "ScreenPass.h"
class FEyeAdaptationParameters;
class FLocalExposureParameters;
class FRDGBuffer;
class FRDGBuilder;
class FRDGTexture;
class FViewInfo;
using FRDGBufferRef = FRDGBuffer*;
using FRDGTextureRef = FRDGTexture*;
// Returns whether FFT bloom is enabled for the view.
bool IsFFTBloomEnabled(const FViewInfo& View);
float GetFFTBloomResolutionFraction(const FIntPoint& ViewSize);
struct FFFTBloomOutput
{
FScreenPassTexture BloomTexture;
FRDGBufferRef SceneColorApplyParameters = nullptr;
};
FFFTBloomOutput AddFFTBloomPass(
FRDGBuilder& GraphBuilder,
const FViewInfo& View,
const FScreenPassTextureSlice& InputSceneColor,
float InputResolutionFraction,
const FEyeAdaptationParameters& EyeAdaptationParameters,
FRDGBufferRef EyeAdaptationBuffer,
const FLocalExposureParameters& LocalExposureParameters,
FRDGTextureRef LocalExposureTexture,
FRDGTextureRef BlurredLogLuminanceTexture);