UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMobileBasePassMeshProcessor Class Reference

#include <MobileBasePassRendering.h>

+ Inheritance diagram for FMobileBasePassMeshProcessor:

Public Types

enum class  EFlags {
  None = 0 , CanUseDepthStencil = (1 << 0) , CanReceiveCSM = (1 << 1) , ForcePassDrawRenderState = (1 << 2) ,
  DoNotCache = (1 << 3)
}
 

Public Member Functions

 FMobileBasePassMeshProcessor (EMeshPass::Type InMeshPassType, const FScene *InScene, const FSceneView *InViewIfDynamicMeshCommand, const FMeshPassProcessorRenderState &InDrawRenderState, FMeshPassDrawListContext *InDrawListContext, EFlags Flags, ETranslucencyPass::Type InTranslucencyPassType=ETranslucencyPass::TPT_MAX)
 
virtual void AddMeshBatch (const FMeshBatch &RESTRICT MeshBatch, uint64 BatchElementMask, const FPrimitiveSceneProxy *RESTRICT PrimitiveSceneProxy, int32 StaticMeshId=-1) override final
 
virtual void CollectPSOInitializers (const FSceneTexturesConfig &SceneTexturesConfig, const FMaterial &Material, const FPSOPrecacheVertexFactoryData &VertexFactoryData, const FPSOPrecacheParams &PreCacheParams, TArray< FPSOPrecacheData > &PSOInitializers) override
 
void CollectPSOInitializersForLMPolicy (const FPSOPrecacheVertexFactoryData &VertexFactoryData, const FMeshPassProcessorRenderState &RESTRICT DrawRenderState, const FGraphicsPipelineRenderTargetsInfo &RESTRICT RenderTargetsInfo, const FMaterial &RESTRICT MaterialResource, EMobileLocalLightSetting LocalLightSetting, const ELightMapPolicyType LightMapPolicyType, ERasterizerFillMode MeshFillMode, ERasterizerCullMode MeshCullMode, EPrimitiveType PrimitiveType, TArray< FPSOPrecacheData > &PSOInitializers)
 
- Public Member Functions inherited from FMeshPassProcessor
 FMeshPassProcessor (const FScene *InScene, ERHIFeatureLevel::Type InFeatureLevel, const FSceneView *InViewIfDynamicMeshCommand, FMeshPassDrawListContext *InDrawListContext)
 
RENDERER_API FMeshPassProcessor (EMeshPass::Type InMeshPassType, const FScene *InScene, ERHIFeatureLevel::Type InFeatureLevel, const FSceneView *InViewIfDynamicMeshCommand, FMeshPassDrawListContext *InDrawListContext)
 
RENDERER_API FMeshPassProcessor (const TCHAR *InMeshPassName, const FScene *InScene, ERHIFeatureLevel::Type InFeatureLevel, const FSceneView *InViewIfDynamicMeshCommand, FMeshPassDrawListContext *InDrawListContext)
 
virtual ~FMeshPassProcessor ()
 
void SetDrawListContext (FMeshPassDrawListContext *InDrawListContext)
 
template<typename PassShadersType , typename ShaderElementDataType >
void BuildMeshDrawCommands (const FMeshBatch &RESTRICT MeshBatch, uint64 BatchElementMask, const FPrimitiveSceneProxy *RESTRICT PrimitiveSceneProxy, const FMaterialRenderProxy &RESTRICT MaterialRenderProxy, const FMaterial &RESTRICT MaterialResource, const FMeshPassProcessorRenderState &RESTRICT DrawRenderState, const PassShadersType &PassShaders, ERasterizerFillMode MeshFillMode, ERasterizerCullMode MeshCullMode, FMeshDrawCommandSortKey SortKey, EMeshPassFeatures MeshPassFeatures, const ShaderElementDataType &ShaderElementData)
 
template<typename PassShadersType >
void AddGraphicsPipelineStateInitializer (const FPSOPrecacheVertexFactoryData &VertexFactoryData, const FMaterial &RESTRICT MaterialResource, const FMeshPassProcessorRenderState &RESTRICT DrawRenderState, const FGraphicsPipelineRenderTargetsInfo &RESTRICT RenderTargetsInfo, const PassShadersType &PassShaders, ERasterizerFillMode MeshFillMode, ERasterizerCullMode MeshCullMode, EPrimitiveType PrimitiveType, EMeshPassFeatures MeshPassFeatures, bool bRequired, TArray< FPSOPrecacheData > &PSOInitializers)
 
- Public Member Functions inherited from IPSOCollector
 IPSOCollector (int32 InPSOCollectorIndex)
 
virtual ~IPSOCollector ()
 
void CollectPSOInitializers (const FSceneTexturesConfig &SceneTexturesConfig, const FMaterial &Material, const FVertexFactoryType *VertexFactoryType, const FPSOPrecacheParams &PreCacheParams, TArray< FPSOPrecacheData > &PSOInitializers)
 

Public Attributes

FMeshPassProcessorRenderState PassDrawRenderState
 
- Public Attributes inherited from FMeshPassProcessor
EMeshPass::Type MeshPassType
 
const FScene *RESTRICT Scene
 
ERHIFeatureLevel::Type FeatureLevel
 
const FSceneViewViewIfDynamicMeshCommand
 
FMeshPassDrawListContextDrawListContext
 
- Public Attributes inherited from IPSOCollector
int32 PSOCollectorIndex = INDEX_NONE
 

Additional Inherited Members

