RenderCore

Windows
MacOS
Linux

Filters

Classes

Name

Description

Public struct

FAllocatedVTDescription

Parameters needed to create an IAllocatedVirtualTexture Describes both page table and physical texture size, format, and layout

Public class

FAYUVConvertPS

Pixel shader to convert an AYUV texture to RGBA.

Public struct

FBaseShaderResourceTable

Public class

FBMPConvertPS

Pixel shader to convert a Windows Bitmap texture.

Public struct

FCachedUniformBufferDeclaration

Public struct

FClearQuadCallbacks

Public class

FClearVertexBuffer

Public struct

FCompactFullName

Public class

FCompareShaderPipelineNameTypes

Used to compare two shader pipeline types by name.

Public class

FCompareShaderTypes

Used to compare two shader types by name.

Public class

FCompareVertexFactoryTypes

Used to compare two Vertex Factory types by name.

Public struct

FComputeShaderUtils

All utils for compute shaders.

Public class

FCopyRectPS

Pixel shader to copy pixels from src to dst performing a format change that works on all platforms.

Public class

FCubeIndexBuffer

Public class

FDeferredCleanupInterface

Deferred cleanup.

Public class

FDeprecatedSerializedPackedNormal

Public struct

FDepthStencilBinding

Render graph information about how to bind a depth-stencil render target.

Public struct

FDummyResolveParameter

Public struct

FDynamicAllocReadBuffer

Public class

FEmptyShaderParameters

An empty shader parameter structure ready to be used anywhere.

Public class

FEmptyVertexDeclaration

The empty vertex declaration resource type.

Public struct

FExtraShaderCompilerSettings

Additional compilation settings that can be configured by each FMaterial instance before compilation

Public class

FFillTextureCS

Compute shader for writing values

Public struct

FFilterVertex

The vertex data used to filter a texture.

Public class

FFilterVertexDeclaration

The filter vertex declaration resource type.

Public class

FGenerateMips

Public struct

FGenerateMipsParams

Parameters for generating mip maps

Public struct

FGlobalBoundShaderState

Public struct

FGlobalBoundShaderStateArgs

Public class

FGlobalBoundShaderStateResource

FGlobalBoundShaderState

Public struct

FGlobalBoundShaderStateWorkArea

Public class

FGlobalDynamicIndexBuffer

A system for dynamically allocating GPU memory for indices.

Public class

FGlobalDynamicReadBuffer

A system for dynamically allocating GPU memory for rendering.

Public class

FGlobalDynamicVertexBuffer

A system for dynamically allocating GPU memory for vertices.

Public class

FGlobalShader

FGlobalShader

Public struct

FGlobalShaderBackupData

Container for Backup/RestoreGlobalShaderMap functions.

Public class

FGlobalShaderMapId

Class that encapsulates logic to create a DDC key for the global shader map.

Public struct

FGlobalShaderPermutationParameters

Public class

FGlobalShaderType

A shader meta type for the simplest shaders; shaders which are not material or vertex factory linked.

Public class

FIndexBuffer

An index buffer resource.

Public struct

FInputLatencyTimer

Encapsulates a latency timer that measures the time from when mouse input is read on the gamethread until that frame is fully displayed by the GPU.

Public class

FInvertAlphaPS

Pixel shader to inverse alpha component

Public class

FLongGPUTaskPS

Public struct

FMediaElementVertex

Stores media drawing vertices.

Public class

FMediaShadersVS

Media vertex shader (shared by all media shaders).

Public class

FMediaVertexDeclaration

The simple element vertex declaration resource type.

Public struct

FMipBiasFade

Functionality for fading in/out texture mip-levels.

Public struct

FMipFadeSettings

Mip fade settings, selectable by chosing a different EMipFadeSettings.

Public class

FNullColorVertexBuffer

A vertex buffer with a single color component.

Public class

FNULLPS

An internal dummy pixel shader to use when the user calls RHISetPixelShader(NULL).

Public class

FNV12ConvertPS

Pixel shader to convert a NV12 frame to RGBA.

Public class

FNV21ConvertPS

Pixel shader to convert a NV21 frame to RGBA.

Public class

FOculusAlphaInverseShader

Public class

FOculusBlackShader

Public class

FOculusCubemapPS

A pixel shader for rendering a textured screen element.

Public class

FOculusVertexShader

Public class

FOculusWhiteShader

Public class

FOneColorPS

Pixel shader for rendering a single, constant color.

Public struct

FPackedArrayInfo

Public struct

FPackedNormal

A normal vector, quantized and packed into 32-bits.

Public struct

FPackedPosition

A 3x1 of xyz(11:11:10) format.

Public struct

FPackedRGB10A2N

A vector, quantized and packed into 32-bits.

Public struct

FPackedRGBA16N

A vector, quantized and packed into 32-bits.

Public struct

FParameterAllocation

Public class

FPendingCleanupObjects

A set of cleanup objects which are pending deletion.

Public struct

FPixelFormatInfo

Information about a pixel format.

Public class

FPixelInspectorRequest

Class use to add FScene pixel inspect request

Public struct

FPixelShaderUtils

All utils for pixel shaders.

Public struct

FPooledRDGBuffer

Render graph tracked Buffer.

Public struct

FPooledRenderTarget

The reference to a pooled render target, use like this: TRefCountPtr

Public struct

FPooledRenderTargetDesc

All necessary data to create a render target from the pooled render targets.

Public class

FPostOpaqueRenderParameters

Public class

FPrimitiveIdDummyBuffer

Default PrimitiveId vertex buffer.

Public struct

FQueryVisualizeTexureInfo

Public struct

FRayGenShaderUtils

All utils for ray generation shaders.

Public class

FRDGBuffer

Render graph tracked buffers.

Public struct

FRDGBufferDesc

Descriptor for render graph tracked Buffer.

Public class

FRDGBufferSRV

Render graph tracked buffer SRV.

Public struct

FRDGBufferSRVDesc

Public class

FRDGBufferUAV

Render graph tracked buffer UAV.

Public struct

FRDGBufferUAVDesc

Public class

FRDGBuilder

Builds the per-frame render graph.

Public class

FRDGChildResource

A render graph resource (e.g. a view) which references a single parent resource (e.g. a texture / buffer).

Public class

FRDGEventName

GPU Events - Named hierarchical events emitted to external profiling tools.Stores a GPU event name for the render graph.

Public class

FRDGEventScope

Public class

FRDGEventScopeGuard

RAII class for begin / end of an event scope through the graph builder.

Public class

FRDGEventScopeStack

Manages a stack of event scopes.

Public class

FRDGParentResource

A render graph resource with an allocation lifetime tracked by the graph.

Public class

FRDGPass

Base class of a render graph pass.

Public class

FRDGPassParameter

A helper class for identifying and accessing a render graph pass parameter.

Public class

FRDGPassParameterStruct

Wraps a pass parameter struct payload and provides helpers for traversing members.

Public class

FRDGResource

Generic graph resource.

Public struct

FRDGResourceState

Used for tracking resource state during execution.

Public class

FRDGScopeStack

A helper profiler class for tracking and evaluating hierarchical scopes in the context of render graph.

Public class

FRDGShaderResourceView

Render graph tracked SRV.

Public class

FRDGStatScope

GPU Stats - Aggregated counters emitted to the runtime 'stat GPU' profiler.

Public class

FRDGStatScopeGuard

RAII class for begin / end of a stat scope through the graph builder.

Public class

FRDGStatScopeStack

Public class

FRDGTexture

Render graph tracked Texture.

Public class

FRDGTextureSRV

Render graph tracked SRV.

Public class

FRDGTextureSRVDesc

Descriptor for render graph tracked SRV.

Public class

FRDGTextureUAV

Render graph tracked texture UAV.

Public class

FRDGTextureUAVDesc

Descriptor for render graph tracked UAV.

Public class

FRDGUnorderedAccessView

Render graph tracked UAV.

Public class

FRDGUserValidation

Used by the render graph builder to validate correct usage of the graph API from setup to execution.

Public class

FRenderCommand

Render commands.

Public class

FRenderCommandFence

Render fences.

Public class

FRenderResource

A rendering resource which is owned by the rendering thread.

Public struct

FRenderTargetBinding

Render graph information about how to bind a render target.

Public struct

FRenderTargetBindingSlots

Special shader parameters type for a pass parameter to setup render targets.

Public class

FRenderTargetParameters

Useful parameter struct that only have render targets.

Public class

FRenderTargetPool

Encapsulates the render targets pools that allows easy sharing (mostly used on the render thread side)

Public struct

FRenderTargetPoolEvent

Public class

FRenderThreadScope

RenderThread scoped work.

Public class

FResolveDepth2XPS

Public class

FResolveDepth4XPS

Public class

FResolveDepth8XPS

Public class

FResolveDepthNonMSPS

Public class

FResolveDepthPS

Public class

FResolveSingleSamplePS

Public class

FResolveVS

A vertex shader for rendering a textured screen element.

