FDynamicRHI

The interface which is implemented by the dynamically bound RHI.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

RHI

Header

/Engine/Source/Runtime/RHI/Public/DynamicRHI.h

Include

#include "DynamicRHI.h"

Syntax

class FDynamicRHI

Remarks

The interface which is implemented by the dynamically bound RHI.

Variables

Name Description

Protected variable

TArray< uint32 >

 

PixelFormatBlockBytes

Destructors

Name Description

Public function Virtual

~FDynamicRHI()

Declare a virtual destructor, so the dynamic RHI can be deleted without knowing its type.

Functions

Name Description

Public function Virtual

FTexture2DRHIRef

 

AsyncReallocateTexture2D_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture2D* Texture2D,
    int32 NewMipCount,
    int32 NewSizeX,
    int32 NewSizeY,
    FThreadSafeCounter* RequestStatus
)

Public function Virtual

FUpdateTexture3DData

 

BeginUpdateTexture3D_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture3D* Texture,
    uint32 MipIndex,
    const FUpdateTextureRegion3D& UpdateRegion
)

Public function Virtual

ETextureReallocationStatus

 

CancelAsyncReallocateTexture2D_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture2D* Texture2D,
    bool bBlockUntilCompleted
)

Public function Virtual Const

bool

 

CheckGpuHeartbeat()

Checks if the GPU is still alive.

Public function Virtual

FIndexBufferRHIRef

 

CreateAndLockIndexBuffer_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    uint32 Stride,
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo,
    void*& OutDataBuffer
)

Public function Virtual

FVertexBufferRHIRef

 

CreateAndLockVertexBuffer_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo,
    void*& OutDataBuffer
)

Public function Virtual

FComputeShaderRHIRef

 

CreateComputeShader_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function Virtual

FComputeShaderRHIRef

 

CreateComputeShader_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    const TArray< uint8 >& Code
)

Public function Virtual

FDomainShaderRHIRef

 

CreateDomainShader_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function Virtual

FDomainShaderRHIRef

 

CreateDomainShader_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    const TArray< uint8 >& Code
)

Public function Virtual

FGeometryShaderRHIRef

 

CreateGeometryShader_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    const TArray< uint8 >& Code
)

Public function Virtual

FGeometryShaderRHIRef

 

CreateGeometryShader_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function Virtual

FHullShaderRHIRef

 

CreateHullShader_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function Virtual

FHullShaderRHIRef

 

CreateHullShader_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    const TArray< uint8 >& Code
)

Public function Virtual

FIndexBufferRHIRef

 

CreateIndexBuffer_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    uint32 Stride,
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo
)

Public function Virtual

FPixelShaderRHIRef

 

CreatePixelShader_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    const TArray< uint8 >& Code
)

Public function Virtual

FPixelShaderRHIRef

 

CreatePixelShader_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function Virtual

FShaderResourceViewRHIRef

 

CreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIIndexBuffer* Buffer
)

Public function Virtual

FShaderResourceViewRHIRef

 

CreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIVertexBuffer* VertexBuffer,
    uint32 Stride,
    uint8 Format
)

Public function Virtual

FStructuredBufferRHIRef

 

CreateStructuredBuffer_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    uint32 Stride,
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo
)

Public function Virtual

FVertexBufferRHIRef

 

CreateVertexBuffer_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo
)

Public function Virtual

FVertexShaderRHIRef

 

CreateVertexShader_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function Virtual

FVertexShaderRHIRef

 

CreateVertexShader_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    const TArray< uint8 >& Code
)

Public function Virtual

void

 

EnableIdealGPUCaptureOptions

(
    bool bEnable
)

Utilities.

Public function Virtual

void

 

EndMultiUpdateTexture3D_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    TArray< FUpdateTexture3DData >& UpdateDataArray
)

Public function Virtual

void

 

EndUpdateTexture3D_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FUpdateTexture3DData& UpdateData
)

Public function Virtual

ETextureReallocationStatus

 

FinalizeAsyncReallocateTexture2D_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture2D* Texture2D,
    bool bBlockUntilCompleted
)

Public function Virtual

void

 

FlushPendingLogs()

Some RHIs can have pending messages/logs for error tracking, or debug modes.

Public function

const TCHAR *

 

GetName()

Public function

void

 

Init()

Initializes the RHI; separate from IDynamicRHIModule::CreateRHI so that GDynamicRHI is set when it is called.

Public function

void

 

InitPixelFormatInfo

(
    const TArray< uint32 >& PixelFormatBlockBytesIn
)

Called after PostInit to initialize the pixel format info, which is needed for some commands default implementations

Public function Virtual

void *

 

LockIndexBuffer_BottomOfPipe

(
    FRHICommandListImmediate& RHICmdList,
    FRHIIndexBuffer* IndexBuffer,
    uint32 Offset,
    uint32 SizeRHI,
    EResourceLockMode LockMode
)

Public function Virtual

void *

 

LockStagingBuffer_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIStagingBuffer* StagingBuffer,
    uint32 Offset,
    uint32 SizeRHI
)

Lock a staging buffer to read contents on the CPU that were written by the GPU, without having to stall.

Public function Virtual

void *

 

LockStructuredBuffer_BottomOfPipe

