UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TranslucentPassResource.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "ScreenPass.h"
6#include "SystemTextures.h"
7
8
9// enum instead of bool to get better visibility when we pass around multiple bools, also allows for easier extensions
25
28{
30 FIntRect ViewRect = FIntRect(0, 0, 0, 0);
34
35 inline bool IsValid() const
36 {
37 return ViewRect.Width() > 0 && ViewRect.Height() > 0;
38 }
39
40 inline FRDGTextureRef GetColorForRead(FRDGBuilder& GraphBuilder) const
41 {
42 if (!ColorTexture.IsValid())
43 {
44 return GSystemTextures.GetBlackAlphaOneDummy(GraphBuilder);
45 }
46 return ColorTexture.Resolve;
47 }
48
50 {
52 {
53 return GSystemTextures.GetWhiteDummy(GraphBuilder);
54 }
56 }
57
58 inline FRDGTextureRef GetDepthForRead(FRDGBuilder& GraphBuilder) const
59 {
60 if (!DepthTexture.IsValid())
61 {
62 return GSystemTextures.GetMaxFP16Depth(GraphBuilder);
63 }
64 return DepthTexture.Resolve;
65 }
66
72};
73
76{
78
80 {
81 return Array[ViewIndex][int32(Translucency)];
82 };
83
85 {
86 check(ViewIndex < Array.Num());
87 return Array[ViewIndex][int32(Translucency)];
88 };
89
90private:
92};
93
96{
98
103
104 bool IsValid() const
105 {
106 return TranslucencyPassResourcesMap != nullptr;
107 }
108
110 {
111 check(IsValid());
112 return TranslucencyPassResourcesMap->Get(ViewIndex, Translucency);
113 };
114
115private:
116 const FTranslucencyPassResourcesMap* TranslucencyPassResourcesMap = nullptr;
117 int32 ViewIndex = 0;
118};
#define check(expr)
Definition AssertionMacros.h:314
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::Math::TIntRect< int32 > FIntRect
Definition MathFwd.h:133
TGlobalResource< FSystemTextures > GSystemTextures
Definition SystemTextures.cpp:146
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
const FRDGTextureDesc Desc
Definition RenderGraphResources.h:575
Definition ScreenPass.h:136
Definition Array.h:670
Definition ContainerAllocationPolicies.h:894
Definition TranslucentPassResource.h:11
Type
Definition TranslucentPassResource.h:13
@ TPT_TranslucencyAfterDOF
Definition TranslucentPassResource.h:16
@ TPT_TranslucencyAfterMotionBlur
Definition TranslucentPassResource.h:18
@ TPT_TranslucencyHoldout
Definition TranslucentPassResource.h:19
@ TPT_TranslucencyStandard
Definition TranslucentPassResource.h:14
@ TPT_AllTranslucency
Definition TranslucentPassResource.h:21
@ TPT_TranslucencyStandardModulate
Definition TranslucentPassResource.h:15
@ TPT_MAX
Definition TranslucentPassResource.h:22
@ TPT_TranslucencyAfterDOFModulate
Definition TranslucentPassResource.h:17
Definition RenderGraphUtils.h:288
bool IsValid() const
Definition RenderGraphUtils.h:301
FRDGTextureRef Target
Definition RenderGraphUtils.h:321
FRDGTextureRef Resolve
Definition RenderGraphUtils.h:322
FIntPoint Extent
Definition RHIResources.h:1856
Definition TranslucentPassResource.h:76
FTranslucencyPassResources & Get(int32 ViewIndex, ETranslucencyPass::Type Translucency)
Definition TranslucentPassResource.h:79
const FTranslucencyPassResources & Get(int32 ViewIndex, ETranslucencyPass::Type Translucency) const
Definition TranslucentPassResource.h:84
Definition TranslucentPassResource.h:28
FRDGTextureRef GetColorModulateForRead(FRDGBuilder &GraphBuilder) const
Definition TranslucentPassResource.h:49
FRDGTextureMSAA ColorModulateTexture
Definition TranslucentPassResource.h:32
FRDGTextureMSAA DepthTexture
Definition TranslucentPassResource.h:33
FRDGTextureRef GetColorForRead(FRDGBuilder &GraphBuilder) const
Definition TranslucentPassResource.h:40
FScreenPassTextureViewport GetTextureViewport() const
Definition TranslucentPassResource.h:67
ETranslucencyPass::Type Pass
Definition TranslucentPassResource.h:29
FIntRect ViewRect
Definition TranslucentPassResource.h:30
bool IsValid() const
Definition TranslucentPassResource.h:35
FRDGTextureMSAA ColorTexture
Definition TranslucentPassResource.h:31
FRDGTextureRef GetDepthForRead(FRDGBuilder &GraphBuilder) const
Definition TranslucentPassResource.h:58
Definition TranslucentPassResource.h:96
FTranslucencyViewResourcesMap(const FTranslucencyPassResourcesMap &InTranslucencyPassResourcesMap, int32 InViewIndex)
Definition TranslucentPassResource.h:99
const FTranslucencyPassResources & Get(ETranslucencyPass::Type Translucency) const
Definition TranslucentPassResource.h:109
bool IsValid() const
Definition TranslucentPassResource.h:104
IntType Width() const
Definition IntRect.h:469
IntType Height() const
Definition IntRect.h:372