Public struct

FResourceTableEntry

Each entry in a resource table is provided to the shader compiler for creating mappings.

Public class

FRGB10toYUVv210ConvertPS

Pixel shader to convert RGB 10 bits to YUV v210

Public class

FRGB8toUYVY8ConvertPS

Pixel shader to convert RGB 8 bits to UYVY 8 bits

Public class

FRGBConvertPS

Pixel shader to resize an RGB texture.

Public class

FRWShaderParameter

A class that binds either a UAV or SRV of a resource.

Public struct

FSceneRenderTargetItem

Single render target item consists of a render surface and its resolve texture, Render thread side

Public class

FScreenRectangleIndexBuffer

Public class

FScreenRectangleVertexBuffer

Static vertex and index buffer used for 2D screen rectangles.

Public class

FScreenSpaceVertexBuffer

Public class

FScreenVertexShaderVS

Vertex shader to draw a screen quad that works on all platforms.

Public class

FSelfContainedShaderId

Self contained version of FShaderId, which is useful for serializing.

Public class

FSerializationHistory

Encapsulates information about a shader's serialization behavior, used to detect when C++ serialization changes to auto-recompile.

Public class

FSerializationHistoryTraversalState

Tracks state when traversing a FSerializationHistory.

Public class

FSetAlphaOnePS

Pixel shader to set alpha component to 1.0f

Public class

FShader

A compiled shader and its parameter bindings.

Public struct

FShaderBindings

Public class

FShaderCode

Public struct

FShaderCodeLibrary

Collection of unique shader code Populated at cook time

Public struct

FShaderCodeLibraryPipeline

Public struct

FShaderCodePackedResourceCounts

If this changes you need to make sure all D3D11 shaders get invalidated

Public class

FShaderCodeReader

Later we can transform that to the actual class passed around at the RHI level

Public struct

FShaderCodeVendorExtension

Public class

FShaderCompilerDefinitions

Container for shader compiler definitions.

Public struct

FShaderCompilerEnvironment

The environment used to compile a shader.

Public struct

FShaderCompilerError

A shader compiler error or warning.

Public struct

FShaderCompilerInput

Struct that gathers all readonly inputs needed for the compilation of a single shader.

Public struct

FShaderCompilerOutput

The output of the shader compiler.

Public struct

FShaderCompilerResourceTable

Public class

FShaderFactoryInterface

Public class

FShaderId

Uniquely identifies an FShader instance.

Public class

FShaderKey

Public class

FShaderLooseParameterBufferInfo

Public class

FShaderParameter

A shader parameter's register binding. e.g. float1/2/3/4, can be an array, UAV

Public class

FShaderParameterBindings

Stores all shader parameter bindings and their corresponding offset and size in the shader's parameters struct.

Public class

FShaderParameterInfo

Public class

FShaderParameterMap

A map of shader parameter names to registers allocated to that parameter.

Public class

FShaderParameterMapInfo

Public class

FShaderParametersMetadata

A uniform buffer struct.

Public struct

FShaderPermutationBool

Defines at compile time a boolean permutation dimension.

Public class

FShaderPipeline

A Shader Pipeline instance with compiled stages.

Public class

FShaderPipelineCache

FShaderPipelineCache: The FShaderPipelineCache provides the new Pipeline State Object (PSO) logging, serialisation & precompilation mechanism that replaces FShaderCache.

Public class

FShaderPipelineType

Binding of a set of shader stages in a single pipeline.

Public class

FShaderPipelineTypeDependency

Public class

FShaderResource

Compiled shader bytecode and its corresponding RHI resource.

Public class

FShaderResourceId

Uniquely identifies an FShaderResource.

Public class

FShaderResourceParameter

A shader resource binding (textures or samplerstates).

Public class

FShaderSaveArchive

Archive used when saving shaders, which generates data used to detect serialization mismatches on load.

Public struct

FShaderTarget

Public class

FShaderType

An object which is used to serialize/deserialize, compile, and cache a particular shader class.

Public class

FShaderTypeDependency

Encapsulates a dependency on a shader type and saved state from that shader type.

Public class

FShaderUniformBufferParameter

Public struct

FStableShaderKeyAndValue

Public class

FSuspendRenderingThread

Render thread suspension.

Public class

FTexture

A textures resource.

Public class

FTextureReference

A texture reference resource.

Public class

FTextureWithSRV

A textures resource that includes an SRV.

Public class

FTickableObjectRenderThread

This class provides common registration for render thread tickable objects.

Public class

FTimer

The scene rendering stats.The scene update stats.

Public class

FTwoTrianglesIndexBuffer

Public struct

FUniformBufferCopyInfo

Information for copying members from uniform buffers to packed.

Public class

FUYVYConvertPS

Pixel shader to convert a UYVY (Y422, UYNV) frame to RGBA.

Public class

FVertexBuffer

A vertex buffer resource

Public class

FVertexFactory

Encapsulates a vertex data source which can be linked into a vertex shader.

Public class

FVertexFactoryParameterRef

An encapsulation of the vertex factory parameters for a shader.

Public class

FVertexFactoryShaderParameters

An interface to the parameter bindings for the vertex factory used by a shader.

Public class

FVertexFactoryType

An object used to represent the type of a vertex factory.

Public class

FVertexFactoryTypeDependency

Encapsulates a dependency on a vertex factory type and saved state from that vertex factory type.

Public struct

FVertexInputStream

Public struct

FVertexStreamComponent

A typed data source for a vertex factory which streams data from a vertex buffer.

Public struct

FVirtualTextureLocalTile

Identifies a VT tile within a given producer

Public struct

FVirtualTextureProducerHandle

Public struct

FVirtualTextureUniformData

Struct containing all data the GPU needs to perform a lookup/feedback request

Public class

FVisualizeTexture

Public struct

FVTProducerDescription

Public struct

FVTProduceTargetLayer

Describes a location to write a single layer of a VT tile

Public struct

FVTRequestPageResult

Public class

FYCbCrConvertPS

Pixel shader to convert a PS4 YCbCr texture to RGBA.

Public class

FYCbCrConvertPS_4x4Matrix

Public class

FYUVConvertPS

Pixel shader to convert Y, U, and V planes to RGBA.

Public class

FYUVv210ConvertPS

Pixel shader to convert YUV v210 to RGB

Public class

FYUY2ConvertPS

Pixel shader to convert a YUY2 frame to RGBA.

Public class

FYVYUConvertPS

Pixel shader to convert a YVYU frame to RGBA.

Public class

IAllocatedVirtualTexture

This interface represents a chunk of VT data allocated and owned by the renderer module, backed by both a page table texture, and a physical texture cache for each layer.

Public class

ICustomCulling

Public class

ICustomVisibilityQuery

Public class

IPersistentViewUniformBufferExtension

Public struct

IPooledRenderTarget

Render thread side, use TRefCountPtr, allows sharing and VisualizeTexture

Public class

IRendererModule

The public interface of the renderer module.

Public class

IVirtualTexture

This is the interface that can produce tiles of virtual texture data This can be extended to represent different ways of generating VT, such as disk streaming, runtime compositing, or whatever It's provided to the renderer module

Public class

IVirtualTextureFinalizer

Public class

SceneRenderingBitArrayAllocator

Public class

SceneRenderingSetAllocator

Public class

SceneRenderingSparseArrayAllocator

Public class

TAlignedShaderParameterPtr

PLATFORM_64BITS.

Public class

TAlignedTypedef

Alignements tools because alignas() does not work on type in clang.

Public class

TBoundShaderStateHistory

A list of the most recently used bound shader states.

Public struct

TClearReplacementBase

Public class

TClearReplacementCS

Public class

TClearReplacementPS

Public class

TClearReplacementVS

Public class

TCompareShaderTypePermutation

Used to compare order shader types permutation deterministically.

Public class

TEnqueueUniqueRenderCommandType

Public class

TGlobalResource

Used to declare a render resource that is initialized/released by static initialization/destruction.

Public struct

TMapRDGBufferSRVFuncs

Defines how the map's pairs are hashed.

Public struct

TMapRDGBufferUAVFuncs

Defines how the map's pairs are hashed.

Public class

TOneColorPixelShaderMRT

Pixel shader for rendering a single, constant color to MRTs.

Public class

TOneColorVS

Vertex shader for rendering a single, constant color.

Public class

TOptionalShaderMapRef

A reference to an optional shader, initialized with a shader type from a shader map if it is available or nullptr if it is not.

Public class

TRDGLambdaPass

Render graph pass with lambda execute function.

Public class

TShaderMap

A collection of shaders of different types, but the same meta type.

Public class

TShaderMapRef

A reference which is initialized with the requested shader type from a shader map.

Public struct

TShaderParameterStructTypeInfo

Public struct

TShaderParameterTypeInfo

Template to transcode some meta data information for a type not specific to shader parameters API.

Public struct

TShaderPermutationDomain

