RenderCore

Classes

Name

Description

Public class

EURCMacro_SetUniformBufferContents

Public class

FDeferredCleanupInterface

Deferred cleanup.

Public class

FEmptyVertexDeclaration

The empty vertex declaration resource type.

Public struct

FFilterVertex

The vertex data used to filter a texture.

Public class

FFilterVertexDeclaration

The filter vertex declaration resource type.

Public class

FGlobalDynamicIndexBuffer

A system for dynamically allocating GPU memory for indices.

Public class

FGlobalDynamicVertexBuffer

A system for dynamically allocating GPU memory for vertices.

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 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 struct

FPackedPosition

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

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

FPooledRenderTargetDesc

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

Public class

FPostOpaqueRenderParameters

Public struct

FQueryVisualizeTexureInfo

Public class

FRenderCommand

Render commands.

Public class

FRenderCommandFence

Render fences.

Public class

FRenderResource

============================================================================= RenderResource.h: Render resource definitions.

Public struct

FResourceTableEntry

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

Public struct

FSceneRenderTargetItem

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

Public class

FSuspendRenderingThread

Render thread suspension.

Public class

FTexture

A textures resource.

Public class

FTextureReference

A texture reference resource.

Public class

FTickableObjectRenderThread

============================================================================= TickableObjectRenderThread.h: Rendering thread tickable object definition.

Public class

FTimer

============================================================================= RenderCore.h: Render core module definitions.

Public class

FUniformBufferStruct

A uniform buffer struct.

Public class

FVertexBuffer

A vertex buffer resource

Public class

ICustomCulling

Public class

ICustomVisibilityQuery

Public struct

IPooledRenderTarget

Render thread side, use TRefCountPtr , allows to use sharing and VisualizeTexture

Public class

IRendererModule

The public interface of the renderer module.

Public class

SceneRenderingAllocator

Shortcut for the allocator used by scene rendering.

Public class

TAlignedTypedef

Uniform buffer alignment tools (should only be used by the uniform buffer type infos below).

Public class

TBoundShaderStateHistory

A list of the most recently used bound shader states.

Public class

TEnqueueUniqueRenderCommandType

Public class

TGlobalResource

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

Public class

TShaderUniformBufferParameter

A shader uniform buffer binding with a specific structure.

Public class

TUniformBuffer

A uniform buffer resource.

Public class

TUniformBufferRef

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

Public class

TUniformBufferTypeInfo

Template specializations used to map C++ types to uniform buffer member types.

Constants

Name

Description

DebugUtilColor

Typedefs

Name

Description

FPostOpaqueRenderDelegate

Enums

Name

Description

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

ERenderThreadIdleTypes::Type

Public enum

EShaderPrecisionModifier::Type

Functions

Name Description

Public function

RENDERCORE_A...

 

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

RENDERCORE_A...

 

AdvanceFrameRenderPrerequisite()

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

Public function

RENDERCORE_A...

 

AdvanceRenderingThreadStatsGT

(
    bool bDiscardCallstack,
    int64 StatsFrame,
    int32 MasterDisableChangeTagStartFr...
)

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

Public function

RENDERCORE_A...

 

BeginCleanup

(
    FDeferredCleanupInterface * Cle...
)

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

Public function

RENDERCORE_A...

 

BeginInitResource

(
    FRenderResource * Resource
)

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

Public function

RENDERCORE_A...

 

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 >& U...,
    const TBufferStruct& Struct
)

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

Public function

RENDERCORE_A...

 

BeginUpdateResourceRHI

(
    FRenderResource * Resource
)

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

Public function

RENDERCORE_A...

 

CalcMipMapExtent

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

Calculates the extent of a mip.

Public function

RENDERCORE_A...

 

CalcTextureMipHeightInBlocks

(
    uint32 TextureSizeY,
    EPixelFormat Format,
    uint32 MipIndex
)

Calculates the height of a mip, in blocks.

Public function

RENDERCORE_A...

 

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

RENDERCORE_A...

 

CalcTextureMipWidthInBlocks

(
    uint32 TextureSizeX,
    EPixelFormat Format,
    uint32 MipIndex
)

Calculates the width of a mip, in blocks.

Public function

RENDERCORE_A...

 

CalcTextureSize

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

Calculates the amount of memory used for a texture.

Public function

RENDERCORE_A...

 

CalcTextureSize3D

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

Calculates the amount of memory used for a texture.

Public function

RENDERCORE_A...

 

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

RENDERCORE_A...

 

CheckRenderingThreadHealth()

Checks if the rendering thread is healthy and running.

Public function

RENDERCORE_A...

 

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

RENDERCORE_A...

 

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

RENDERCORE_A...

 

FindUniformBufferStructByName

(
    const TCHAR * StructName
)

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

Public function

RENDERCORE_A...

 

FlushPendingDeleteRHIResources_GameThread()

Public function

RENDERCORE_A...

 

FlushPendingDeleteRHIResources_RenderThread()

Public function

RENDERCORE_A...

 

FlushRenderingCommands()

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

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

uint8

 

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

RENDERCORE_A...

 

GetCubeFaceFromName

(
    const FString & Name
)

Convert from text string to ECubeFace

CubeFace_MAX if not recognized

Public function

RENDERCORE_A...

 

GetCubeFaceName

(
    ECubeFace Face
)

Convert from ECubeFace to text string

text string for cube face enum value

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

RENDERCORE_A...

 

GetCVarForceLOD()

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

Public function

RENDERCORE_A...

 

GetImmediateCommandList_ForRenderCommand()

Macros for using render commands.

Public function

RENDERCORE_A...

 

