34 lines
964 B
C
34 lines
964 B
C
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "ScreenPass.h"
|
|
|
|
struct FGaussianBlurInputs
|
|
{
|
|
// Friendly names of the blur passes along the X and Y axis. Used for logging and profiling.
|
|
const TCHAR* NameX = nullptr;
|
|
const TCHAR* NameY = nullptr;
|
|
|
|
// The input texture to be filtered.
|
|
FScreenPassTextureSlice Filter;
|
|
|
|
// The input texture to be added after filtering.
|
|
FScreenPassTexture Additive;
|
|
|
|
// The color to tint when filtering.
|
|
FLinearColor TintColor;
|
|
|
|
// Controls the cross shape of the blur, in both X / Y directions. See r.Bloom.Cross.
|
|
FVector2f CrossCenterWeight = FVector2f::ZeroVector;
|
|
|
|
// The filter kernel size in percentage of the screen.
|
|
float KernelSizePercent = 0.0f;
|
|
|
|
bool UseMirrorAddressMode = false;
|
|
};
|
|
|
|
using FGaussianBlurOutputs = FScreenPassTexture;
|
|
|
|
extern RENDERER_API FGaussianBlurOutputs AddGaussianBlurPass(FRDGBuilder& GraphBuilder, const FViewInfo& View, const FGaussianBlurInputs& Inputs);
|