Variadic template that defines an arbitrary multi-dimensional permutation domain, that can be instantiated to represent a vector within the domain.

Public class

TShaderPermutationDomainSpetialization

C++11 doesn't allow partial specialization of templates method or function.

Public struct

TShaderPermutationInt

Defines at compile time a permutation dimension made of int32 from 0 to N -1.

Public struct

TShaderPermutationSparseInt

Defines at compile time a permutation dimension made of specific int32.

Public class

TShaderResourceParameterArray

Static array of shader resource shader that is initialized to nullptr.

Public struct

TShaderResourceParameterTypeInfo

Public struct

TShaderTypePermutation

Define a shader permutation uniquely according to its type, and permutation id.

Public class

TShaderUniformBufferParameter

A shader uniform buffer binding with a specific structure.

Public struct

TThreadGroupSize

Public class

TUniformBuffer

A uniform buffer resource.

Public class

TUniformBufferRef

A reference to a uniform buffer RHI resource with a specific structure.

Constants

Name

Description

DebugUtilColor

Typedefs

Name

Description

FClearReplacementBase_Float4

FClearReplacementBase_Float4_Bounds

FClearReplacementBase_Float4_Zero

FClearReplacementBase_Float4_Zero_Bounds

FClearReplacementBase_Uint

Not all combinations are defined here. Add more if required. Type NC Zero Bounds

FClearReplacementBase_Uint_Bounds

FClearReplacementBase_Uint_Zero

FClearReplacementBase_Uint4

FClearReplacementCS_Buffer_Uint

FClearReplacementCS_Buffer_Uint_Bounds

Compute shaders for clearing each resource type, with a min/max bounds enabled.

FClearReplacementCS_Buffer_Uint_Zero

Compute shaders for clearing each resource type. No bounds checks enabled.

FClearReplacementCS_Texture2D_Float4

FClearReplacementCS_Texture2D_Float4_Bounds

FClearReplacementCS_Texture2D_Uint4

FClearReplacementCS_Texture2DArray_Float4

FClearReplacementCS_Texture2DArray_Uint

FClearReplacementCS_Texture2DArray_Uint_Zero

FClearReplacementCS_Texture2DArray_Uint4

FClearReplacementCS_Texture3D_Float4

FClearReplacementCS_Texture3D_Uint4

Used by ClearUAV_T in ClearQuad.cpp.

FClearReplacementPS

Simple pixel shader which outputs a specified solid color to MRT0.

FClearReplacementPS_128

FClearReplacementPS_Zero

Simple pixel shader which outputs zero to MRT0.

FClearReplacementVS

Simple vertex shaders for generating screen quads. Optionally with a min/max bounds in NDC space, and depth value.

FClearReplacementVS_Bounds

FClearReplacementVS_Depth

FGlobalBoundShaderState_Internal

FPostOpaqueRenderDelegate

FRDGBufferRef

FRDGBufferSRVRef

FRDGBufferUAVRef

FRDGChildResourceRef

FRDGParentResourceRef

FRDGResourceRef

FRDGShaderResourceViewRef

FRDGTextureDesc

Descriptor of a graph tracked texture.

FRDGTextureRef

FRDGTextureSRVRef

FRDGTextureUAVRef

FRDGTrackedResource

FRDGTrackedResourceRef

FRDGUnorderedAccessViewRef

FShaderPermutation

FShaderPermutationNone

Global shader permutation domain with no dimension.

FSharedShaderCodeRelease

FSharedShaderCodeRequest

FVertexInputStreamArray

Number of vertex input bindings to allocate inline within a FMeshDrawCommand.

FVTProducerDestroyedFunction

SceneRenderingAllocator

Shortcut for the allocator used by scene rendering.

unaligned_int32

unaligned_uint32

Enums

Name

Description

Public enum

CrossCompiler::

Cross compiler support/common functionality.

Public enum

CrossCompiler::EPackedTypeIndex

Cross compiler support/common functionality.

Public enum

CrossCompiler::EPackedTypeName

Cross compiler support/common functionality.

Public enum

CrossCompiler::EShaderStage

Cross compiler support/common functionality.

Public enum

EClearReplacementResourceType

Public enum

ECompilerFlags

Public enum

EConstructTextureFlags

Flags that control ConstructTexture2D

Public enum

EDrawRectangleFlags

Use r.DrawDenormalizedQuadMode to override the function call setting (quick way to see if an artifact is caused by this optimization)

Public enum

EMipFadeSettings

Public enum

ERDGPassFlags

Flags to annotate passes.

Public enum

ERDGResourceFlags

Render graph specific flags for resources.

Public enum

ERDGTextureMetaDataAccess

Used to specify a particular texture meta data plane instead of the default resource

Public enum

ERenderTargetPoolEventType

Public enum

ERenderTargetTransience

Public enum

ERenderThreadIdleTypes::Type

Public enum

EShaderParameterFlags

Public enum

EShaderParameterType

Public enum

EShaderPrecisionModifier::Type

Public enum

EVertexInputStreamType

Public enum

EVertexStreamUsage

Public enum

EVTPageTableFormat

Public enum

EVTProducePageFlags

Public enum

EVTRequestPagePriority

Public enum

EVTRequestPageStatus

Functions

Name Description

Public function

void

 

AddClearDepthStencilPass

(
    FRDGBuilder& GraphBuilder,
    FRDGTextureRef Texture,
    bool bClearDepth,
    float Depth,
    bool bClearStencil,
    uint8 Stencil
)

Adds a render graph pass to clear a depth stencil target. Prefer to use clear actions if possible.

Public function

void

 

AddClearRenderTargetPass

(
    FRDGBuilder& GraphBuilder,
    FRDGTextureRef Texture,
    const FLinearColor& ClearColor
)

Adds a render graph pass to clear a render target. Prefer to use clear actions if possible.

Public function

void

 

AddClearUAVPass

(
    FRDGBuilder& GraphBuilder,
    FRDGBufferUAVRef BufferUAV,
    uint32 Value
)

Adds a render graph pass to clear a texture or buffer UAV with a single typed value.

Public function

void

 

AddClearUAVPass

(
    FRDGBuilder& GraphBuilder,
    FRDGTextureUAVRef TextureUAV,
    const FLinearColor& ClearColor
)

Public function

void

 

AddClearUAVPass

(
    FRDGBuilder& GraphBuilder,
    FRDGTextureUAVRef TextureUAV,
    const float(&) ClearValues
)

Public function

void

 

AddClearUAVPass

(
    FRDGBuilder& GraphBuilder,
    FRDGTextureUAVRef TextureUAV,
    const uint32 ClearValues
)

Public function

void

 

AddCopyTexturePass

(
    FRDGBuilder& GraphBuilder,
    FRDGTextureRef InputTexture,
    FRDGTextureRef OutputTexture,
    const FRHICopyTextureInfo& CopyInfo
)

Adds a render graph pass to copy a region from one texture to another.

Public function

void

 

AddCopyTexturePass

(
    FRDGBuilder& GraphBuilder,
    FRDGTextureRef InputTexture,
    FRDGTextureRef OutputTexture,
    FIntPoint InputPosition,
    FIntPoint OutputPosition,
    FIntPoint Size
)

Simpler variant of the above function for 2D textures.

Public function

void

 

AddCopyToResolveTargetPass

(
    FRDGBuilder& GraphBuilder,
    FRDGTextureRef InputTexture,
    FRDGTextureRef OutputTexture,
    const FResolveParams& ResolveParams
)

Adds a render graph pass to resolve from one texture to another.

Public function

void

 

AddFrameRenderPrerequisite

(
    const FGraphEventRef& TaskToAdd
)

Adds a task that must be completed either before the next scene draw or a flush rendering commands This can be called from any thread though it probably doesn't make sense to call it from the render thread.

Public function

void

 

AddShaderSourceDirectoryMapping

(
    const FString& VirtualShaderDirectory,
    const FString& RealShaderDirectory
)

Maps a real shader directory existing on disk to a virtual shader directory.

Public function

void

 

AdvanceFrameRenderPrerequisite()

Gather the frame render prerequisites and make sure all render commands are at least queued

Public function

void

 

AdvanceRenderingThreadStatsGT

(
    bool bDiscardCallstack,
    int64 StatsFrame,
    int32 MasterDisableChangeTagStartFrame
)

Advances stats for the rendering thread. Called from the game thread.

Public function

bool

 

AllowDebugViewmodes()

Returns true if debug viewmodes are allowed for the current platform.

Public function

bool

 

AllowDebugViewmodes

(
    EShaderPlatform Platform
)

Returns true if debug viewmodes are allowed for the given platform.

Public function

bool

 

AllowPixelDepthOffset

(
    EShaderPlatform Platform
)

Public function

const TMap< FString, FString > &

 

AllShaderSourceDirectoryMappings()

Returns the map virtual shader directory path -> real shader directory path.

Public function

void

 

BackupGlobalShaderMap

(
    FGlobalShaderBackupData& OutGlobalShaderBackup
)

