32 lines
1.0 KiB
C
32 lines
1.0 KiB
C
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "PostProcess/PostProcessEyeAdaptation.h"
|
|
#include "ScreenPass.h"
|
|
#include "OverridePassSequence.h"
|
|
#include "Math/Halton.h"
|
|
|
|
BEGIN_SHADER_PARAMETER_STRUCT(FDeviceEncodingOnlyOutputDeviceParameters, )
|
|
SHADER_PARAMETER(FVector3f, InverseGamma)
|
|
SHADER_PARAMETER(uint32, OutputDevice)
|
|
SHADER_PARAMETER(uint32, OutputGamut)
|
|
SHADER_PARAMETER(float, OutputMaxLuminance)
|
|
END_SHADER_PARAMETER_STRUCT()
|
|
|
|
FDeviceEncodingOnlyOutputDeviceParameters GetDeviceEncodingOnlyOutputDeviceParameters(const FSceneViewFamily& Family);
|
|
|
|
struct FDeviceEncodingOnlyInputs
|
|
{
|
|
// [Optional] Render to the specified output. If invalid, a new texture is created and returned.
|
|
FScreenPassRenderTarget OverrideOutput;
|
|
|
|
// [Required] HDR scene color to tonemap.
|
|
FScreenPassTexture SceneColor;
|
|
|
|
// Whether to leave the final output in HDR.
|
|
bool bOutputInHDR = false;
|
|
};
|
|
|
|
FScreenPassTexture AddDeviceEncodingOnlyPass(FRDGBuilder& GraphBuilder, const FViewInfo& View, const FDeviceEncodingOnlyInputs& Inputs);
|