39 lines
1011 B
C++
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);
|