You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
1) Allows motion blur to output half and/or quarter res based on what the following passes needs. This avoids adding downsampling passes after 2) Runs FFT bloom on async compute to overlap with all the histogram exposure and local pre exposure stuf 3) Fixes a bug where r.Bloom.HalfResolutionFFT resolution was also dependent r.PostProcessing.QuarterResolutionDownsample Frosty configurations: 1) Configures to use simple 2x2 dowsampling in post processing to be able to use the fast motion blur code path 2) Configures histogram exposure and local exposure to quarter res. #rb none #preflight 616b3f3cf36f7c00011ec1d5 #lockdown michal.valient [FYI] tiago.costa, josie.wang, brian.karis #ROBOMERGE-AUTHOR: guillaume.abadie #ROBOMERGE-SOURCE: CL 17838792 via CL 18003486 via CL 18369468 via CL 18369549 #ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469) [CL 18369594 by guillaume abadie in ue5-release-engine-test branch]
68 lines
1.9 KiB
C++
68 lines
1.9 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "ScreenPass.h"
|
|
|
|
class FSceneDownsampleChain;
|
|
|
|
enum class ELensFlareQuality : uint32
|
|
{
|
|
Disabled,
|
|
Low,
|
|
High,
|
|
VeryHigh,
|
|
MAX
|
|
};
|
|
|
|
ELensFlareQuality GetLensFlareQuality();
|
|
|
|
struct FLensFlareInputs
|
|
{
|
|
static const uint32 LensFlareCountMax = 8;
|
|
|
|
// [Required] The bloom convolution texture. If enabled, this will be composited with lens flares. Otherwise,
|
|
// a transparent black texture is used instead. Either way, the final output texture will use the this texture
|
|
// descriptor and viewport.
|
|
FScreenPassTexture Bloom;
|
|
|
|
// [Required] The scene color input, before bloom, which is used as the source of lens flares.
|
|
// This can be a downsampled input based on the desired quality level.
|
|
FScreenPassTexture Flare;
|
|
|
|
// [Required] The bokeh shape texture to use to blur the lens flares.
|
|
FRHITexture* BokehShapeTexture;
|
|
|
|
// The number of lens flares to render.
|
|
uint32 LensFlareCount = LensFlareCountMax;
|
|
|
|
// The array of per-flare tint colors. Length must be equal to LensFlareCount.
|
|
TArrayView<const FLinearColor> TintColorsPerFlare;
|
|
|
|
// The lens flare tint color to apply to all lens flares.
|
|
FLinearColor TintColor;
|
|
|
|
// The size of the bokeh shape in screen percentage.
|
|
float BokehSizePercent = 0.0f;
|
|
|
|
// Brightness scale of the lens flares.
|
|
float Intensity = 1.0f;
|
|
|
|
// Brightness threshold at which lens flares begin having an effect.
|
|
float Threshold = 1.0f;
|
|
|
|
// Whether to composite lens flares with the scene color input. If false, the result is composited on transparent black.
|
|
bool bCompositeWithBloom = true;
|
|
};
|
|
|
|
using FLensFlareOutputs = FScreenPassTexture;
|
|
|
|
|
|
bool IsLensFlaresEnabled(const FViewInfo& View);
|
|
|
|
// Helper function which pulls inputs from the post process settings of the view.
|
|
FScreenPassTexture AddLensFlaresPass(
|
|
FRDGBuilder& GraphBuilder,
|
|
const FViewInfo& View,
|
|
FScreenPassTexture Bloom,
|
|
const FSceneDownsampleChain& SceneDownsampleChain); |