(
    FRHICommandListImmediate& RHICmdList,
    FRHIStructuredBuffer* StructuredBuffer,
    uint32 Offset,
    uint32 SizeRHI,
    EResourceLockMode LockMode
)

Buffer Lock/Unlock.

Public function Virtual

void *

 

LockTexture2D_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture2D* Texture,
    uint32 MipIndex,
    EResourceLockMode LockMode,
    uint32& DestStride,
    bool bLockWithinMiptail,
    bool bNeedsDefaultRHIFlush
)

Public function Virtual

void *

 

LockVertexBuffer_BottomOfPipe

(
    FRHICommandListImmediate& RHICmdList,
    FRHIVertexBuffer* VertexBuffer,
    uint32 Offset,
    uint32 SizeRHI,
    EResourceLockMode LockMode
)

Public function Virtual

void

 

PostInit()

Called after the RHI is initialized; before the render thread is started.

Public function

void

 

RHIAcquireThreadOwnership()

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIAcquireTransientResource_RenderThread

(
    FRHIStructuredBuffer* Buffer
)

Public function Virtual

void

 

RHIAcquireTransientResource_RenderThread

(
    FRHITexture* Texture
)

Public function Virtual

void

 

RHIAcquireTransientResource_RenderThread

(
    FRHIVertexBuffer* Buffer
)

Public function Virtual

void

 

RHIAdvanceFrameFence()

Public function

void

 

RHIAdvanceFrameForGetViewportBackBuffer

(
    FRHIViewport* Viewport
)

Only relevant with an RHI thread, this advances the backbuffer for the purpose of GetViewportBackBuffer FlushType: Thread safe

Public function Virtual

void

 

RHIAliasTextureResources

(
    FRHITexture* DestTexture,
    FRHITexture* SrcTexture
)

Public function

FTexture2DRHIRef

 

RHIAsyncCreateTexture2D

(
    uint32 SizeX,
    uint32 SizeY,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    void** InitialMipData,
    uint32 NumInitialMips
)

FlushType: Thread safe.

Public function

FTexture2DRHIRef

 

RHIAsyncReallocateTexture2D

(
    FRHITexture2D* Texture2D,
    int32 NewMipCount,
    int32 NewSizeX,
    int32 NewSizeY,
    FThreadSafeCounter* RequestStatus
)

Starts an asynchronous texture reallocation.

Public function Virtual

void

 

RHIBeginSuspendRendering()

Tells the RHI we're about to suspend it.

Public function Virtual

void

 

RHIBindDebugLabelName

(
    FRHIUnorderedAccessView* UnorderedAccessViewRHI,
    const TCHAR* Name
)

Public function

void

 

RHIBindDebugLabelName

(
    FRHITexture* Texture,
    const TCHAR* Name
)

FlushType: Thread safe.

Public function

void

 

RHIBlockUntilGPUIdle()

Blocks the CPU until the GPU catches up and goes idle. FlushType: Flush Immediate (seems wrong)

Public function

uint64

 

RHICalcTexture2DPlatformSize

(
    uint32 SizeX,
    uint32 SizeY,
    uint8 Format,
    uint32 NumMips,
    uint32 NumSamples,
    uint32 Flags,
    const FRHIResourceCreateInfo& CreateInfo,
    uint32& OutAlign
)

FlushType: Thread safe.

Public function

uint64

 

RHICalcTexture3DPlatformSize

(
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    const FRHIResourceCreateInfo& CreateInfo,
    uint32& OutAlign
)

FlushType: Thread safe.

Public function

uint64

 

RHICalcTextureCubePlatformSize

(
    uint32 Size,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    const FRHIResourceCreateInfo& CreateInfo,
    uint32& OutAlign
)

FlushType: Thread safe.

Public function Virtual

void

 

RHICalibrateTimers()

Public function

ETextureReallocationStatus

 

RHICancelAsyncReallocateTexture2D

(
    FRHITexture2D* Texture2D,
    bool bBlockUntilCompleted
)

FlushType: Wait RHI Thread.

Public function Virtual

void

 

RHICheckViewportHDRStatus

(
    FRHIViewport* Viewport
)

Tests the viewport to see if its HDR status has changed. This is usually tested after a window has been moved.

Public function

uint32

 

RHIComputeMemorySize

(
    FRHITexture* TextureRHI
)

FlushType: Thread safe.

Public function

void

 

RHICopySharedMips

(
    FRHITexture2D* DestTexture2D,
    FRHITexture2D* SrcTexture2D
)

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHICopySubTextureRegion

(
    FRHITexture2D* SourceTexture,
    FRHITexture2D* DestinationTexture,
    FBox2D SourceBox,
    FBox2D DestinationBox
)

Public function Virtual

void

 

RHICopySubTextureRegion_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture2D* SourceTexture,
    FRHITexture2D* DestinationTexture,
    FBox2D SourceBox,
    FBox2D DestinationBox
)

Copy the source box pixels in the destination box texture, return true if implemented for the current platform

Public function

void

 

RHICopyVertexBuffer

(
    FRHIVertexBuffer* SourceBuffer,
    FRHIVertexBuffer* DestBuffer
)

FlushType: Flush Immediate (seems dangerous)

Public function Virtual

FTextureRHIRef

 

RHICreateAliasedTexture