Backs up all global shaders to memory through serialization, and removes all references to FShaders from the global shader map.

Public function

void

 

BeginCleanup

(
    FDeferredCleanupInterface* CleanupObject
)

Adds the specified deferred cleanup object to the current set of pending cleanup objects.

Public function

void

 

BeginInitResource

(
    FRenderResource* Resource
)

Sends a message to the rendering thread to initialize a resource.

Public function

void

 

BeginReleaseResource

(
    FRenderResource* Resource
)

Sends a message to the rendering thread to release a resource. This is called in the game thread.

Public function

void

 

BeginSetUniformBufferContents

(
    TUniformBuffer< TBufferStruct >& UniformBuffer,
    const TBufferStruct& Struct
)

Sends a message to the rendering thread to set the contents of a uniform buffer.

Public function

void

 

BeginUpdateResourceRHI

(
    FRenderResource* Resource
)

Sends a message to the rendering thread to update a resource. This is called in the game thread.

Public function

void

 

BindForLegacyShaderParameters

(
    FShader* Shader,
    const FShaderParameterMap& ParameterMap,
    bool bShouldBindEverything
)

Public function

void

 

BuildShaderFileToUniformBufferMap

(
    TMap< FString, TArray< const TCHAR* > >& ShaderFileToUniformBufferVariables
)

Public function

void

 

CacheUniformBufferIncludes

(
    TMap< const TCHAR*, struct FCachedUniformBufferDeclaration >& Cache,
    EShaderPlatform Platform
)

Public function

FIntPoint

 

CalcMipMapExtent

(
    uint32 TextureSizeX,
    uint32 TextureSizeY,
    EPixelFormat Format,
    uint32 MipIndex
)

Calculates the extent of a mip.

Public function

void

 

CalcMipMapExtent3D

(
    uint32 TextureSizeX,
    uint32 TextureSizeY,
    uint32 TextureSizeZ,
    EPixelFormat Format,
    uint32 MipIndex,
    uint32& OutXExtent,
    uint32& OutYExtent,
    uint32& OutZExtent
)

Calculates the extent of a mip.

Public function

SIZE_T

 

CalcTextureMipHeightInBlocks

(
    uint32 TextureSizeY,
    EPixelFormat Format,
    uint32 MipIndex
)

Calculates the height of a mip, in blocks.

Public function

SIZE_T

 

CalcTextureMipMapSize

(
    uint32 TextureSizeX,
    uint32 TextureSizeY,
    EPixelFormat Format,
    uint32 MipIndex
)

Calculates the amount of memory used for a single mip-map of a texture.

Public function

SIZE_T

 

CalcTextureMipMapSize3D

(
    uint32 TextureSizeX,
    uint32 TextureSizeY,
    uint32 TextureSizeZ,
    EPixelFormat Format,
    uint32 MipIndex
)

Calculates the amount of memory used for a single mip-map of a texture 3D.

Public function

SIZE_T

 

CalcTextureMipWidthInBlocks

(
    uint32 TextureSizeX,
    EPixelFormat Format,
    uint32 MipIndex
)

Calculates the width of a mip, in blocks.

Public function

SIZE_T

 

CalcTextureSize

(
    uint32 SizeX,
    uint32 SizeY,
    EPixelFormat Format,
    uint32 MipCount
)

Calculates the amount of memory used for a texture.

Public function

SIZE_T

 

CalcTextureSize3D

(
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    EPixelFormat Format,
    uint32 MipCount
)

Calculates the amount of memory used for a texture.

Public function

SIZE_T

 

CalculateImageBytes

(
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format
)

CalculateImageBytes

Public function Static

void

 

CheckNotBlockedOnRenderThread()

Asserts if called from the main thread when the main thread is blocked on the rendering thread.

Public function

void

 

CheckRenderingThreadHealth()

Checks if the rendering thread is healthy and running.

Public function

void

 

CheckShaderHashCacheInclude

(
    const FString& VirtualFilePath,
    EShaderPlatform ShaderPlatform
)

Checks if shader include isn't skipped by a shader hash cache.

Public function

bool

 

CheckVirtualShaderFilePath

(
    const FString& VirtualPath,
    TArray< FShaderCompilerError >* CompileErrors
)

Validates the format of a virtual shader file path.

Public function

void

 

ClearUAV

(
    FRHICommandList& RHICmdList,
    FRHITexture* Texture,
    FRHIUnorderedAccessView* TextureUAV,
    const uint32 ClearValues
)

Public function

void

 

ClearUAV

(
    FRHICommandList& RHICmdList,
    FRHITexture* Texture,
    FRHIUnorderedAccessView* TextureUAV,
    const float(&) ClearValues
)

Public function

void

 

ClearUAV

(
    FRHICommandList& RHICmdList,
    FRHIUnorderedAccessView* Buffer,
    uint32 NumBytes,
    uint32 Value
)

Public function

void

 

ClearUAV

(
    FRHICommandList& RHICmdList,
    const FRWBuffer& Buffer,
    uint32 Value,
    bool bBarriers
)

Public function

void

 

ClearUAV

(
    FRHICommandList& RHICmdList,
    const FSceneRenderTargetItem& RenderTargetItem,
    const FLinearColor& ClearColor
)

Public function

void

 

ClearUAV

(
    FRHICommandList& RHICmdList,
    const FSceneRenderTargetItem& RenderTargetItem,
    const uint32 ClearValues
)

Public function

void

 

ClearUAV

(
    FRHICommandList& RHICmdList,
    FRHITexture* Texture,
    FRHIUnorderedAccessView* TextureUAV,
    const FLinearColor& ClearColor
)

Public function

void

 

ClearUAV

(
    FRHICommandList& RHICmdList,
    FRHIUnorderedAccessView* UAV,
    uint32 Width,
    uint32 Height,
    const FLinearColor& ClearColor
)

Public function

void

 

ClearUAV

(
    FRHICommandList& RHICmdList,
    const FTextureRWBuffer3D& Buffer,
    FLinearColor Value
)

Public function

void

 

ClearUAV

(
    FRHICommandList& RHICmdList,
    const FRWBufferStructured& StructuredBuffer,
    uint32 Value
)

Public function

void

 

ClearUAV

(
    FRHICommandList& RHICmdList,
    const FSceneRenderTargetItem& RenderTargetItem,
    const float(&) ClearValues
)

Public function

void

 

ClearUAV

(
    FRHICommandList& RHICmdList,
    const FTextureRWBuffer2D& Buffer,
    FLinearColor Value
)

Public function

void

 

ClearUnusedGraphResources

(
    const TShaderClass* Shader,
    typename TShaderClass::FParameters* InoutParameters,
    std::initializer_list< FRDGResourceRef > ExcludeList
)

Public function

void

 

ClearUnusedGraphResourcesImpl

(
    const FShaderParameterBindings& ShaderBindings,
    const FShaderParametersMetadata* ParametersMetadata,
    void* InoutParameters,
    std::initializer_list< FRDGResourceRef > ExcludeList
)

Clears all render graph tracked resources that are not bound by a shader.

Public function

void

 

CopyTextureData2D

(
    const void* Source,
    void* Dest,
    uint32 SizeY,
    EPixelFormat Format,
    uint32 SourceStride,
    uint32 DestStride
)

Copies the data for a 2D texture between two buffers with potentially different strides.

Public function

FVertexBufferRHIRef

 

CreateTempMediaVertexBuffer

(
    float ULeft,
    float URight,
    float VTop,
    float VBottom
)

Public function

TUniformBufferRef< TBufferStruct >

 

CreateUniformBufferImmediate

(
    const TBufferStruct& Value,
    EUniformBufferUsage Usage,
    EUniformBufferValidation Validation
)

Creates a uniform buffer with the given value, and returns a structured reference to it.

Public function

void

 

CreateUniformBufferShaderDeclaration

(
    const TCHAR* Name,
    const FShaderParametersMetadata& UniformBufferStruct,
    FString& OutDeclaration
)

Creates a shader code declaration of this struct for the given shader platform.

Public function Static

bool

 

CrossCompiler::IsValidPackedTypeName

(
    EPackedTypeName TypeName
)

Public function Static

EPackedTypeName

 

CrossCompiler::PackedTypeIndexToTypeName

(
    EPackedTypeIndex TypeIndex
)

Public function Static

uint8

 

CrossCompiler::PackedTypeIndexToTypeName

(
    uint8 ArrayType
)

Public function Static

EPackedTypeIndex

 

CrossCompiler::PackedTypeNameToTypeIndex

(
    EPackedTypeName TypeName
)

Public function Static

uint8

 

CrossCompiler::PackedTypeNameToTypeIndex

(
    uint8 ArrayName
)

Public function Static

uint8

 

CrossCompiler::ShaderStageIndexToTypeName

(
    uint8 ShaderStage
)

Public function

void

 

DispatchComputeShader