- Static Public Member Functions inherited from TConcurrentLinearObject< ObjectType, BlockAllocationTag >
static voidoperator new (size_t Size)
 
static voidoperator new (size_t Size, void *Object)
 
static voidoperator new[] (size_t Size)
 
static voidoperator new (size_t Size, std::align_val_t Align)
 
static voidoperator new[] (size_t Size, std::align_val_t Align)
 
static UE_FORCEINLINE_HINT void operator delete (void *Ptr)
 
static UE_FORCEINLINE_HINT void operator delete[] (void *Ptr)
 
- Static Public Member Functions inherited from FMeshPassProcessor
static FORCEINLINE_DEBUGGABLE ERasterizerCullMode InverseCullMode (ERasterizerCullMode CullMode)
 
static RENDERER_API FMeshDrawingPolicyOverrideSettings ComputeMeshOverrideSettings (const FPSOPrecacheParams &PrecachePSOParams)
 
static RENDERER_API FMeshDrawingPolicyOverrideSettings ComputeMeshOverrideSettings (const FMeshBatch &Mesh)
 
static RENDERER_API ERasterizerFillMode ComputeMeshFillMode (const FMaterial &InMaterialResource, const FMeshDrawingPolicyOverrideSettings &InOverrideSettings)
 
static RENDERER_API ERasterizerCullMode ComputeMeshCullMode (const FMaterial &InMaterialResource, const FMeshDrawingPolicyOverrideSettings &InOverrideSettings)
 
template<typename PassShadersType >
static void AddGraphicsPipelineStateInitializer (const FPSOPrecacheVertexFactoryData &VertexFactoryData, const FMaterial &RESTRICT MaterialResource, const FMeshPassProcessorRenderState &RESTRICT DrawRenderState, const FGraphicsPipelineRenderTargetsInfo &RESTRICT RenderTargetsInfo, const PassShadersType &PassShaders, ERasterizerFillMode MeshFillMode, ERasterizerCullMode MeshCullMode, EPrimitiveType PrimitiveType, EMeshPassFeatures MeshPassFeatures, ESubpassHint SubpassHint, uint8 SubpassIndex, bool bRequired, int32 PSOCollectorIndex, TArray< FPSOPrecacheData > &PSOInitializers)
 
- Protected Member Functions inherited from FMeshPassProcessor
RENDERER_API FMeshDrawCommandPrimitiveIdInfo GetDrawCommandPrimitiveId (const FPrimitiveSceneInfo *RESTRICT PrimitiveSceneInfo, const FMeshBatchElement &BatchElement) const
 
RENDERER_API bool ShouldSkipMeshDrawCommand (const FMeshBatch &RESTRICT MeshBatch, const FPrimitiveSceneProxy *RESTRICT PrimitiveSceneProxy) const
 
RENDERER_API bool PipelineVariableRateShadingEnabled () const
 
RENDERER_API bool HardwareVariableRateShadingSupportedByScene () const
 

Member Enumeration Documentation

◆ EFlags

Enumerator
None 
CanUseDepthStencil 
CanReceiveCSM 
ForcePassDrawRenderState 
DoNotCache 

Constructor & Destructor Documentation

◆ FMobileBasePassMeshProcessor()

FMobileBasePassMeshProcessor::FMobileBasePassMeshProcessor ( EMeshPass::Type  InMeshPassType,
const FScene InScene,
const FSceneView InViewIfDynamicMeshCommand,
const FMeshPassProcessorRenderState InDrawRenderState,
FMeshPassDrawListContext InDrawListContext,
EFlags  Flags,
ETranslucencyPass::Type  InTranslucencyPassType = ETranslucencyPass::TPT_MAX 
)

Member Function Documentation

◆ AddMeshBatch()

void FMobileBasePassMeshProcessor::AddMeshBatch ( const FMeshBatch &RESTRICT  MeshBatch,
uint64  BatchElementMask,
const FPrimitiveSceneProxy *RESTRICT  PrimitiveSceneProxy,
int32  StaticMeshId = -1 
)
finaloverridevirtual

Implements FMeshPassProcessor.

◆ CollectPSOInitializers()

void FMobileBasePassMeshProcessor::CollectPSOInitializers ( const FSceneTexturesConfig SceneTexturesConfig,
const FMaterial Material,
const FPSOPrecacheVertexFactoryData VertexFactoryData,
const FPSOPrecacheParams PreCacheParams,
TArray< FPSOPrecacheData > &  PSOInitializers 
)
overridevirtual

Reimplemented from FMeshPassProcessor.

◆ CollectPSOInitializersForLMPolicy()

void FMobileBasePassMeshProcessor::CollectPSOInitializersForLMPolicy ( const FPSOPrecacheVertexFactoryData VertexFactoryData,
const FMeshPassProcessorRenderState &RESTRICT  DrawRenderState,
const FGraphicsPipelineRenderTargetsInfo &RESTRICT  RenderTargetsInfo,
const FMaterial &RESTRICT  MaterialResource,
EMobileLocalLightSetting  LocalLightSetting,
const ELightMapPolicyType  LightMapPolicyType,
ERasterizerFillMode  MeshFillMode,
ERasterizerCullMode  MeshCullMode,
EPrimitiveType  PrimitiveType,
TArray< FPSOPrecacheData > &  PSOInitializers 
)

Member Data Documentation

◆ PassDrawRenderState

FMeshPassProcessorRenderState FMobileBasePassMeshProcessor::PassDrawRenderState

The documentation for this class was generated from the following files: