Renderer

Windows
MacOS
Linux

Classes

Name

Description

Public class

FAtmosphereShaderTextureParameters

Shader parameters needed for atmosphere passes.

Public class

FCachedMeshDrawCommandInfo

Stores information about a mesh draw command which is cached in the scene.

Public class

FCachedPassMeshDrawList

Public class

FCachedPassMeshDrawListContext

Public class

FDebugUniformExpressionSet

Debug information related to uniform expression sets.

Public struct

FDecalRenderingCommon

Shared decal functionality for deferred and forward shading

Public class

FDynamicMeshDrawCommandStorage

Storage for Mesh Draw Commands built every frame.

Public class

FDynamicPassMeshDrawListContext

Context used when building FMeshDrawCommands for one frame only.

Public class

FGlobalDistanceFieldParameterData

Public class

FGlobalDistanceFieldParameters

Public class

FGraphicsMinimalPipelineStateId

Uniquely represents a FGraphicsMinimalPipelineStateInitializer for fast compares.

Public class

FHdrCustomResolve2xPS

Public class

FHdrCustomResolve4xPS

Public class

FHdrCustomResolve8xPS

Public class

FHdrCustomResolveFMask2xPS

Public class

FHdrCustomResolveFMask4xPS

Public class

FHdrCustomResolveFMask8xPS

Public class

FHdrCustomResolveVS

Public class

FIndirectLightingCacheAllocation

Data used to track a primitive's allocation in the volume texture atlas that stores indirect lighting.

Public struct

FLightPropagationVolumeSettings

Public class

FMaterialShader

Base class of all shaders that need material parameters.

Public class

FMeshDrawCommand

FMeshDrawCommand fully describes a mesh pass draw call, captured just above the RHI.

Public struct

FMeshDrawCommandDebugData

Debug only data for being able to backtrack the origin of given FMeshDrawCommand.

Public class

FMeshDrawCommandSortKey

FVisibleMeshDrawCommand sort key.

Public class

FMeshDrawShaderBindings

Encapsulates shader bindings for a single FMeshDrawCommand.

Public class

FMeshDrawShaderBindingsLayout

Stores the number of each resource type that will need to be bound to a single shader, computed during shader reflection.

Public class

FMeshDrawSingleShaderBindings

Public class

FMeshMaterialShader

Base class of all shaders that need material and vertex factory parameters.

Public class

FMeshMaterialShaderElementData

Public class

FMeshPassDrawListContext

Interface for the different types of draw lists.

Public class

FMeshPassMask

Mesh pass mask - stores one bit per mesh pass.

Public class

FMeshPassProcessor

Base class of mesh processors, whose job is to transform FMeshBatch draw descriptions received from scene proxy implementations into FMeshDrawCommands ready for the RHI command list

Public struct

FMeshPassProcessorRenderState

A set of render state overrides passed into a Mesh Pass Processor, so it can be configured from the outside.

Public struct

FMeshProcessorShaders

Public class

FMobileSceneTextureUniformParameters

Public class

FPassProcessorManager

Public struct

FPostProcessPassParameters

Currently hard coded to 4 input textures convenient but not the most optimized solution

Public struct

FPrimitiveFlagsCompact

Flags needed for shadow culling.

Public struct

FPrimitiveOctreeSemantics

Defines how the primitive is stored in the scene's primitive octree.

Public class

FPrimitiveSceneInfo

The renderer's internal state for a single UPrimitiveComponent.

Public class

FPrimitiveSceneInfoCompact

The information needed to determine whether a primitive is visible.

Public struct

FRefCountedGraphicsMinimalPipelineStateInitializer

Public class

FRegisterPassProcessorCreateFunction

Public class

FRenderTargetWriteMask

Public class

FSceneTextureShaderParameters

Encapsulates scene texture shader parameter bindings.

Public class

FSceneTexturesUniformParameters

Convenience parameters used by the material graph or many global shaders.

Public struct

FVirtualTextureUniformData

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

Public class

FVisibleMeshDrawCommand

Stores information about a mesh draw command that has been determined to be visible, for further visibility processing.

Public struct

FVolumeBounds

Represents a subregion of a volume texture.

Public class

FVolumeRasterizeVertexBuffer

Vertex buffer used for rendering into a volume texture.

Public class

FWriteToSliceGS

Geometry shader used to write to a range of slices of a 3d volume texture.

Public class

FWriteToSliceVS

Vertex shader used to write to a range of slices of a 3d volume texture.

Public class

IVirtualTextureSpace

Public struct

RefCountedGraphicsMinimalPipelineStateInitializerKeyFuncs

Public struct

TMeshProcessorShaders

Public struct

TUniformParameter

Typedefs

Enums

Name

Description

Public enum

EDecalRasterizerState

Public enum

EDecalRenderStage

Actual values are used in the shader so do not change.

Public enum

EFallbackColor

Public enum

EMeshPass::Type

Mesh pass types supported.

Public enum

EMeshPassFeatures

Public enum

EMeshPassFlags

Public enum

EPassInputId

This is the index for the texture input of this pass.

Public enum

EPassOutputId

Usually the same as the MRT number but it doesn't have to be implemented as MRT.

Public enum

ESceneTextureSetupMode

Functions

Name Description

Public function

void

 

BindSceneTextureUniformBufferDependentOnShadingPath

Public function

FMeshDrawCom...

 

CalculateMeshStaticSortKey

(
    const FMeshMaterialShader* Ver...,
    const FMeshMaterialShader* Pix...
)