(
    FRHIAsyncComputeCommandListImmediate& RHICmdList,
    FShader* Shader,
    uint32 ThreadGroupCountX,
    uint32 ThreadGroupCountY,
    uint32 ThreadGroupCountZ
)

Public function

void

 

DispatchComputeShader

(
    FRHICommandList& RHICmdList,
    FShader* Shader,
    uint32 ThreadGroupCountX,
    uint32 ThreadGroupCountY,
    uint32 ThreadGroupCountZ
)

Helper function to dispatch a compute shader while checking that parameters have been set correctly.

Public function

void

 

DispatchIndirectComputeShader

(
    FRHICommandList& RHICmdList,
    FShader* Shader,
    FRHIVertexBuffer* ArgumentBuffer,
    uint32 ArgumentOffset
)

Helper function to dispatch a compute shader indirectly while checking that parameters have been set correctly.

Public function

void

 

DrawClearQuad

(
    FRHICommandList& RHICmdList,
    const FLinearColor& Color
)

Public function

void

 

DrawClearQuad

(
    FRHICommandList& RHICmdList,
    const FLinearColor& Color,
    FClearQuadCallbacks ClearQuadCallbacks
)

Public function

void

 

DrawClearQuad

(
    FRHICommandList& RHICmdList,
    bool bClearColor,
    const FLinearColor& Color,
    bool bClearDepth,
    float Depth,
    bool bClearStencil,
    uint32 Stencil
)

Public function

void

 

DrawClearQuad

(
    FRHICommandList& RHICmdList,
    bool bClearColor,
    const FLinearColor& Color,
    bool bClearDepth,
    float Depth,
    bool bClearStencil,
    uint32 Stencil,
    FIntPoint ViewSize,
    FIntRect ExcludeRect
)

Public function

void

 

DrawClearQuadMRT

(
    FRHICommandList& RHICmdList,
    bool bClearColor,
    int32 NumClearColors,
    const FLinearColor* ClearColorArray,
    bool bClearDepth,
    float Depth,
    bool bClearStencil,
    uint32 Stencil
)

Public function

void

 

DrawClearQuadMRT

(
    FRHICommandList& RHICmdList,
    bool bClearColor,
    int32 NumClearColors,
    const FLinearColor* ClearColorArray,
    bool bClearDepth,
    float Depth,
    bool bClearStencil,
    uint32 Stencil,
    FClearQuadCallbacks ClearQuadCallbacks
)

Public function

void

 

DrawClearQuadMRT

(
    FRHICommandList& RHICmdList,
    bool bClearColor,
    int32 NumClearColors,
    const FLinearColor* ClearColorArray,
    bool bClearDepth,
    float Depth,
    bool bClearStencil,
    uint32 Stencil,
    FIntPoint ViewSize,
    FIntRect ExcludeRect
)

Public function

void

 

DumpShaderPipelineStats

(
    EShaderPlatform Platform
)

Dumps shader pipeline stats to the log.

Public function

void

 

DumpShaderStats

(
    EShaderPlatform Platform,
    EShaderFrequency Frequency
)

Dumps shader stats to the log. Will also print some shader pipeline information.

Public function

void

 

EmitNullShaderParameterFatalError

(
    const FShader* Shader,
    const FShaderParametersMetadata* ParametersMetadata,
    uint16 MemberOffset
)

Raise fatal error when a required shader parameter has not been set.

Public function

void

 

EmitRDGWarning

(
    const FString& WarningMessage
)

Emits a render graph warning.

Public function

void

 

EndBatchedRelease()

Disables the batching of calls to BeginReleaseResource This is called in the game thread.

Public function

void

 

EnqueueUniqueRenderCommand

(
    LAMBDA& Lambda
)

Public function

void

 

EnqueueUniqueRenderCommand

(
    LAMBDA&& Lambda
)

Public function

 

ENUM_CLASS_FLAGS

Public function

FShaderType *

 

FindShaderTypeByName

(
    FName ShaderTypeName
)

Finds the shader type with a given name.

Public function

FShaderParametersMetadata *

 

FindUniformBufferStructByFName

(
    FName StructName
)

Public function

FShaderParametersMetadata *

 

FindUniformBufferStructByName

(
    const TCHAR* StructName
)

Finds the FShaderParametersMetadata corresponding to the given name, or NULL if not found.

Public function

FVertexFactoryType *

 

FindVertexFactoryType

(
    FName TypeName
)

Find the vertex factory type with the given name.

Public function

void

 

FlushPendingDeleteRHIResources_GameThread()

Public function

void

 

FlushPendingDeleteRHIResources_RenderThread()

Public function

void

 

FlushRenderingCommands

(
    bool bFlushDeferredDeletes
)

Waits for the rendering thread to finish executing all pending rendering commands.

Public function

void

 

FlushShaderFileCache()

Flushes the shader file and CRC cache, and regenerates the binary shader files if necessary.

Public function

void

 

GenerateReferencedUniformBuffers

(
    const TCHAR* SourceFilename,
    const TCHAR* ShaderTypeName,
    const TMap< FString, TArray< const TCHAR* > >& ShaderFileToUniformBufferVariables,
    TMap< const TCHAR*, FCachedUniformBufferDeclaration >& UniformBufferEntries
)

Parses the given source file and its includes for references of uniform buffers, which are then stored in UniformBufferEntries.

Public function

FVector

 

GenerateYAxis

(
    const VectorType& XAxis,
    const VectorType& ZAxis
)

Given 2 axes of a basis stored as a packed type, regenerates the y-axis tangent vector and scales by z.W

Public function

float

 

GetBasisDeterminantSign

(
    const FVector& XAxis,
    const FVector& YAxis,
    const FVector& ZAxis
)

Constructs a basis matrix for the axis vectors and returns the sign of the determinant

Public function

int8

 

GetBasisDeterminantSignByte

(
    const FPackedNormal& XAxis,
    const FPackedNormal& YAxis,
    const FPackedNormal& ZAxis
)

Constructs a basis matrix for the axis vectors and returns the sign of the determinant

Public function

ECubeFace

 

GetCubeFaceFromName

(
    const FString& Name
)

Convert from text string to ECubeFace

Public function

const TCHAR *

 

GetCubeFaceName

(
    ECubeFace Face
)

Convert from ECubeFace to text string

Public function

uint16

 

GetCubeVertexIndex

(
    uint32 X,
    uint32 Y,
    uint32 Z
)

Maps from an X,Y,Z cube vertex coordinate to the corresponding vertex index.

Public function

int32

 

GetCVarForceLOD()

Shared by renderer and engine, compiles down to a constant in final release

Public function

int32

 

GetCVarForceLODShadow()

Public function

bool

 

GetEmitRDGEvents()

Returns whether the current frame is emitting render graph events.

Public function

TShaderMap< FGlobalShaderType > *

 

GetGlobalShaderMap

(
    ERHIFeatureLevel::Type FeatureLevel
)

Overload for the above GetGlobalShaderMap which takes a feature level and translates to the appropriate shader platform

Public function

TShaderMap< FGlobalShaderType > *

 

GetGlobalShaderMap

(
    EShaderPlatform Platform
)

Accesses the global shader map.

Public function

FRHICommandListImmediate &

 

GetImmediateCommandList_ForRenderCommand()

Macros for using render commands.

Public function

TStatId

 

GetMemoryStatType

(
    EShaderFrequency ShaderFrequency
)

Controls whether shader related logs are visible.

Public function

FPendingCleanupObjects *

 

GetPendingCleanupObjects()

Transfers ownership of the current set of pending cleanup objects to the caller.

Public function

EPixelFormat

 

GetPixelFormatFromString

(
    const TCHAR* InPixelFormatStr
)

String to enum (not case sensitive)

Public function

const TCHAR *

 

GetPixelFormatString

(
    EPixelFormat InPixelFormat
)

Enum to string

Public function

const FSHAHash &

 

GetShaderFileHash

(
    const TCHAR* VirtualFilePath,
    EShaderPlatform ShaderPlatform
)

Calculates a Hash for the given filename if it does not already exist in the Hash cache.

Public function

const FSHAHash &

 

GetShaderFilesHash

(
    const TArray< FString >& VirtualFilePaths,
    EShaderPlatform ShaderPlatform
)

Calculates a Hash for the list of filenames if it does not already exist in the Hash cache.

Public function

void

 

GetShaderIncludes

(
    const TCHAR* EntryPointVirtualFilePath,
    const TCHAR* VirtualFilePath,
    TArray< FString >& IncludeVirtualFilePaths,
    EShaderPlatform ShaderPlatform,
    uint32 DepthLimit
)

Recursively populates IncludeFilenames with the include filenames from Filename

Public function

uint32

 

GetTypeHash

(
    const TShaderTypePermutation< MetaShaderType >& Var
)

Public function

uint64

 

GetTypeHash

(
    const FVirtualTextureLocalTile& T
)

Public function

FIndexBufferRHIRef &

 

GetUnitCubeIndexBuffer()

Unit cube index buffer

Public function

FVertexBufferRHIRef &

 