GetPendingCleanupObjects()

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

Public function

RENDERCORE_A...

 

GetPixelFormatFromString

(
    const TCHAR * InPixelFormatStr
)

String to enum (not case sensitive)

Public function

RENDERCORE_A...

 

GetPixelFormatString

(
    EPixelFormat InPixelFormat
)

Enum to string

e.g. "PF_B8G8R8A8"

Public function

RENDERCORE_A...

 

GetUnitCubeIndexBuffer()

Unit cube index buffer

Public function

RENDERCORE_A...

 

GetUnitCubeVertexBuffer()

Unit cube vertex buffer (VertexDeclarationFVector4)

Public function

RENDERCORE_A...

 

GetVertexDeclarationFVector3()

Public function

RENDERCORE_A...

 

GetVertexDeclarationFVector4()

Public function

bool

 

IsAnyForwardShadingEnabled

(
    EShaderPlatform Platform
)

Public function

RENDERCORE_A...

 

IsForwardShadingEnabled

(
    ERHIFeatureLevel::Type FeatureLevel
)

Public function

RENDERCORE_A...

 

IsRenderingThreadHealthy()

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

Public function

RENDERCORE_A...

 

IsSimpleForwardShadingEnabled

(
    EShaderPlatform Platform
)

Public function

bool

 

IsUsingGBuffers

(
    EShaderPlatform Platform
)

Public function

RENDERCORE_A...

 

PlatformSupportsSimpleForwardShading

(
    EShaderPlatform Platform
)

Public function

RENDERCORE_A...

 

QuantizeSceneBufferSize

(
    int32 & InOutBufferSizeX,
    int32 & InOutBufferSizeY
)

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

Public function

RENDERCORE_A...

 

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

RENDERCORE_A...

 

SetRHIThreadEnabled

(
    bool bEnable
)

Public function

RENDERCORE_A...

 

StartBatchedRelease()

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

Public function

RENDERCORE_A...

 

StartRenderCommandFenceBundler()

We fire this when we are done, which queues the actual fence.

Public function

RENDERCORE_A...

 

StartRenderingThread()

If (UE_BUILD_SHIPPING || UE_BUILD_TEST)

Public function

RENDERCORE_A...

 

StopRenderCommandFenceBundler()

Public function

RENDERCORE_A...

 

StopRenderingThread()

Stops the rendering thread.

Public function

RENDERCORE_A...

 

TickRenderingTickables()

Variables

Name Description

Public variable

RENDERCORE_API ...

 

GBlackArrayTexture

A global black array texture.

Public variable

RENDERCORE_API ...

 

GBlackCubeArrayTexture

A global black cube array texture.

Public variable

RENDERCORE_API ...

 

GBlackTexture

A global black texture.

Public variable

RENDERCORE_API ...

 

GBlackTextureCube

A global black cube texture.

Public variable

RENDERCORE_API ...

 

GBlackTextureDepthCube

A global black cube depth texture.

Public variable

RENDERCORE_API ...

 

GBlackVolumeTexture

A global black volume texture.

Global black volume texture resource.

Public variable

RENDERCORE_API ...

 

GCubeIndices

The indices for drawing a cube.

Public variable

RENDERCORE_API ...

 

GDiffuseConvolveMipLevel

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

Public variable

RENDERCORE_API ...

 

GEnableMipLevelFading

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

Public variable

RENDERCORE_API ...

 

GGameThreadTime

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

Public variable

RENDERCORE_API ...

 

GInputLatencyTimer

Global input latency timer. Defined in UnrealClient.cpp

Public variable

RENDERCORE_API ...

 

GIsThreadedRendering

Render thread API.

Public variable

RENDERCORE_API ...

 

GMainThreadBlockedOnRenderThread

If (UE_BUILD_SHIPPING || UE_BUILD_TEST)

Public variable

RENDERCORE_API ...

 

GMipColorTexture

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

Public variable

RENDERCORE_API ...

 

GMipColorTextureMipLevels

Number of mip-levels in 'GMipColorTexture'

Public variable

RENDERCORE_API ...

 

GMipFadeSettings

Global mip fading settings, indexed by EMipFadeSettings.

Public variable

RENDERCORE_API ...

 

GNullColorVertexBuffer

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

Public variable

RENDERCORE_API ...

 

GPauseRenderingRealtimeClock

!(UE_BUILD_SHIPPING || UE_BUILD_TEST)

Public variable

RENDERCORE_API ...

 

GPixelFormats

Pixel format information.

Public variable

RENDERCORE_API ...

 

GRenderingRealtimeClock

Global realtime clock for the rendering thread.

Public variable

RENDERCORE_API ...

 

GRenderThreadIdle

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

Public variable

RENDERCORE_API ...

 

GRenderThreadNumIdle

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

Public variable

RENDERCORE_API ...

 

GRenderThreadTime

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

Public variable

RENDERCORE_API ...

 

GSwapBufferTime

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

Public variable

RENDERCORE_API ...

 

GUseRHIThread

Whether the RHI thread should be created or not, requires rendering thread Currently set by command line parameter and by the r.rhithread.enable cvar.

Public variable

RENDERCORE_API ...

 

GUseThreadedRendering

Whether the rendering thread should be created or not.

Public variable

RENDERCORE_API ...

 

GVectorPackingConstants

X=127.5, Y=127.5, Z=1/127.5f, W=-1.0

Public variable

RENDERCORE_API ...

 

GWhiteTexture

A global white texture.

Public variable

RENDERCORE_API ...

 

GWhiteTextureCube

A global white cube texture.

Public variable

 

STATCAT_Advanced