Public function

TUniformBuff...

 

CreateMobileSceneTextureUniformBufferSingleDraw

(
    TRHICmdList& RHICmdList,
    ERHIFeatureLevel::Type FeatureLevel
)

Public function

TUniformBuff...

 

CreateSceneTextureUniformBuffer

(
    FSceneRenderTargets& SceneContext,
    ERHIFeatureLevel::Type FeatureLevel,
    ESceneTextureSetupMode SetupMode,
    EUniformBufferUsage Usage
)

Public function

TUniformBuff...

 

CreateSceneTextureUniformBufferSingleDraw

(
    TRHICmdList& RHICmdList,
    ESceneTextureSetupMode SceneTexture...,
    ERHIFeatureLevel::Type FeatureLevel
)

Public function

void

 

DrawDynamicMeshPass

(
    const FSceneView& View,
    FRHICommandList& RHICmdList,
    const LambdaType& BuildPassProcess...
)

Provides a callback to build FMeshDrawCommands and then submits them immediately.

Public function

void

 

DrawDynamicMeshPassPrivate

(
    const FSceneView& View,
    FRHICommandList& RHICmdList,
    FMeshCommandOneFrameArray& Visible...,
    FDynamicMeshDrawCommandStorage& Dy...,
    uint32 InstanceFactor
)

Public function

const TCHAR ...

 

GetMeshPassName

(
    EMeshPass::Type MeshPass
)

Public function

constexpr bo...

 

operator!

(
    EMeshPassFlags E
)

Public function

constexpr bo...

 

operator!

(
    EMeshPassFeatures E
)

Public function

ESceneTextur...

 

operator&

Public function

constexpr EM...

 

operator&

(
    EMeshPassFlags Lhs,
    EMeshPassFlags Rhs
)

Public function

constexpr EM...

 

operator&

(
    EMeshPassFeatures Lhs,
    EMeshPassFeatures Rhs
)

Public function

EMeshPassFea...

 

operator&=

(
    EMeshPassFeatures& Lhs,
    EMeshPassFeatures Rhs
)

Public function

EMeshPassFla...

 

operator&=

(
    EMeshPassFlags& Lhs,
    EMeshPassFlags Rhs
)

Public function

constexpr EM...

 

operator^

(
    EMeshPassFlags Lhs,
    EMeshPassFlags Rhs
)

Public function

constexpr EM...

 

operator^

(
    EMeshPassFeatures Lhs,
    EMeshPassFeatures Rhs
)

Public function

EMeshPassFea...

 

operator^=

(
    EMeshPassFeatures& Lhs,
    EMeshPassFeatures Rhs
)

Public function

EMeshPassFla...

 

operator^=

(
    EMeshPassFlags& Lhs,
    EMeshPassFlags Rhs
)

Public function

ESceneTextur...

 

operator|

Public function

constexpr EM...

 

operator|

(
    EMeshPassFlags Lhs,
    EMeshPassFlags Rhs
)

Public function

constexpr EM...

 

operator|

(
    EMeshPassFeatures Lhs,
    EMeshPassFeatures Rhs
)

Public function

EMeshPassFla...

 

operator|=

(
    EMeshPassFlags& Lhs,
    EMeshPassFlags Rhs
)

Public function

EMeshPassFea...

 

operator|=

(
    EMeshPassFeatures& Lhs,
    EMeshPassFeatures Rhs
)

Public function

constexpr EM...

 

operator~

(
    EMeshPassFlags E
)

Public function

constexpr EM...

 

operator~

(
    EMeshPassFeatures E
)

Public function

void

 

RasterizeToVolumeTexture

(
    FRHICommandList& RHICmdList,
    FVolumeBounds VolumeBounds
)

This function assumes the PSO had a PrimitiveType of PT_TriangleStrip.

Public function

void

 

SetupMobileSceneTextureUniformParameters

(
    FSceneRenderTargets& SceneContext,
    ERHIFeatureLevel::Type FeatureLevel,
    bool bSceneTexturesValid,
    FMobileSceneTextureUniformParameter...
)

Public function

void

 

SetupSceneTextureUniformParameters

(
    FSceneRenderTargets& SceneContext,
    ERHIFeatureLevel::Type FeatureLevel,
    ESceneTextureSetupMode SetupMode,
    FSceneTexturesUniformParameters& O...
)

Public function

void

 

SubmitMeshDrawCommands

(
    const FMeshCommandOneFrameArray& V...,
    FVertexBufferRHIParamRef PrimitiveI...,
    int32 BasePrimitiveIdsOffset,
    bool bDynamicInstancing,
    uint32 InstanceFactor,
    FRHICommandList& RHICmdList
)

Public function

void

 

SubmitMeshDrawCommandsRange

(
    const FMeshCommandOneFrameArray& V...,
    FVertexBufferRHIParamRef PrimitiveI...,
    int32 BasePrimitiveIdsOffset,
    bool bDynamicInstancing,
    int32 StartIndex,
    int32 NumMeshDrawCommands,
    uint32 InstanceFactor,
    FRHICommandList& RHICmdList
)

Variables

Name Description

Public variable

const int32

 

GMaxGlobalDistanceFieldClipmaps

Must match global distance field shaders.

Public variable

TGlobalResource...

 

GVolumeRasterizeVertexBuffer

Public variable

const int32

 

NumInlineShaderBindings

Number of resource bindings to allocate inline within a FMeshDrawCommand.

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