UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SystemTextures.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 SystemTextures.h: System textures definitions.
5=============================================================================*/
6
7#pragma once
8
9#include "RenderGraph.h"
10
42
43
56
63
76
81{
82public:
87
92
93 // FRenderResource interface.
97 virtual void ReleaseRHI();
98
99 // -----------
100
106 // float4(1,1,1,1) can be used in case a light is not shadow casting
108 // float4(0,0,0,0) can be used in additive postprocessing to avoid a shader combination
110 // float4(0,0,0,1)
112 // Dummy texture array with 1 black slice
114 // used by the material expression Noise
116 // used by the material expression Noise (faster version, should replace old version), todo: move out of SceneRenderTargets
118 // Sobol sampling texture, the first sample points for four sobol dimensions in RGBA
124
142 // float4(0,1,0,1)
144 // float4(0.5,0.5,0.5,1)
146 // float4(0.5,0.5,0.5,0.5)
148
153
157
158 // Dummy 0 Uint texture for RHIs that need explicit overloads
160 // Dummy 0 Uint texture for RHIs that need explicit overloads
162 // Dummy 0 Uint texture for RHIs that need explicit overloads, specific version supporting atomics on Metal
164
165 // SRV for WhiteDummy Texture.
167 // SRV for StencilDummy Texture.
169
170 // ASCII Standard character set - IBM code page 437 (character 32-127)
172
173 // Space Filling Curve (used in FRandomSequence shader API)
175
176 // Create simple default texture
196
197 // Create default 2D texture (1x1) with specific format and initialize value
204
205 // Create default 2D/3D/Cube/Array texture (1x1) with specific format and initialize value
214
215 // Create default buffer initialize to zero.
216 FRDGBufferRef RENDERER_API GetDefaultBuffer(FRDGBuilder& GraphBuilder, uint32 NumBytePerElement);
219
220 template <typename T>
222 {
223 return GetDefaultBuffer(GraphBuilder, sizeof(T));
224 }
225
226 template <typename T>
228 {
229 return GetDefaultStructuredBuffer(GraphBuilder, sizeof(T));
230 }
231
232 // Create a default buffer initialized with a reference element.
233 FRDGBufferRef RENDERER_API GetDefaultBuffer(FRDGBuilder& GraphBuilder, uint32 NumBytePerElement, float Value);
234 FRDGBufferRef RENDERER_API GetDefaultBuffer(FRDGBuilder& GraphBuilder, uint32 NumBytePerElement, uint32 Value);
235 FRDGBufferRef RENDERER_API GetDefaultBuffer(FRDGBuilder& GraphBuilder, uint32 NumBytePerElement, const FVector3f& Value);
236 FRDGBufferRef RENDERER_API GetDefaultBuffer(FRDGBuilder& GraphBuilder, uint32 NumBytePerElement, const FVector4f& Value);
237 FRDGBufferRef RENDERER_API GetDefaultBuffer(FRDGBuilder& GraphBuilder, uint32 NumBytePerElement, const FUintVector4& Value);
238 FRDGBufferRef RENDERER_API GetDefaultStructuredBuffer(FRDGBuilder& GraphBuilder, uint32 NumBytePerElement, float Value);
243
244protected:
248
254
258};
259
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ Num
Definition MetalRHIPrivate.h:234
EPixelFormat
Definition PixelFormat.h:16
@ PF_Unknown
Definition PixelFormat.h:17
ETextureDimension
Definition RHIDefinitions.h:1081
EDefaultBufferType
Definition SystemTextures.h:58
RENDERER_API TGlobalResource< FSystemTextures > GSystemTextures
Definition SystemTextures.cpp:146
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition HashTable.h:210
Definition RenderGraphResources.h:1321
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:839
Definition RenderGraphResources.h:571
Definition RHICommandList.h:4626
Definition RenderResource.h:37
Definition SystemTextures.h:81
TRefCountPtr< IPooledRenderTarget > HairLUT1
Definition SystemTextures.h:129
TRefCountPtr< IPooledRenderTarget > MaxFP16Depth
Definition SystemTextures.h:136
TRefCountPtr< IPooledRenderTarget > ZeroUIntArrayAtomicCompatDummy
Definition SystemTextures.h:163
TRefCountPtr< IPooledRenderTarget > GGXLTCAmp
Definition SystemTextures.h:133
FRDGTextureRef RENDERER_API GetMaxFP16Depth(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1069
TRefCountPtr< IPooledRenderTarget > VolumetricBlackAlphaOneDummy
Definition SystemTextures.h:151
FRDGTextureRef RENDERER_API GetDepthDummy(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1074
FRDGTextureRef RENDERER_API GetWhiteDummy(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1064
TRefCountPtr< IPooledRenderTarget > SSAORandomization
Definition SystemTextures.h:121
TRefCountPtr< IPooledRenderTarget > HairLUT2
Definition SystemTextures.h:130
TRefCountPtr< IPooledRenderTarget > AsciiTexture
Definition SystemTextures.h:171
TRefCountPtr< IPooledRenderTarget > HairLUT0
Definition SystemTextures.h:128
FRDGTextureRef RENDERER_API GetZeroUIntDummy(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1119
TRefCountPtr< FRHIShaderResourceView > StencilDummySRV
Definition SystemTextures.h:168
TRefCountPtr< IPooledRenderTarget > PerlinNoise3D
Definition SystemTextures.h:117
void InitializeEngineDependentTextures(FRHICommandListImmediate &RHICmdList)
Definition SystemTextures.cpp:971
void InitializeCommonTextures(FRHICommandListImmediate &RHICmdList)
Definition SystemTextures.cpp:245
void InitializeFeatureLevelDependentTextures(FRHICommandListImmediate &RHICmdList, const ERHIFeatureLevel::Type InFeatureLevel)
Definition SystemTextures.cpp:411
FRDGTextureRef RENDERER_API GetCubeArrayBlackDummy(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1114
FRDGTextureRef RENDERER_API GetBlackAlphaOneDummy(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1054
TRefCountPtr< IPooledRenderTarget > WhiteDummy
Definition SystemTextures.h:107
FRDGBufferRef GetDefaultBuffer(FRDGBuilder &GraphBuilder)
Definition SystemTextures.h:221
FRDGTextureRef RENDERER_API GetDefaultNormal8Bit(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1089
TRefCountPtr< IPooledRenderTarget > SheenLTC
Definition SystemTextures.h:134
FRDGTextureRef RENDERER_API GetVolumetricBlackUintDummy(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1104
TRefCountPtr< IPooledRenderTarget > GGXLTCMat
Definition SystemTextures.h:132
TRefCountPtr< IPooledRenderTarget > BlackArrayDummy
Definition SystemTextures.h:113
TRefCountPtr< IPooledRenderTarget > ZeroUIntArrayDummy
Definition SystemTextures.h:161
FRDGTextureRef RENDERER_API GetStencilDummy(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1079
TRefCountPtr< IPooledRenderTarget > PerlinNoiseGradient
Definition SystemTextures.h:115
FRDGTextureRef RENDERER_API GetMidGreyDummy(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1094
FRDGBufferRef RENDERER_API GetDefaultStructuredBuffer(FRDGBuilder &GraphBuilder, uint32 NumBytePerElement)
Definition SystemTextures.cpp:1839
FSystemTextures()
Definition SystemTextures.h:83
TRefCountPtr< IPooledRenderTarget > MidGreyDummy
Definition SystemTextures.h:147
TRefCountPtr< IPooledRenderTarget > BlackDummy
Definition SystemTextures.h:109
TRefCountPtr< IPooledRenderTarget > StencilDummy
Definition SystemTextures.h:140
FRDGBufferRef GetDefaultStructuredBuffer(FRDGBuilder &GraphBuilder)
Definition SystemTextures.h:227
FRDGTextureRef RENDERER_API GetVolumetricBlackDummy(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1099
FRDGTextureRef RENDERER_API GetBlackArrayDummy(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1059
virtual void ReleaseRHI()
Definition SystemTextures.cpp:998
FRDGTextureRef RENDERER_API GetZeroUIntArrayDummy(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1124
TArray< FDefaultBuffer > DefaultBuffers
Definition SystemTextures.h:251
TRefCountPtr< IPooledRenderTarget > GreenDummy
Definition SystemTextures.h:143
FRDGTextureRef RENDERER_API GetSpaceFillingCurveTexture(FRDGBuilder &GraphBuilder)
Definition SystemTextures.cpp:1134
ERHIFeatureLevel::Type FeatureLevelInitializedTo
Definition SystemTextures.h:246
FRDGTextureRef RENDERER_API GetCubeBlackDummy(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1109
TRefCountPtr< IPooledRenderTarget > GTAOPreIntegrated
Definition SystemTextures.h:123
TRefCountPtr< IPooledRenderTarget > CubeBlackDummy
Definition SystemTextures.h:155
TRefCountPtr< IPooledRenderTarget > BlackDepthCube
Definition SystemTextures.h:141
TRefCountPtr< IPooledRenderTarget > ZeroUIntDummy
Definition SystemTextures.h:159
TRefCountPtr< IPooledRenderTarget > SpaceFillingCurve
Definition SystemTextures.h:174
FRDGTextureRef RENDERER_API GetZeroUShort4Dummy(FRDGBuilder &GraphBuilder) const
FRDGTextureRef RENDERER_API GetZeroUIntArrayAtomicCompatDummy(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1129
TRefCountPtr< IPooledRenderTarget > BlackAlphaOneDummy
Definition SystemTextures.h:111
void InitializeTextures(FRHICommandListImmediate &RHICmdList, const ERHIFeatureLevel::Type InFeatureLevel)
Definition SystemTextures.cpp:148
FRDGBufferRef RENDERER_API GetDefaultBuffer(FRDGBuilder &GraphBuilder, uint32 NumBytePerElement)
Definition SystemTextures.cpp:1838
FHashTable HashDefaultTextures
Definition SystemTextures.h:252
TRefCountPtr< IPooledRenderTarget > VolumetricBlackUintDummy
Definition SystemTextures.h:152
FHashTable HashDefaultBuffers
Definition SystemTextures.h:253
TRefCountPtr< FRHIShaderResourceView > WhiteDummySRV
Definition SystemTextures.h:166
FRDGTextureRef RENDERER_API GetDefaultTexture2D(FRDGBuilder &GraphBuilder, EPixelFormat Format, float Value)
Definition SystemTextures.cpp:1818
TRefCountPtr< IPooledRenderTarget > DepthDummy
Definition SystemTextures.h:138
TRefCountPtr< IPooledRenderTarget > CubeArrayBlackDummy
Definition SystemTextures.h:156
FRDGBufferRef RENDERER_API GetDefaultByteAddressBuffer(FRDGBuilder &GraphBuilder, uint32 NumBytePerElement)
Definition SystemTextures.cpp:1840
TRefCountPtr< IPooledRenderTarget > SobolSampling
Definition SystemTextures.h:119
TArray< FDefaultTexture > DefaultTextures
Definition SystemTextures.h:250
FRDGTextureRef RENDERER_API GetGreenDummy(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1084
FRDGTextureRef RENDERER_API GetDefaultTexture(FRDGBuilder &GraphBuilder, ETextureDimension Dimension, EPixelFormat Format, float Value)
Definition SystemTextures.cpp:1825
TRefCountPtr< IPooledRenderTarget > VolumetricBlackDummy
Definition SystemTextures.h:150
bool bEngineDependentTexturesInitialized
Definition SystemTextures.h:247
TRefCountPtr< IPooledRenderTarget > PreintegratedGF
Definition SystemTextures.h:126
FRDGTextureRef RENDERER_API GetBlackDummy(FRDGBuilder &GraphBuilder) const
Definition SystemTextures.cpp:1049
TRefCountPtr< IPooledRenderTarget > DefaultNormal8Bit
Definition SystemTextures.h:145
Definition Array.h:670
Definition RenderResource.h:543
Definition RefCounting.h:454
Definition SceneComponent.h:24
Type
Definition RHIFeatureLevel.h:20
Definition RHIResources.h:246
Definition SystemTextures.h:65
uint32 NumBytePerElement
Definition SystemTextures.h:67
EDefaultBufferType BufferType
Definition SystemTextures.h:68
uint32 ValueAsUInt[4]
Definition SystemTextures.h:66
Definition SystemTextures.h:71
uint32 Hash
Definition SystemTextures.h:72
FDefaultBufferKey Key
Definition SystemTextures.h:73
TRefCountPtr< FRDGPooledBuffer > Buffer
Definition SystemTextures.h:74
Definition SystemTextures.h:45
uint32 ValueAsUInt[4]
Definition SystemTextures.h:46
EPixelFormat Format
Definition SystemTextures.h:47
ETextureDimension Dimension
Definition SystemTextures.h:48
Definition SystemTextures.h:51
uint32 Hash
Definition SystemTextures.h:52
FDefaultTextureKey Key
Definition SystemTextures.h:53
TRefCountPtr< IPooledRenderTarget > Texture
Definition SystemTextures.h:54
Definition SystemTextures.h:13
static RENDERER_API const FRDGSystemTextures & Get(FRDGBuilder &GraphBuilder)
Definition SystemTextures.cpp:133
FRDGTextureRef CubeArrayBlack
Definition SystemTextures.h:38
FRDGTextureRef Black
Definition SystemTextures.h:24
FRDGTextureRef StencilDummy
Definition SystemTextures.h:29
FRDGTextureSRVRef StencilDummySRV
Definition SystemTextures.h:40
FRDGTextureRef VolumetricBlackAlphaOne
Definition SystemTextures.h:35
FRDGTextureRef MaxFP16Depth
Definition SystemTextures.h:27
FRDGTextureRef VolumetricBlackUint
Definition SystemTextures.h:36
FRDGTextureRef White
Definition SystemTextures.h:23
FRDGTextureRef CubeBlack
Definition SystemTextures.h:37
FRDGTextureRef DepthDummy
Definition SystemTextures.h:28
FRDGTextureRef MidGrey
Definition SystemTextures.h:33
FRDGTextureRef BlackDepthCube
Definition SystemTextures.h:30
FRDGTextureRef BlackAlphaOne
Definition SystemTextures.h:25
FRDGTextureRef BlackArray
Definition SystemTextures.h:26
FRDGTextureRef Green
Definition SystemTextures.h:31
FRDGTextureRef DefaultNormal8Bit
Definition SystemTextures.h:32
FRDGTextureRef VolumetricBlack
Definition SystemTextures.h:34
Definition IntPoint.h:25