(
    FRHITexture* SourceTexture
)

Public function

FBlendStateRHIRef

 

RHICreateBlendState

(
    const FBlendStateInitializerRHI& Initializer
)

FlushType: Thread safe.

Public function

FBoundShaderStateRHIRef

 

RHICreateBoundShaderState

(
    FRHIVertexDeclaration* VertexDeclaration,
    FRHIVertexShader* VertexShader,
    FRHIHullShader* HullShader,
    FRHIDomainShader* DomainShader,
    FRHIPixelShader* PixelShader,
    FRHIGeometryShader* GeometryShader
)

FlushType: Thread safe, but varies depending on the RHI.

Public function Virtual

FComputeFenceRHIRef

 

RHICreateComputeFence

(
    const FName& Name
)

FlushType: Thread safe, but varies depending on the RHI.

Public function Virtual

TRefCountPtr< FRHIComputePipelineState >

 

RHICreateComputePipelineState

(
    FRHIComputeShader* ComputeShader,
    FRHIPipelineBinaryLibrary* PipelineBinary
)

Public function Virtual

TRefCountPtr< FRHIComputePipelineState >

 

RHICreateComputePipelineState

(
    FRHIComputeShader* ComputeShader
)

Public function Virtual

FComputeShaderRHIRef

 

RHICreateComputeShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

FlushType: Wait RHI Thread.

Public function

FComputeShaderRHIRef

 

RHICreateComputeShader

(
    const TArray< uint8 >& Code
)

FlushType: Wait RHI Thread.

Public function

FDepthStencilStateRHIRef

 

RHICreateDepthStencilState

(
    const FDepthStencilStateInitializerRHI& Initializer
)

FlushType: Thread safe.

Public function Virtual

FDomainShaderRHIRef

 

RHICreateDomainShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

FlushType: Wait RHI Thread.

Public function

FDomainShaderRHIRef

 

RHICreateDomainShader

(
    const TArray< uint8 >& Code
)

FlushType: Wait RHI Thread.

Public function Virtual

FGeometryShaderRHIRef

 

RHICreateGeometryShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

FlushType: Wait RHI Thread.

Public function

FGeometryShaderRHIRef

 

RHICreateGeometryShader

(
    const TArray< uint8 >& Code
)

FlushType: Wait RHI Thread.

Public function Virtual

FGPUFenceRHIRef

 

RHICreateGPUFence

(
    const FName& Name
)

Public function Virtual

FGraphicsPipelineStateRHIRef

 

RHICreateGraphicsPipelineState

(
    const FGraphicsPipelineStateInitializer& Initializer
)

Creates a graphics pipeline state object (PSO) that represents a complete gpu pipeline for rendering.

Public function Virtual

FGraphicsPipelineStateRHIRef

 

RHICreateGraphicsPipelineState

(
    const FGraphicsPipelineStateInitializer& Initializer,
    FRHIPipelineBinaryLibrary* PipelineBinary
)

Public function

FHullShaderRHIRef

 

RHICreateHullShader

(
    const TArray< uint8 >& Code
)

FlushType: Wait RHI Thread.

Public function Virtual

FHullShaderRHIRef

 

RHICreateHullShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

FlushType: Wait RHI Thread.

Public function

FIndexBufferRHIRef

 

RHICreateIndexBuffer

(
    uint32 Stride,
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo
)

FlushType: Wait RHI Thread.

Public function

FPixelShaderRHIRef

 

RHICreatePixelShader

(
    const TArray< uint8 >& Code
)

FlushType: Wait RHI Thread.

Public function Virtual

FPixelShaderRHIRef

 

RHICreatePixelShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

FlushType: Wait RHI Thread.

Public function

FRasterizerStateRHIRef

 

RHICreateRasterizerState

(
    const FRasterizerStateInitializerRHI& Initializer
)

FlushType: Thread safe.

Public function

FRenderQueryRHIRef

 

RHICreateRenderQuery

(
    ERenderQueryType QueryType
)

FlushType: Wait RHI Thread.

Public function Virtual

FRenderQueryRHIRef

 

RHICreateRenderQuery_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    ERenderQueryType QueryType
)

Public function Virtual

FRenderQueryPoolRHIRef

 

RHICreateRenderQueryPool

(
    ERenderQueryType QueryType,
    uint32 NumQueries
)

FlushType: Must be Thread-Safe.

Public function

FSamplerStateRHIRef

 

RHICreateSamplerState

(
    const FSamplerStateInitializerRHI& Initializer
)

FlushType: Thread safe.

Public function Virtual

FRHIShaderLibraryRef

 

RHICreateShaderLibrary

(
    EShaderPlatform Platform,
    FString const& FilePath,
    FString const& Name
)

FlushType: Must be Thread-Safe.

Public function Virtual

FRHIShaderLibraryRef

 

RHICreateShaderLibrary_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    EShaderPlatform Platform,
    FString FilePath,
    FString Name
)

Public function

FShaderResourceViewRHIRef

 

RHICreateShaderResourceView

(
    FRHITexture* Texture2DRHI,
    const FRHITextureSRVCreateInfo& CreateInfo
)

FlushType: Wait RHI Thread.

Public function

FShaderResourceViewRHIRef

 

RHICreateShaderResourceView