GetUnitCubeVertexBuffer()

Unit cube vertex buffer (VertexDeclarationFVector4)

Public function

FVertexDeclarationRHIRef &

 

GetVertexDeclarationFVector2()

Public function

FVertexDeclarationRHIRef &

 

GetVertexDeclarationFVector3()

Public function

FVertexDeclarationRHIRef &

 

GetVertexDeclarationFVector4()

Public function

bool

 

GPUSceneUseTexture2D

(
    EShaderPlatform Platform
)

Public function

void

 

InitializeShaderHashCache()

Initializes shader hash cache from IShaderFormatModules.

Public function

void

 

InitializeShaderTypes()

Initializes cached shader type data.

Public function

bool

 

IsAnyForwardShadingEnabled

(
    EShaderPlatform Platform
)

Returns if ForwardShading or SimpleForwardShading is enabled. Only valid for the current platform.

Public function

bool

 

IsForwardShadingEnabled

(
    EShaderPlatform Platform
)

Returns if ForwardShading is enabled.

Public function

bool

 

IsHDRAllowed()

Public function

bool

 

IsHDREnabled()

Public function

bool

 

IsRayTracingEnabled()

Returns `true_ when running on RT-capable machine and RT support is enabled for the project.

Public function

bool

 

IsRDGDebugEnabled()

Returns whether render graph runtime debugging is enabled.

Public function

bool

 

IsRDGImmediateModeEnabled()

Returns whether render graph is running in immediate mode.

Public function

bool

 

IsRenderingThreadHealthy()

Checks if the rendering thread is healthy and running, without crashing

Public function

bool

 

IsSimpleForwardShadingEnabled

(
    EShaderPlatform Platform
)

Public function

void

 

IssueScalableLongGPUTask

(
    FRHICommandListImmediate& RHICmdList,
    int32 NumIteration
)

Public function

bool

 

IsUsingBasePassVelocity

(
    EShaderPlatform Platform
)

Returns whether the base pass should output to the velocity buffer is enabled for a given shader platform

Public function

bool

 

IsUsingDBuffers

(
    EShaderPlatform Platform
)

Returns whether DBuffer decals are enabled for a given shader platform

Public function

bool

 

IsUsingDistanceFields

(
    EShaderPlatform Platform
)

Returns whether distance fields are enabled for a given shader platform

Public function

bool

 

IsUsingGBuffers

(
    EShaderPlatform Platform
)

Returns if the GBuffer is used. Only valid for the current platform.

Public function

bool

 

IsUsingPerPixelDBufferMask

(
    EShaderPlatform Platform
)

Public function

bool

 

IsUsingSelectiveBasePassOutputs

(
    EShaderPlatform Platform
)

Returns whether the base pass should use selective outputs for a given shader platform

Public function

bool

 

LoadShaderSourceFile

(
    const TCHAR* VirtualFilePath,
    EShaderPlatform ShaderPlatform,
    FString* OutFileContents,
    TArray< FShaderCompilerError >* OutCompileErrors
)

Loads the shader file with the given name.

Public function

void

 

LoadShaderSourceFileChecked

(
    const TCHAR* VirtualFilePath,
    EShaderPlatform ShaderPlatform,
    FString& OutFileContents
)

Loads the shader file with the given name.

Public function

void

 

MeasureLongGPUTaskExecutionTime

(
    FRHICommandListImmediate& RHICmdList
)

Public function

bool

 

MobileSupportsGPUScene

(
    EShaderPlatform Platform
)

Public function

constexpr bool

 

operator!

(
    ERDGPassFlags E
)

Public function

constexpr bool

 

operator!

(
    ERDGResourceFlags E
)

Public function

constexpr bool

 

operator!

(
    EVertexStreamUsage E
)

Public function

bool

 

operator!=

(
    const FParameterAllocation& A,
    const FParameterAllocation& B
)

Public function

bool

 

operator!=

(
    const FShaderCodeVendorExtension& A,
    const FShaderCodeVendorExtension& B
)

Public function

bool

 

operator!=

(
    const FVirtualTextureProducerHandle& Lhs,
    const FVirtualTextureProducerHandle& Rhs
)

Public function

bool

 

operator!=

(
    const FAllocatedVTDescription& Lhs,
    const FAllocatedVTDescription& Rhs
)

Public function

bool

 

operator!=

(
    const FVirtualTextureLocalTile& Lhs,
    const FVirtualTextureLocalTile& Rhs
)

Public function

constexpr ERDGPassFlags

 

operator&

(
    ERDGPassFlags Lhs,
    ERDGPassFlags Rhs
)

Public function

constexpr EVertexStreamUsage

 

operator&

(
    EVertexStreamUsage Lhs,
    EVertexStreamUsage Rhs
)

Public function

constexpr ERDGResourceFlags

 

operator&

(
    ERDGResourceFlags Lhs,
    ERDGResourceFlags Rhs
)

Public function

ERDGResourceFlags &

 

operator&=

(
    ERDGResourceFlags& Lhs,
    ERDGResourceFlags Rhs
)

Public function

EVertexStreamUsage &

 

operator&=

(
    EVertexStreamUsage& Lhs,
    EVertexStreamUsage Rhs
)

Public function

ERDGPassFlags &

 

operator&=

(
    ERDGPassFlags& Lhs,
    ERDGPassFlags Rhs
)

Public function

constexpr ERDGPassFlags

 

operator^

(
    ERDGPassFlags Lhs,
    ERDGPassFlags Rhs
)

Public function

constexpr ERDGResourceFlags

 

operator^

(
    ERDGResourceFlags Lhs,
    ERDGResourceFlags Rhs
)

Public function

constexpr EVertexStreamUsage

 

operator^

(
    EVertexStreamUsage Lhs,
    EVertexStreamUsage Rhs
)

Public function

ERDGPassFlags &

 

operator^=

(
    ERDGPassFlags& Lhs,
    ERDGPassFlags Rhs
)

Public function

ERDGResourceFlags &

 

operator^=

(
    ERDGResourceFlags& Lhs,
    ERDGResourceFlags Rhs
)

Public function

EVertexStreamUsage &

 

operator^=

(
    EVertexStreamUsage& Lhs,
    EVertexStreamUsage Rhs
)

Public function

constexpr EVertexStreamUsage

 

operator|

(
    EVertexStreamUsage Lhs,
    EVertexStreamUsage Rhs
)

Public function

constexpr ERDGPassFlags

 

operator|

(
    ERDGPassFlags Lhs,
    ERDGPassFlags Rhs
)

Public function

constexpr ERDGResourceFlags

 

operator|

(
    ERDGResourceFlags Lhs,
    ERDGResourceFlags Rhs
)

Public function

EVertexStreamUsage &

 

operator|=

(
    EVertexStreamUsage& Lhs,
    EVertexStreamUsage Rhs
)

Public function

ERDGResourceFlags &

 

operator|=

(
    ERDGResourceFlags& Lhs,
    ERDGResourceFlags Rhs
)

Public function

ERDGPassFlags &

 

operator|=

(
    ERDGPassFlags& Lhs,
    ERDGPassFlags Rhs
)

Public function

constexpr ERDGPassFlags

 

operator~

(
    ERDGPassFlags E
)

Public function

constexpr ERDGResourceFlags

 

operator~

(
    ERDGResourceFlags E
)

Public function

constexpr EVertexStreamUsage

 

operator~

(
    EVertexStreamUsage E
)

Public function

bool

 

operator==

(
    const FParameterAllocation& A,
    const FParameterAllocation& B
)

Public function

bool

 

operator==

(
    const FShaderCodeVendorExtension& A,
    const FShaderCodeVendorExtension& B
)

Public function

bool

 

operator==

(
    const FVirtualTextureProducerHandle& Lhs,
    const FVirtualTextureProducerHandle& Rhs
)

Public function

bool

 

operator==

(
    const FAllocatedVTDescription& Lhs,
    const FAllocatedVTDescription& Rhs
)

Public function

bool

 

operator==

(
    const FVirtualTextureLocalTile& Lhs,
    const FVirtualTextureLocalTile& Rhs
)

Public function

FString

 

ParseVirtualShaderFilename

(
    const FString& InFilename
)

Converts an absolute or relative shader filename to a filename relative to the shader directory.

Public function

bool

 

PlatformSupportsSimpleForwardShading

(
    EShaderPlatform Platform
)

Public function

void

 

QuantizeSceneBufferSize

(
    const FIntPoint& InBufferSize,
    FIntPoint& OutBufferSize
)

Takes the requested buffer size and quantizes it to an appropriate size for the rest of the rendering pipeline.

Public function

FRDGTextureRef

 

RegisterExternalTextureWithFallback

(
    FRDGBuilder& GraphBuilder,
    const TRefCountPtr< IPooledRenderTarget >& ExternalPooledTexture,
    const TRefCountPtr< IPooledRenderTarget >& FallbackPooledTexture,
    const TCHAR* ExternalPooledTextureName
)

Register external texture with fallback if the resource is invalid.

Public function

void

 

ReleaseResourceAndFlush

(
    FRenderResource* Resource
)

Sends a message to the rendering thread to release a resource, and spins until the rendering thread has processed the message.

Public function

void

 

RenderUtilsInit()

Public function

bool

 

ReplaceVirtualFilePathForShaderPlatform

(
    FString& InOutVirtualFilePath,
    EShaderPlatform ShaderPlatform
)

Replaces virtual platform path with appropriate path for a given ShaderPlatform.

Public function

void

 

ResetAllShaderSourceDirectoryMappings()

Hook for shader compile worker to reset the directory mappings.

Public function

void

 

RestoreGlobalShaderMap

(
    const FGlobalShaderBackupData& GlobalShaderData
)

Recreates shaders in the global shader map from the serialized memory.

Public function

void

 

SerializeUniformBufferInfo

(
    FShaderSaveArchive& Ar,
    const TMap< const TCHAR*, FCachedUniformBufferDeclaration >& UniformBufferEntries
)

Records information about all the uniform buffer layouts referenced by UniformBufferEntries.

Public function

void

 

SetLocalUniformBufferParameter

(
    FRHICommandList& RHICmdList,
    const TShaderRHIRef& Shader,
    const FShaderUniformBufferParameter& Parameter,
    const FLocalUniformBuffer& LocalUniformBuffer
)

Sets the value of a shader uniform buffer parameter to a uniform buffer containing the struct.

Public function

void

 

SetPixelShaderBool

(
    FRHICommandList& RHICmdList,
    FRHIPixelShader* PixelShader,
    const FShaderParameter& Parameter,
    bool Value
)

Sets the value of a pixel shader bool parameter.

Public function

void

 

SetRHIThreadEnabled

(
    bool bEnableDedicatedThread,
    bool bEnableRHIOnTaskThreads
)

Public function

void

 

SetSamplerParameter

(
    TRHICmdList& RHICmdList,
    TRHIShader* Shader,
    const FShaderResourceParameter& Parameter,
    FRHISamplerState* SamplerStateRHI
)

Sets the value of a shader sampler parameter. Template'd on shader type.

Public function

void

 

SetShaderParameters

(
    TRHICmdList& RHICmdList,
    const TShaderClass* Shader,
    TShaderRHI* ShadeRHI,
    const typename TShaderClass::FParameters& Parameters
)

Set shader's parameters from its parameters struct.

Public function

void

 

SetShaderUAVs

(
    TRHICmdList& RHICmdList,
    const TShaderClass* Shader,
    FRHIPixelShader* ShadeRHI,
    const typename TShaderClass::FParameters& Parameters
)

Public function

void

 

SetShaderUAVs

(
    TRHICmdList& RHICmdList,
    const TShaderClass* Shader,
    FRHIComputeShader* ShadeRHI,
    const typename TShaderClass::FParameters& Parameters
)

Public function

void

 

SetShaderUAVs

(
    TRHICmdList& RHICmdList,
    const TShaderClass* Shader,
    TShaderRHI* ShadeRHI,
    const typename TShaderClass::FParameters& Parameters
)

Set compute shader UAVs.

Public function

void

 

SetShaderValue

(
    TRHICmdList& RHICmdList,
    const ShaderRHIParamRef& Shader,
    const FShaderParameter& Parameter,
    const ParameterType& Value,
    uint32 ElementIndex
)

Sets the value of a shader parameter.

Public function

void

 

SetShaderValue

(
    FRHICommandList& RHICmdList,
    const ShaderRHIParamRef& Shader,
    const FShaderParameter& Parameter,
    bool Value,
    uint32 ElementIndex
)

Specialization of the above for C++ bool type.

Public function

void

 

SetShaderValue

(
    FRHIAsyncComputeCommandList& RHICmdList,
    const ShaderRHIParamRef& Shader,
    const FShaderParameter& Parameter,
    bool Value,
    uint32 ElementIndex
)

Specialization of the above for C++ bool type.

Public function

void

 

SetShaderValueArray

(
    TRHICmdList& RHICmdList,
    const ShaderRHIParamRef& Shader,
    const FShaderParameter& Parameter,
    const ParameterType* Values,
    uint32 NumElements,
    uint32 BaseElementIndex
)

Sets the value of a shader parameter array.

Public function

void

 

SetShaderValueArray

(
    TRHICmdList& RHICmdList,
    const ShaderRHIParamRef& Shader,
    const FShaderParameter& Parameter,
    const bool* Values,
    uint32 NumElements,
    uint32 BaseElementIndex
)

Specialization of the above for C++ bool type.

Public function

void

 

SetShaderValueOnContext

(
    IRHICommandContext& RHICmdListContext,
    const ShaderRHIParamRef& Shader,
    const FShaderParameter& Parameter,
    const ParameterType& Value,
    uint32 ElementIndex
)

Public function

void

 

SetSRVParameter

(
    TRHICmdList& RHICmdList,
    TRHIShader* Shader,
    const FShaderResourceParameter& Parameter,
    FRHIShaderResourceView* NewShaderResourceViewRHI
)

Sets the value of a shader resource view parameter Template'd on shader type (e.g. pixel shader or compute shader).

Public function

void

 

SetSRVParameter

(
    TRHICmdList& RHICmdList,
    const TRefCountPtr< TRHIShader >& Shader,
    const FShaderResourceParameter& Parameter,
    FRHIShaderResourceView* NewShaderResourceViewRHI
)

Public function

void

 

SetTextureParameter

(
    TRHICmdList& RHICmdList,
    TRHIShader* Shader,
    const FShaderResourceParameter& TextureParameter,
    const FShaderResourceParameter& SamplerParameter,
    FRHISamplerState* SamplerStateRHI,
    FRHITexture* TextureRHI,
    uint32 ElementIndex
)

Sets the value of a shader texture parameter. Template'd on shader type.

Public function

void

 

SetTextureParameter

(
    TRHICmdList& RHICmdList,
    TRHIShader* Shader,
    const FShaderResourceParameter& TextureParameter,
    const FShaderResourceParameter& SamplerParameter,
    const FTexture* Texture,
    uint32 ElementIndex
)

Sets the value of a shader texture parameter. Template'd on shader type

Public function

void

 

SetTextureParameter

(
    TRHICmdList& RHICmdList,
    TRHIShader* Shader,
    const FShaderResourceParameter& Parameter,
    FRHITexture* NewTextureRHI
)

Sets the value of a shader surface parameter (e.g. to access MSAA samples).

Public function

void

 

SetUAVParameter

(
    TRHICmdList& RHICmdList,
    FRHIComputeShader* ComputeShader,
    const FShaderResourceParameter& Parameter,
    FRHIUnorderedAccessView* NewUnorderedAccessViewRHI
)

Sets the value of a unordered access view parameter

Public function

bool

 

SetUAVParameterIfCS

(
    TRHICmdList& RHICmdList,
    FRHIHullShader* Shader,
    const FShaderResourceParameter& UAVParameter,
    FRHIUnorderedAccessView* UAV
)

Public function

bool

 

SetUAVParameterIfCS

(
    TRHICmdList& RHICmdList,
    FRHIVertexShader* Shader,
    const FShaderResourceParameter& UAVParameter,
    FRHIUnorderedAccessView* UAV
)

Public function

bool

 

SetUAVParameterIfCS

(
    TRHICmdList& RHICmdList,
    FRHIDomainShader* Shader,
    const FShaderResourceParameter& UAVParameter,
    FRHIUnorderedAccessView* UAV
)

Public function

bool

 

SetUAVParameterIfCS

(
    TRHICmdList& RHICmdList,
    FRHIGeometryShader* Shader,
    const FShaderResourceParameter& UAVParameter,
    FRHIUnorderedAccessView* UAV
)

Public function

bool

 

SetUAVParameterIfCS

(
    TRHICmdList& RHICmdList,
    FRHIComputeShader* Shader,
    const FShaderResourceParameter& UAVParameter,
    FRHIUnorderedAccessView* UAV
)

Public function

bool

 

SetUAVParameterIfCS

(
    TRHICmdList& RHICmdList,
    FRHIPixelShader* Shader,
    const FShaderResourceParameter& UAVParameter,
    FRHIUnorderedAccessView* UAV
)

Public function

void

 

SetUniformBufferParameter

(
    TRHICmdList& RHICmdList,
    const TShaderRHIRef& Shader,
    const FShaderUniformBufferParameter& Parameter,
    FRHIUniformBuffer* UniformBufferRHI
)

Sets the value of a shader uniform buffer parameter to a uniform buffer containing the struct.

Public function

void

 

SetUniformBufferParameter

(
    TRHICmdList& RHICmdList,
    const TShaderRHIRef& Shader,
    const TShaderUniformBufferParameter< TBufferStruct >& Parameter,
    const TUniformBufferRef< TBufferStruct >& UniformBufferRef
)

Sets the value of a shader uniform buffer parameter to a uniform buffer containing the struct.

Public function

void

 

SetUniformBufferParameter

(
    TRHICmdList& RHICmdList,
    const TShaderRHIRef& Shader,
    const TShaderUniformBufferParameter< TBufferStruct >& Parameter,
    const TUniformBuffer< TBufferStruct >& UniformBuffer
)

Sets the value of a shader uniform buffer parameter to a uniform buffer containing the struct.

Public function

void

 

SetUniformBufferParameterImmediate

(
    TRHICmdList& RHICmdList,
    const TShaderRHIRef& Shader,
    const TShaderUniformBufferParameter< TBufferStruct >& Parameter,
    const TBufferStruct& UniformBufferValue
)

Sets the value of a shader uniform buffer parameter to a value of the struct.

Public function

void

 

SetUniformBufferParameterImmediate

(
    FRHICommandList& RHICmdList,
    const TShaderRHIRef& Shader,
    const TShaderUniformBufferParameter< TBufferStruct >& Parameter,
    const TBufferStruct& UniformBufferValue
)

Sets the value of a shader uniform buffer parameter to a value of the struct.

Public function

void

 

ShaderMapAppendKeyString

(
    EShaderPlatform Platform,
    FString& KeyString
)

Appends to KeyString for all shaders.

Public function

bool

 

ShouldCompileRayTracingShadersForProject

(
    EShaderPlatform ShaderPlatform
)

Public function

bool

 

ShouldExportShaderDebugInfo

(
    EShaderPlatform Platform
)

Returns true if debug information should be exported to separate files for a given platform .

Public function

bool

 

ShouldKeepShaderDebugInfo

(
    EShaderPlatform Platform
)

Returns true if debug information should be kept for a given platform.

Public function

void

 

StartBatchedRelease()

Enables the batching of calls to BeginReleaseResource This is called in the game thread.

Public function

void

 

StartRenderCommandFenceBundler()

Public function

void

 

StartRenderingThread()

Starts the rendering thread.

Public function

void

 

StopRenderCommandFenceBundler()

Public function

void

 

StopRenderingThread()

Stops the rendering thread.

Public function

void

 

TickRenderingTickables()

Public function

void

 

UninitializeShaderTypes()

Uninitializes cached shader type data.

Public function

void

 

UnsetShaderUAVs

(
    TRHICmdList& RHICmdList,
    const TShaderClass* Shader,
    FRHIComputeShader* ShadeRHI
)

Unset compute shader UAVs.

Public function

bool

 

UseGPUScene

(
    EShaderPlatform Platform,
    ERHIFeatureLevel::Type FeatureLevel
)

Public function

bool

 

UseVirtualTexturing

(
    ERHIFeatureLevel::Type InFeatureLevel,
    const ITargetPlatform* TargetPlatform
)

Checks if virtual texturing enabled and supported

Public function

void

 

ValidateShaderParameters

(
    const FShader* Shader,
    const FShaderParametersMetadata* ParametersMetadata,
    const void* Parameters
)

Validates that all resource parameters of a shader are set.

Public function

void

 

ValidateShaderParameters

(
    const TShaderClass* Shader,
    const typename TShaderClass::FParameters& Parameters
)

Public function

void

 

VerifyShaderSourceFiles

(
    EShaderPlatform ShaderPlatform
)

Kick off SHA verification for all shader source files

Public function

bool

 

VTRequestPageStatus_HasData

(
    EVTRequestPageStatus InStatus
)

Check to see there is data available (possibly requiring waiting) given the current status

Variables

Name Description

Public variable

FTexture *

 

GBlackAlpha1VolumeTexture

A global black volume texture, with alpha=1.

Public variable

FTexture *

 

GBlackArrayTexture

A global black array texture.

Public variable

FTexture *

 

GBlackCubeArrayTexture

A global black cube array texture.

Public variable

FTexture *

 

GBlackTexture

A global black texture.

Public variable

FTexture *

 

GBlackTextureCube

A global black cube texture.

Public variable

FTexture *

 

GBlackTextureDepthCube

A global black cube depth texture.

Public variable

FTextureWithSRV *

 

GBlackTextureWithSRV

Public variable

FTexture *

 

GBlackUintVolumeTexture

A global black volume texture

Global black volume texture resource.

Public variable

FTexture *

 

GBlackVolumeTexture

A global black volume texture.

Global black volume texture resource.

Public variable

TGlobalResource< FClearVertexBuffer >

 

GClearVertexBuffer

Public variable

TGlobalResource< FCubeIndexBuffer >

 

GCubeIndexBuffer

Public variable

const uint16[36]

 

GCubeIndices

The indices for drawing a cube.

Public variable

const uint32

 

GDiffuseConvolveMipLevel

4: 8x8 cubemap resolution, shader needs to use the same value as preprocessing

Public variable

TGlobalResource< FEmptyVertexDeclaration >

 

GEmptyVertexDeclaration

Public variable

float

 

GEnableMipLevelFading

Whether to enable mip-level fading or not: +1.0f if enabled, -1.0f if disabled.

Public variable

TGlobalResource< FFilterVertexDeclaration >

 

GFilterVertexDeclaration

Public variable

uint32

 

GGameThreadTime

How many cycles the gamethread used (excluding idle time).

Public variable

int32

 

GGlobalBufferNumFramesUnusedThresold

Number of frames after which unused global resource allocations will be discarded.

Public variable

TShaderMap< FGlobalShaderType > *[SP_NumPlatforms]

 

GGlobalShaderMap

The global shader map.

Public variable

FInputLatencyTimer

 

GInputLatencyTimer

Global input latency timer. Defined in UnrealClient.cpp

Public variable

bool

 

GIsThreadedRendering

Render thread API.

Public variable

const int32

 

GlobalShaderMapId

Used to identify the global shader map in compile queues.

Public variable

TAtomic< bool >

 

GMainThreadBlockedOnRenderThread

Whether the main thread is currently blocked on the rendering thread, e.g. a call to FlushRenderingCommands.

Public variable

TGlobalResource< FMediaVertexDeclaration >

 

GMediaVertexDeclaration

Public variable

FTexture *

 

GMipColorTexture

A global texture that has a different solid color in each mip-level.

Public variable

int32

 

GMipColorTextureMipLevels

Number of mip-levels in 'GMipColorTexture'

Public variable

FMipFadeSettings[MipFade_NumSettings]

 

GMipFadeSettings

Global mip fading settings, indexed by EMipFadeSettings.

Public variable

TGlobalResource< FNullColorVertexBuffer >

 

GNullColorVertexBuffer

The global null color vertex buffer, which is set with a stride of 0 on meshes without a color component.

Public variable

bool

 

GPauseRenderingRealtimeClock

Whether to pause the global realtime clock for the rendering thread (read and write only on main thread).

Public variable

FPixelFormatInfo[PF_MAX]

 

GPixelFormats

Public variable

TGlobalResource< FPrimitiveIdDummyBuffer >

 

GPrimitiveIdDummy

Public variable

FTimer

 

GRenderingRealtimeClock

Global realtime clock for the rendering thread.

Public variable

TGlobalResource< FRenderTargetPool >

 

GRenderTargetPool

The global render targets for easy shading.

The global render targets pool.

Public variable

uint32[ERenderThreadIdleTypes::Num]

 

GRenderThreadIdle

Accumulates how many cycles the renderthread has been idle. It's defined in RenderingThread.cpp.

Public variable

uint32[ERenderThreadIdleTypes::Num]

 

GRenderThreadNumIdle

Accumulates how times renderthread was idle. It's defined in RenderingThread.cpp.

Public variable

uint32

 

GRenderThreadTime

How many cycles the renderthread used (excluding idle time).

Public variable

uint32

 

GRHIThreadTime

How many cycles the rhithread used (excluding idle time).

Public variable

TGlobalResource< FScreenRectangleIndexBuffer >

 

GScreenRectangleIndexBuffer

Public variable

TGlobalResource< FScreenRectangleVertexBuffer >

 

GScreenRectangleVertexBuffer

Public variable

TGlobalResource< FScreenSpaceVertexBuffer >

 

GScreenSpaceVertexBuffer

Public variable

uint32

 

GSwapBufferTime

How many cycles it took to swap buffers to present the frame.

Public variable

TGlobalResource< FTwoTrianglesIndexBuffer >

 

GTwoTrianglesIndexBuffer

Public variable

bool

 

GUseThreadedRendering

Whether the rendering thread should be created or not.

Public variable

TGlobalResource< FVisualizeTexture >

 

GVisualizeTexture

The global render targets for easy shading.

Public variable

FTexture *

 

GWhiteTexture

A global white texture.

Public variable

FTexture *

 

GWhiteTextureCube

A global white cube texture.

Public variable

FTextureWithSRV *

 

GWhiteTextureWithSRV

Public variable

const int32

 

kUniqueShaderPermutationId

Public variable

 

STATCAT_Advanced

Public variable

 

STATCAT_Advanced

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback