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

36 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "ScreenPass.h"
#include "OverridePassSequence.h"
// Returns whether subsurface scattering is globally enabled.
bool IsSubsurfaceEnabled();
// Returns whether subsurface scattering is required for the provided view.
bool IsSubsurfaceRequiredForView(const FViewInfo& View);
// Returns whether checkerboard rendering is enabled for the provided format.
bool IsSubsurfaceCheckerboardFormat(EPixelFormat SceneColorFormat, const FViewInfo& View);
class FSceneTextureParameters;
struct FVisualizeSubsurfaceInputs
{
// [Optional] Render to the specified output. If invalid, a new texture is created and returned.
FScreenPassRenderTarget OverrideOutput;
// [Required] The scene color to composite with the visualization.
FScreenPassTexture SceneColor;
// [Required] The scene textures used to visualize shading models.
TRDGUniformBufferRef<FSceneTextureUniformParameters> SceneTextures = nullptr;
};
FScreenPassTexture AddVisualizeSubsurfacePass(FRDGBuilder& GraphBuilder, const FViewInfo& View, const FVisualizeSubsurfaceInputs& Inputs);
void AddSubsurfacePass(
FRDGBuilder& GraphBuilder,
FSceneTextures& SceneTextures,
TArrayView<const FViewInfo> Views);