(
    FRHIIndexBuffer* Buffer
)

FlushType: Wait RHI Thread.

Public function

FShaderResourceViewRHIRef

 

RHICreateShaderResourceView

(
    FRHIStructuredBuffer* StructuredBuffer
)

FlushType: Wait RHI Thread.

Public function

FShaderResourceViewRHIRef

 

RHICreateShaderResourceView

(
    FRHIVertexBuffer* VertexBuffer,
    uint32 Stride,
    uint8 Format
)

FlushType: Wait RHI Thread.

Public function Virtual

FShaderResourceViewRHIRef

 

RHICreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIStructuredBuffer* StructuredBuffer
)

Public function Virtual

FShaderResourceViewRHIRef

 

RHICreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIVertexBuffer* VertexBuffer,
    uint32 Stride,
    uint8 Format
)

Public function Virtual

FShaderResourceViewRHIRef

 

RHICreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture* Texture,
    const FRHITextureSRVCreateInfo& CreateInfo
)

Public function Virtual

FShaderResourceViewRHIRef

 

RHICreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIIndexBuffer* Buffer
)

Public function Virtual

FShaderResourceViewRHIRef

 

RHICreateShaderResourceViewFMask

(
    FRHITexture2D* Texture2DRHI
)

FlushType: Wait RHI Thread.

Public function Virtual

FShaderResourceViewRHIRef

 

RHICreateShaderResourceViewFMask_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture2D* Texture2D
)

Public function Virtual

FShaderResourceViewRHIRef

 

RHICreateShaderResourceViewHTile

(
    FRHITexture2D* RenderTarget
)

Public function Virtual

FShaderResourceViewRHIRef

 

RHICreateShaderResourceViewWriteMask

(
    FRHITexture2D* Texture2DRHI
)

FlushType: Wait RHI Thread.

Public function Virtual

FShaderResourceViewRHIRef

 

RHICreateShaderResourceViewWriteMask_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture2D* Texture2D
)

Public function Virtual

FStagingBufferRHIRef

 

RHICreateStagingBuffer()

FlushType: Thread safe.

Public function

FStructuredBufferRHIRef

 

RHICreateStructuredBuffer

(
    uint32 Stride,
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo
)

FlushType: Wait RHI Thread.

Public function

FTexture2DRHIRef

 

RHICreateTexture2D

(
    uint32 SizeX,
    uint32 SizeY,
    uint8 Format,
    uint32 NumMips,
    uint32 NumSamples,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

FlushType: Wait RHI Thread.

Public function Virtual

FTexture2DRHIRef

 

RHICreateTexture2D_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    uint32 SizeX,
    uint32 SizeY,
    uint8 Format,
    uint32 NumMips,
    uint32 NumSamples,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FTexture2DArrayRHIRef

 

RHICreateTexture2DArray

(
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format,
    uint32 NumMips,
    uint32 NumSamples,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

FlushType: Wait RHI Thread.

Public function Virtual

FTexture2DArrayRHIRef

 

RHICreateTexture2DArray_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format,
    uint32 NumMips,
    uint32 NumSamples,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FTexture3DRHIRef

 

RHICreateTexture3D

(
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

FlushType: Wait RHI Thread.

Public function Virtual

FTexture3DRHIRef

 

RHICreateTexture3D_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FTextureCubeRHIRef

 

RHICreateTextureCube

(
    uint32 Size,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

FlushType: Wait RHI Thread.

Public function Virtual

FTextureCubeRHIRef

 

RHICreateTextureCube_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    uint32 Size,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FTextureCubeRHIRef

 

RHICreateTextureCubeArray

(
    uint32 Size,
    uint32 ArraySize,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

FlushType: Wait RHI Thread.

Public function Virtual

FTextureCubeRHIRef

 

RHICreateTextureCubeArray_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    uint32 Size,
    uint32 ArraySize,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

Public function Virtual

FTexture2DRHIRef

 

RHICreateTextureExternal2D

(
    uint32 SizeX,
    uint32 SizeY,
    uint8 Format,
    uint32 NumMips,
    uint32 NumSamples,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

FlushType: Wait RHI Thread.

Public function Virtual

FTexture2DRHIRef

 

RHICreateTextureExternal2D_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    uint32 SizeX,
    uint32 SizeY,
    uint8 Format,
    uint32 NumMips,
    uint32 NumSamples,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FTextureReferenceRHIRef

 

RHICreateTextureReference

(
    FLastRenderTimeContainer* LastRenderTime
)

FlushType: Wait RHI Thread.

Public function Virtual

FTextureReferenceRHIRef

 

RHICreateTextureReference_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FLastRenderTimeContainer* LastRenderTime
)

Public function

FUniformBufferRHIRef

 

RHICreateUniformBuffer

(
    const void* Contents,
    const FRHIUniformBufferLayout& Layout,
    EUniformBufferUsage Usage,
    EUniformBufferValidation Validation
)

FlushType: Thread safe, but varies depending on the RHI.

Public function

FUnorderedAccessViewRHIRef

 

RHICreateUnorderedAccessView

(
    FRHIIndexBuffer* IndexBuffer,
    uint8 Format
)

FlushType: Wait RHI Thread.

Public function

FUnorderedAccessViewRHIRef

 

RHICreateUnorderedAccessView

(
    FRHITexture* Texture,
    uint32 MipLevel
)

FlushType: Wait RHI Thread.

Public function

FUnorderedAccessViewRHIRef

 

RHICreateUnorderedAccessView

(
    FRHIVertexBuffer* VertexBuffer,
    uint8 Format
)

FlushType: Wait RHI Thread.

Public function

FUnorderedAccessViewRHIRef

 

RHICreateUnorderedAccessView

(
    FRHIStructuredBuffer* StructuredBuffer,
    bool bUseUAVCounter,
    bool bAppendBuffer
)

FlushType: Wait RHI Thread.

Public function Virtual

FUnorderedAccessViewRHIRef

 

RHICreateUnorderedAccessView

(
    FRHITexture* Texture,
    uint32 MipLevel,
    uint8 Format
)

FlushType: Wait RHI Thread.

Public function Virtual

FUnorderedAccessViewRHIRef

 

RHICreateUnorderedAccessView_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture* Texture,
    uint32 MipLevel
)

Public function Virtual

FUnorderedAccessViewRHIRef

 

RHICreateUnorderedAccessView_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIVertexBuffer* VertexBuffer,
    uint8 Format
)

Public function Virtual

FUnorderedAccessViewRHIRef

 

RHICreateUnorderedAccessView_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIIndexBuffer* IndexBuffer,
    uint8 Format
)

Public function Virtual

FUnorderedAccessViewRHIRef

 

RHICreateUnorderedAccessView_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIStructuredBuffer* StructuredBuffer,
    bool bUseUAVCounter,
    bool bAppendBuffer
)

Public function Virtual

FUnorderedAccessViewRHIRef

 

RHICreateUnorderedAccessView_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture* Texture,
    uint32 MipLevel,
    uint8 Format
)

