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

41 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
/*=============================================================================
CustomRenderPassSceneCapture.h: Internal user data for scene capture custom render passes
=============================================================================*/
#include "Rendering/CustomRenderPass.h"
//
// FSceneCaptureCustomRenderPassUserData
//
class FSceneCaptureCustomRenderPassUserData : public ICustomRenderPassUserData
{
public:
IMPLEMENT_CUSTOM_RENDER_PASS_USER_DATA(FSceneCaptureCustomRenderPassUserData);
bool bMainViewFamily = false;
bool bMainViewResolution = false;
bool bMainViewCamera = false;
bool bIgnoreScreenPercentage = false;
FIntPoint SceneTextureDivisor = FIntPoint(1, 1);
FName UserSceneTextureBaseColor;
FName UserSceneTextureNormal;
FName UserSceneTextureSceneColor;
#if !UE_BUILD_SHIPPING
FString CaptureActorName;
#endif
static const FSceneCaptureCustomRenderPassUserData& Get(const FCustomRenderPassBase* CustomRenderPass)
{
const FSceneCaptureCustomRenderPassUserData* UserData = CustomRenderPass->GetUserDataTyped<FSceneCaptureCustomRenderPassUserData>();
return UserData ? *UserData : GDefaultData;
}
private:
// Default data to return if data isn't present, to simplify renderer logic using the data (no need for conditional that data exists everywhere the structure is used)
static FSceneCaptureCustomRenderPassUserData GDefaultData;
};