Navigation
API > API/Runtime > API/Runtime/GeometryFramework
FBaseDynamicMeshSceneProxy is an abstract base class for a Render Proxy for a UBaseDynamicMeshComponent, where the assumption is that mesh data will be stored in FMeshRenderBufferSet instances
| Name | FBaseDynamicMeshSceneProxy |
| Type | class |
| Header File | /Engine/Source/Runtime/GeometryFramework/Public/Components/BaseDynamicMeshSceneProxy.h |
| Include Path | #include "Components/BaseDynamicMeshSceneProxy.h" |
Syntax
class FBaseDynamicMeshSceneProxy : public FPrimitiveSceneProxy
Inheritance Hierarchy
- FPrimitiveSceneProxy → FBaseDynamicMeshSceneProxy
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FBaseDynamicMeshSceneProxy
(
UBaseDynamicMeshComponent* Component |
Components/BaseDynamicMeshSceneProxy.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FBaseDynamicMeshSceneProxy() |
Components/BaseDynamicMeshSceneProxy.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FIndex2i | UE::Geometry::FIndex2i | Components/BaseDynamicMeshSceneProxy.h | |
| FIndex3i | UE::Geometry::FIndex3i | Components/BaseDynamicMeshSceneProxy.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| MeshRenderBufferSetConverter | FMeshRenderBufferSetConversionUtil | Utility to initialize and update the mesh render buffers from a mesh with overlays and holds all the settings required. | Components/BaseDynamicMeshSceneProxy.h | |
| ParentBaseComponent | UBaseDynamicMeshComponent * | Components/BaseDynamicMeshSceneProxy.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bHasCollisionData | bool | Whether the collision data has been set up for rendering | Components/BaseDynamicMeshSceneProxy.h | |
| bHasComplexMeshData | bool | Whether a complex collision mesh is available | Components/BaseDynamicMeshSceneProxy.h | |
| bOwnerIsNull | bool | Components/BaseDynamicMeshSceneProxy.h | ||
| CachedAggGeom | FKAggregateGeom | Cached AggGeom holding the collision shapes to render | Components/BaseDynamicMeshSceneProxy.h | |
| CachedCollisionLock | FCriticalSection | Control access to collision data for debug rendering. | Components/BaseDynamicMeshSceneProxy.h | |
| CollisionResponse | FCollisionResponseContainer | Collision Response of this component | Components/BaseDynamicMeshSceneProxy.h | |
| CollisionTraceFlag | ECollisionTraceFlag | Collision trace flags | Components/BaseDynamicMeshSceneProxy.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FMeshRenderBufferSet * AllocateNewRenderBufferSet () |
RenderBuffer management Allocates a set of render buffers. | Components/BaseDynamicMeshSceneProxy.h | |
virtual bool AllowStaticDrawPath
(
const FSceneView* View |
Whether to allow use of the static draw path. If false, the dynamic draw path will be used instead. | Components/BaseDynamicMeshSceneProxy.h | |
virtual void DrawBatch
(
FMeshElementCollector& Collector, |
Draw a single-frame FMeshBatch for a FMeshRenderBufferSet | Components/BaseDynamicMeshSceneProxy.h | |
void GetActiveRenderBufferSets
(
TArray< FMeshRenderBufferSet* >& Buffers |
FBaseDynamicMeshSceneProxy API - subclasses must implement these functions Return set of active renderbuffers. | Components/BaseDynamicMeshSceneProxy.h | |
virtual UMaterialInterface * GetMaterial
(
int32 k |
Safe GetMaterial function that will never return nullptr | Components/BaseDynamicMeshSceneProxy.h | |
virtual int32 GetNumMaterials() |
Components/BaseDynamicMeshSceneProxy.h | ||
void InitializeBuffersFromOverlays
(
FMeshRenderBufferSet* RenderBuffers, |
Initialize rendering buffers from given attribute overlays. | Components/BaseDynamicMeshSceneProxy.h | |
void InitializeBuffersFromOverlays
(
FMeshRenderBufferSet* RenderBuffers, |
Initialize rendering buffers from given attribute overlays. | Components/BaseDynamicMeshSceneProxy.h | |
void RecomputeRenderBufferTriangleIndexSets
(
FMeshRenderBufferSet* RenderBuffers, |
RecomputeRenderBufferTriangleIndexSets re-sorts the existing set of triangles in a FMeshRenderBufferSet into primary and secondary index buffers. | Components/BaseDynamicMeshSceneProxy.h | |
virtual void ReleaseRenderBufferSet
(
FMeshRenderBufferSet* BufferSet |
Explicitly release a set of RenderBuffers | Components/BaseDynamicMeshSceneProxy.h | |
void SetCollisionData() |
Set the collision data to use for debug drawing, or do nothing if debug drawing is not enabled. | Components/BaseDynamicMeshSceneProxy.h | |
void SetNewDistanceField
(
TSharedPtr< FDistanceFieldVolumeData > NewDistanceField, |
Components/BaseDynamicMeshSceneProxy.h | ||
void SetVerifyUsedMaterials
(
const bool bState |
Set whether or not to validate mesh batch materials against the component materials. | Components/BaseDynamicMeshSceneProxy.h | |
virtual void UpdatedReferencedMaterials() |
This needs to be called if the set of active materials changes, otherwise the check in FPrimitiveSceneProxy::VerifyUsedMaterial() will fail if an override material is set, if materials change, etc, etc | Components/BaseDynamicMeshSceneProxy.h | |
void UpdateSecondaryTriangleBuffer
(
FMeshRenderBufferSet* RenderBuffers, |
Filter the triangles in a FMeshRenderBufferSet into the SecondaryIndexBuffer. | Components/BaseDynamicMeshSceneProxy.h | |
void UpdateVertexBuffersFromOverlays
(
FMeshRenderBufferSet* RenderBuffers, |
Update vertex positions/normals/colors of an existing set of render buffers. | Components/BaseDynamicMeshSceneProxy.h | |
void UpdateVertexUVBufferFromOverlays
(
FMeshRenderBufferSet* RenderBuffers, |
Update vertex uvs of an existing set of render buffers. | Components/BaseDynamicMeshSceneProxy.h |
Overridden from FPrimitiveSceneProxy
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual HHitProxy * CreateHitProxies
(
IPrimitiveComponent* ComponentInterface, |
Components/BaseDynamicMeshSceneProxy.h | ||
virtual HHitProxy * CreateHitProxies
(
UPrimitiveComponent* Component, |
Like FStaticMeshSceneProxy, only override CreateHitProxies in editor, where component may have CreateMeshHitProxy. | Components/BaseDynamicMeshSceneProxy.h | |
virtual void DrawStaticElements
(
FStaticPrimitiveDrawInterface* PDI |
Components/BaseDynamicMeshSceneProxy.h | ||
virtual void GetDynamicMeshElements
(
const TArray< const FSceneView* >& Views, |
Render set of active RenderBuffers returned by GetActiveRenderBufferSets | Components/BaseDynamicMeshSceneProxy.h | |
virtual const FCardRepresentationData * GetMeshCardRepresentation() |
Raytracing APIs Lumen APIs | Components/BaseDynamicMeshSceneProxy.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void GetCollisionDynamicMeshElements
(
TArray< FMeshRenderBufferSet* >& Buffers, |
Helper called by GetDynamicMeshElements to process collision debug drawing | Components/BaseDynamicMeshSceneProxy.h | |
void UpdateLumenCardsFromBounds() |
Helper to set lumen cards. | Components/BaseDynamicMeshSceneProxy.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static TUniquePtr< FDistanceFieldVolumeData > ComputeDistanceFieldForMesh
(
const FDynamicMesh3& Mesh, |
Components/BaseDynamicMeshSceneProxy.h | ||
static FMaterialRenderProxy * GetEngineVertexColorMaterialProxy
(
FMeshElementCollector& Collector, |
FBaseDynamicMeshSceneProxy implementation If EngineShowFlags request vertex color rendering, returns the appropriate vertex color override material's render proxy. | Components/BaseDynamicMeshSceneProxy.h |