Public function Virtual

FUnorderedAccessViewRHIRef

 

RHICreateUnorderedAccessViewHTile

(
    FRHITexture2D* RenderTarget
)

Public function Virtual

FUnorderedAccessViewRHIRef

 

RHICreateUnorderedAccessViewStencil

(
    FRHITexture2D* DepthTarget,
    int32 MipLevel
)

Public function

FVertexBufferRHIRef

 

RHICreateVertexBuffer

(
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo
)

FlushType: Wait RHI Thread.

Public function

FVertexDeclarationRHIRef

 

RHICreateVertexDeclaration

(
    const FVertexDeclarationElementList& Elements
)

FlushType: Wait RHI Thread.

Public function

FVertexShaderRHIRef

 

RHICreateVertexShader

(
    const TArray< uint8 >& Code
)

FlushType: Wait RHI Thread.

Public function Virtual

FVertexShaderRHIRef

 

RHICreateVertexShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

FlushType: Wait RHI Thread.

Public function

FViewportRHIRef

 

RHICreateViewport

(
    void* WindowHandle,
    uint32 SizeX,
    uint32 SizeY,
    bool bIsFullscreen,
    EPixelFormat PreferredPixelFormat
)

Must be called from the main thread. FlushType: Thread safe

Public function Virtual

void

 

RHIDiscardTransientResource_RenderThread

(
    FRHITexture* Texture
)

Public function Virtual

void

 

RHIDiscardTransientResource_RenderThread

(
    FRHIVertexBuffer* Buffer
)

Public function Virtual

void

 

RHIDiscardTransientResource_RenderThread

(
    FRHIStructuredBuffer* Buffer
)

Public function Virtual

bool

 

RHIEnqueueCompress

(
    uint8_t* SrcBuffer,
    uint8_t* DestBuffer,
    int UnCompressedSize,
    void* ErrorCodeBuffer
)

Public function Virtual

bool

 

RHIEnqueueDecompress

(
    uint8_t* SrcBuffer,
    uint8_t* DestBuffer,
    int CompressedSize,
    void* ErrorCodeBuffer
)

FlushType: Flush Immediate.

Public function

void

 

RHIExecuteCommandList

(
    FRHICommandList* CmdList
)

FlushType: Wait RHI Thread.

Public function

ETextureReallocationStatus

 

RHIFinalizeAsyncReallocateTexture2D

(
    FRHITexture2D* Texture2D,
    bool bBlockUntilCompleted
)

FlushType: Wait RHI Thread.

Public function

void

 

RHIFlushResources()

Flush driver resources.

Public function

bool

 

RHIGetAvailableResolutions

(
    FScreenResolutionArray& Resolutions,
    bool bIgnoreRefreshRate
)

FlushType: Thread safe.

Public function Virtual

EColorSpaceAndEOTF

 

RHIGetColorSpace

(
    FRHIViewport* Viewport
)

Return what colour space the viewport is in. Used for HDR displays.

Public function

IRHICommandContextContainer *

 

RHIGetCommandContextContainer

(
    int32 Index,
    int32 Num,
    FRHIGPUMask GPUMask
)

Public function

IRHICommandContextContainer *

 

RHIGetCommandContextContainer

(
    int32 Index,
    int32 Num
)

FlushType: Thread safe.

Public function Virtual

IRHIComputeContext *

 

RHIGetDefaultAsyncComputeContext()

FlushType: Thread safe.

Public function

IRHICommandContext *

 

RHIGetDefaultContext()

FlushType: Thread safe.

Public function

uint32

 

RHIGetGPUFrameCycles()

FlushType: Thread safe.

Public function

void *

 

RHIGetNativeDevice()

FlushType: Flush RHI Thread.

Public function Virtual

uint16

 

RHIGetPlatformTextureMaxSampleCount()

Public function

bool

 

RHIGetRenderQueryResult

(
    FRHIRenderQuery* RenderQuery,
    uint64& OutResult,
    bool bWait
)

CAUTION: Even though this is marked as threadsafe, it is only valid to call from the render thread.

Public function

void

 

RHIGetResourceInfo

(
    FRHITexture* Ref,
    FRHIResourceInfo& OutInfo
)

FlushType: Thread safe.

Public function

void

 

RHIGetSupportedResolution

(
    uint32& Width,
    uint32& Height
)

FlushType: Thread safe.

Public function

void

 

RHIGetTextureMemoryStats

(
    FTextureMemoryStats& OutStats
)

FlushType: Thread safe.

Public function

bool

 

RHIGetTextureMemoryVisualizeData

(
    FColor* TextureData,
    int32 SizeX,
    int32 SizeY,
    int32 Pitch,
    int32 PixelSize
)

FlushType: Flush Immediate.

Public function

FTexture2DRHIRef

 

RHIGetViewportBackBuffer

(
    FRHIViewport* Viewport
)

With RHI thread, this is the current backbuffer from the perspective of the render thread.

Public function Virtual

FUnorderedAccessViewRHIRef

 

RHIGetViewportBackBufferUAV

(
    FRHIViewport* ViewportRHI
)

Public function Virtual

uint32

 

RHIGetViewportNextPresentGPUIndex

(
    FRHIViewport* Viewport
)

FlushType: Thread safe.

Public function Virtual

bool

 

RHIIsRenderingSuspended()

FlushType: Flush Immediate.

Public function Virtual

bool

 

RHIIsTypedUAVLoadSupported

(
    EPixelFormat PixelFormat
)

Public function Virtual

void *

 

RHILockIndexBuffer

(
    FRHICommandListImmediate& RHICmdList,
    FRHIIndexBuffer* IndexBuffer,
    uint32 Offset,
    uint32 Size,
    EResourceLockMode LockMode
)

FlushType: Flush RHI Thread.

Public function Virtual

void *

 

RHILockStagingBuffer

(
    FRHIStagingBuffer* StagingBuffer,
    uint32 Offset,
    uint32 SizeRHI
)

Lock a staging buffer to read contents on the CPU that were written by the GPU, without having to stall.

Public function Virtual

void *

 

RHILockStructuredBuffer

(
    FRHICommandListImmediate& RHICmdList,
    FRHIStructuredBuffer* StructuredBuffer,
    uint32 Offset,
    uint32 SizeRHI,
    EResourceLockMode LockMode
)

FlushType: Flush RHI Thread.

Public function

void *

 

RHILockTexture2D

(
    FRHITexture2D* Texture,
    uint32 MipIndex,
    EResourceLockMode LockMode,
    uint32& DestStride,
    bool bLockWithinMiptail
)

FlushType: Flush RHI Thread.

Public function

void *

 

RHILockTexture2DArray

(
    FRHITexture2DArray* Texture,
    uint32 TextureIndex,
    uint32 MipIndex,
    EResourceLockMode LockMode,
    uint32& DestStride,
    bool bLockWithinMiptail
)

FlushType: Flush RHI Thread.

Public function

void *

 

RHILockTextureCubeFace

(
    FRHITextureCube* Texture,
    uint32 FaceIndex,
    uint32 ArrayIndex,
    uint32 MipIndex,
    EResourceLockMode LockMode,
    uint32& DestStride,
    bool bLockWithinMiptail
)

FlushType: Flush RHI Thread.

Public function Virtual

void *

 

RHILockTextureCubeFace_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITextureCube* Texture,
    uint32 FaceIndex,
    uint32 ArrayIndex,
    uint32 MipIndex,
    EResourceLockMode LockMode,
    uint32& DestStride,
    bool bLockWithinMiptail
)

Public function Virtual

void *

 

RHILockVertexBuffer

(
    FRHICommandListImmediate& RHICmdList,
    FRHIVertexBuffer* VertexBuffer,
    uint32 Offset,
    uint32 SizeRHI,
    EResourceLockMode LockMode
)

FlushType: Flush RHI Thread.

Public function

void

 

RHIMapStagingSurface

(
    FRHITexture* Texture,
    FRHIGPUFence* Fence,
    void*& OutData,
    int32& OutWidth,
    int32& OutHeight,
    uint32 GPUIndex
)

FlushType: Flush Immediate (seems wrong)

Public function Virtual

void

 

RHIMapStagingSurface_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture* Texture,
    FRHIGPUFence* Fence,
    void*& OutData,
    int32& OutWidth,
    int32& OutHeight
)

Public function Virtual

void

 

RHIPerFrameRHIFlushComplete()

FlushType: called from render thread when RHI thread is flushed.

Public function Virtual

void

 

RHIPollRenderQueryResults()

Public function Virtual

EPixelFormat

 

RHIPreferredPixelFormatHint

(
    EPixelFormat PreferredPixelFormat
)

Return preferred pixel format if given format is unsupported.

Public function

void

 

RHIRead3DSurfaceFloatData

(
    FRHITexture* Texture,
    FIntRect Rect,
    FIntPoint ZMinMax,
    TArray< FFloat16Color >& OutData
)

FlushType: Flush Immediate (seems wrong)

Public function Virtual

void

 

RHIReadSurfaceData

(
    FRHITexture* Texture,
    FIntRect Rect,
    TArray< FLinearColor >& OutData,
    FReadSurfaceDataFlags InFlags
)

Default fallback; will not work for non-8-bit surfaces and it's extremely slow.

Public function

void

 

RHIReadSurfaceData

(
    FRHITexture* Texture,
    FIntRect Rect,
    TArray< FColor >& OutData,
    FReadSurfaceDataFlags InFlags
)

FlushType: Flush Immediate (seems wrong)

Public function

void

 

RHIReadSurfaceFloatData

(
    FRHITexture* Texture,
    FIntRect Rect,
    TArray< FFloat16Color >& OutData,
    ECubeFace CubeFace,
    int32 ArrayIndex,
    int32 MipIndex
)

FlushType: Flush Immediate (seems wrong)

Public function Virtual

void

 

RHIReadSurfaceFloatData_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture* Texture,
    FIntRect Rect,
    TArray< FFloat16Color >& OutData,
    ECubeFace CubeFace,
    int32 ArrayIndex,
    int32 MipIndex
)

Public function

void

 

RHIReleaseThreadOwnership()

FlushType: Flush RHI Thread.

Public function Virtual Const

bool

 

RHIRequiresComputeGenerateMips()

Public function Virtual

void

 

RHIResizeViewport

(
    FRHIViewport* Viewport,
    uint32 SizeX,
    uint32 SizeY,
    bool bIsFullscreen,
    EPixelFormat PreferredPixelFormat
)

Public function

void

 

RHIResizeViewport

(
    FRHIViewport* Viewport,
    uint32 SizeX,
    uint32 SizeY,
    bool bIsFullscreen
)

Must be called from the main thread. FlushType: Thread safe

Public function Virtual

void

 

RHIResumeRendering()

FlushType: Thread safe.

Public function Virtual

void

 

RHISignalFlipEvent()

Public function Virtual

void

 

RHISubmitCommandsAndFlushGPU()

Kicks the current frame and makes sure GPU is actively working on them FlushType: Flush Immediate (copied from RHIBlockUntilGPUIdle)

Public function Virtual

void

 

RHISuspendRendering()

Operations to suspend title rendering and yield control to the system FlushType: Thread safe

Public function

void

 

RHITick

(
    float DeltaTime
)

Must be called from the main thread. FlushType: Thread safe

Public function Virtual

void

 

RHITransferIndexBufferUnderlyingResource

(
    FRHIIndexBuffer* DestIndexBuffer,
    FRHIIndexBuffer* SrcIndexBuffer
)

Transfer metadata and underlying resource from src to dest and release any resource owned by dest.

Public function Virtual

void

 

RHITransferTexture

(
    FRHITexture2D* Texture,
    FIntRect Rect,
    uint32 SrcGPUIndex,
    uint32 DestGPUIndex,
    bool PullData
)

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHITransferVertexBufferUnderlyingResource

(
    FRHIVertexBuffer* DestVertexBuffer,
    FRHIVertexBuffer* SrcVertexBuffer
)

Transfer metadata and underlying resource from src to dest and release any resource owned by dest.

Public function Virtual

void

 

RHIUnlockIndexBuffer

(
    FRHICommandListImmediate& RHICmdList,
    FRHIIndexBuffer* IndexBuffer
)

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIUnlockStagingBuffer

(
    FRHIStagingBuffer* StagingBuffer
)

Unlock a staging buffer previously locked with RHILockStagingBuffer.

Public function Virtual

void

 

RHIUnlockStructuredBuffer

(
    FRHICommandListImmediate& RHICmdList,
    FRHIStructuredBuffer* StructuredBuffer
)

FlushType: Flush RHI Thread.

Public function

void

 

RHIUnlockTexture2D

(
    FRHITexture2D* Texture,
    uint32 MipIndex,
    bool bLockWithinMiptail
)

FlushType: Flush RHI Thread.

Public function

void

 

RHIUnlockTexture2DArray

(
    FRHITexture2DArray* Texture,
    uint32 TextureIndex,
    uint32 MipIndex,
    bool bLockWithinMiptail
)

FlushType: Flush RHI Thread.

Public function

void

 

RHIUnlockTextureCubeFace

(
    FRHITextureCube* Texture,
    uint32 FaceIndex,
    uint32 ArrayIndex,
    uint32 MipIndex,
    bool bLockWithinMiptail
)

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIUnlockTextureCubeFace_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITextureCube* Texture,
    uint32 FaceIndex,
    uint32 ArrayIndex,
    uint32 MipIndex,
    bool bLockWithinMiptail
)

Public function Virtual

void

 

RHIUnlockVertexBuffer

(
    FRHICommandListImmediate& RHICmdList,
    FRHIVertexBuffer* VertexBuffer
)

FlushType: Flush RHI Thread.

Public function

void

 

RHIUnmapStagingSurface

(
    FRHITexture* Texture,
    uint32 GPUIndex
)

FlushType: Flush Immediate (seems wrong)

Public function Virtual

void

 

RHIUnmapStagingSurface_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture* Texture
)

Public function Virtual

void

 

RHIUpdateFromBufferTexture2D

(
    FRHITexture2D* Texture,
    uint32 MipIndex,
    const FUpdateTextureRegion2D& UpdateRegion,
    uint32 SourcePitch,
    FRHIStructuredBuffer* Buffer,
    uint32 BufferOffset
)

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIUpdateShaderResourceView

(
    FRHIShaderResourceView* SRV,
    FRHIIndexBuffer* IndexBuffer
)

Public function Virtual

void

 

RHIUpdateShaderResourceView

(
    FRHIShaderResourceView* SRV,
    FRHIVertexBuffer* VertexBuffer,
    uint32 Stride,
    uint8 Format
)

Must be called on RHI thread timeline Make sure to call RHIThreadFence(true) afterwards so that parallel translation doesn't refer old resources

Public function

void

 

RHIUpdateTexture2D

(
    FRHITexture2D* Texture,
    uint32 MipIndex,
    const FUpdateTextureRegion2D& UpdateRegion,
    uint32 SourcePitch,
    const uint8* SourceData
)

FlushType: Flush RHI Thread.

Public function

void

 

RHIUpdateTexture3D

(
    FRHITexture3D* Texture,
    uint32 MipIndex,
    const FUpdateTextureRegion3D& UpdateRegion,
    uint32 SourceRowPitch,
    uint32 SourceDepthPitch,
    const uint8* SourceData
)

FlushType: Flush RHI Thread.

Public function

void

 

RHIUpdateUniformBuffer

(
    FRHIUniformBuffer* UniformBufferRHI,
    const void* Contents
)

Public function

void

 

RHIVirtualTextureSetFirstMipInMemory

(
    FRHITexture2D* Texture,
    uint32 FirstMip
)

FlushType: Wait RHI Thread.

Public function

void

 

RHIVirtualTextureSetFirstMipVisible

(
    FRHITexture2D* Texture,
    uint32 FirstMip
)

FlushType: Wait RHI Thread.

Public function Virtual

FRHIFlipDetails

 

RHIWaitForFlip

(
    double TimeoutInSeconds
)

Public function

void

 

Shutdown()

Shutdown the RHI; handle shutdown and resource destruction before the RHI's actual destructor is called (so that all resources of the RHI are still available for shutdown).

Public function Virtual

void

 

UnlockIndexBuffer_BottomOfPipe

(
    FRHICommandListImmediate& RHICmdList,
    FRHIIndexBuffer* IndexBuffer
)

Public function Virtual

void

 

UnlockStagingBuffer_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHIStagingBuffer* StagingBuffer
)

Unlock a staging buffer previously locked with LockStagingBuffer_RenderThread.

Public function Virtual

void

 

UnlockStructuredBuffer_BottomOfPipe

(
    FRHICommandListImmediate& RHICmdList,
    FRHIStructuredBuffer* StructuredBuffer
)

Public function Virtual

void

 

UnlockTexture2D_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture2D* Texture,
    uint32 MipIndex,
    bool bLockWithinMiptail,
    bool bNeedsDefaultRHIFlush
)

Public function Virtual

void

 

UnlockVertexBuffer_BottomOfPipe

(
    FRHICommandListImmediate& RHICmdList,
    FRHIVertexBuffer* VertexBuffer
)

Public function Virtual

void

 

UpdateFromBufferTexture2D_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture2D* Texture,
    uint32 MipIndex,
    const FUpdateTextureRegion2D& UpdateRegion,
    uint32 SourcePitch,
    FRHIStructuredBuffer* Buffer,
    uint32 BufferOffset
)

Public function Virtual

void

 

UpdateTexture2D_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture2D* Texture,
    uint32 MipIndex,
    const FUpdateTextureRegion2D& UpdateRegion,
    uint32 SourcePitch,
    const uint8* SourceData
)

Public function Virtual

void

 

UpdateTexture3D_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture3D* Texture,
    uint32 MipIndex,
    const FUpdateTextureRegion3D& UpdateRegion,
    uint32 SourceRowPitch,
    uint32 SourceDepthPitch,
    const uint8* SourceData
)

Public function Virtual

void

 

VirtualTextureSetFirstMipInMemory_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture2D* Texture,
    uint32 FirstMip
)

Public function Virtual

void

 

VirtualTextureSetFirstMipVisible_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    FRHITexture2D* Texture,
    uint32 FirstMip
)

Deprecated Functions

Name Description

Public function Virtual

FTexture2DArrayRHIRef

 

RHICreateTexture2DArray

(
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

RHICreateTexture2DArray now takes NumSamples

Public function Virtual

FTexture2DArrayRHIRef

 

RHICreateTexture2DArray_RenderThread

(
    FRHICommandListImmediate& RHICmdList,
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

RHICreateTexture2DArray_RenderThread now takes NumSamples

Public function Virtual

void

 

RHIGenerateMips

(
    FRHITexture* Texture
)

This function is deprecated and will be removed in future releases. Renderer version implemented.

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