Navigation
API > API/Runtime > API/Runtime/GeometryFramework > API/Runtime/GeometryFramework/Components
Inheritance Hierarchy
- FPrimitiveSceneProxy
- FBaseDynamicMeshSceneProxy
References
| Module | GeometryFramework |
| Header | /Engine/Source/Runtime/GeometryFramework/Public/Components/BaseDynamicMeshSceneProxy.h |
| Include | #include "Components/BaseDynamicMeshSceneProxy.h" |
Syntax
class FBaseDynamicMeshSceneProxy : public FPrimitiveSceneProxy
Remarks
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
Variables
| Type | Name | Description | |
|---|---|---|---|
| TSet< FMeshRenderBufferSet * > | AllocatedBufferSets | Set of currently-allocated RenderBuffers. | |
| FCriticalSection | AllocatedSetsLock | Use to control access to AllocatedBufferSets | |
| bool | bDistanceFieldValid | ||
| bool | bEnableRaytracing | Control raytracing support | |
| bool | bEnableViewModeOverrides | ||
| bool | bMeshCardsValid | ||
| bool | bPreferStaticDrawPath | Whether to try to use the static draw instead of dynamic draw path; note we may still use the dynamic path if collision or vertex color rendering is enabled | |
| TSharedPtr< FDistanceFieldVolumeData > | DistanceField | ||
| TPimplPtr< FCardRepresentationData > | MeshCards | ||
| FMeshRenderBufferSetConversionUtil | MeshRenderBufferSetConverter | Utility to initialize and update the mesh render buffers from a mesh with overlays and holds all the settings required. | |
| UBaseDynamicMeshComponent * | ParentBaseComponent |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FBaseDynamicMeshSceneProxy
(
UBaseDynamicMeshComponent* Component |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| FMeshRenderBufferSet * | RenderBuffer management Allocates a set of render buffers. | ||
| bool | AllowStaticDrawPath
(
const FSceneView* View |
Whether to allow use of the static draw path. If false, the dynamic draw path will be used instead. | |
| TUniquePtr< FDistanceFieldVolumeData > | ComputeDistanceFieldForMesh
(
const FDynamicMesh3& Mesh, |
||
| void | DrawBatch
(
FMeshElementCollector& Collector, |
Draw a single-frame FMeshBatch for a FMeshRenderBufferSet | |
| void | DrawStaticElements
(
FStaticPrimitiveDrawInterface* PDI |
||
| void | GetActiveRenderBufferSets
(
TArray< FMeshRenderBufferSet* >& Buffers |
FBaseDynamicMeshSceneProxy API - subclasses must implement these functions Return set of active renderbuffers. | |
| void | GetCollisionDynamicMeshElements
(
TArray< FMeshRenderBufferSet* >& Buffers, |
Helper called by GetDynamicMeshElements to process collision debug drawing | |
| void | GetDistanceFieldAtlasData
(
const FDistanceFieldVolumeData*& OutDistanceFieldData, |
||
| void | GetDistanceFieldInstanceData
(
TArray< FRenderTransform >& InstanceLocalToPrimitiveTransforms |
||
| void | GetDynamicMeshElements
(
const TArray< const FSceneView* >& Views, |
Render set of active RenderBuffers returned by GetActiveRenderBufferSets | |
| FMaterialRenderProxy * | GetEngineVertexColorMaterialProxy
(
FMeshElementCollector& Collector, |
FBaseDynamicMeshSceneProxy implementation If EngineShowFlags request vertex color rendering, returns the appropriate vertex color override material's render proxy. | |
| UMaterialInterface * | GetMaterial
(
int32 k |
Safe GetMaterial function that will never return nullptr | |
| const FCardRepresentationData * | Raytracing APIs Lumen APIs | ||
| int32 | |||
| bool | |||
| bool | |||
| void | InitializeBuffersFromOverlays
(
FMeshRenderBufferSet* RenderBuffers, |
Initialize rendering buffers from given attribute overlays. | |
| void | InitializeBuffersFromOverlays
(
FMeshRenderBufferSet* RenderBuffers, |
Initialize rendering buffers from given attribute overlays. | |
| bool | IsCollisionView
(
const FEngineShowFlags& EngineShowFlags, |
||
| void | RecomputeRenderBufferTriangleIndexSets
(
FMeshRenderBufferSet* RenderBuffers, |
RecomputeRenderBufferTriangleIndexSets re-sorts the existing set of triangles in a FMeshRenderBufferSet into primary and secondary index buffers. | |
| void | ReleaseRenderBufferSet
(
FMeshRenderBufferSet* BufferSet |
Explicitly release a set of RenderBuffers | |
| void | Set the collision data to use for debug drawing, or do nothing if debug drawing is not enabled. | ||
| void | SetNewDistanceField
(
TSharedPtr< FDistanceFieldVolumeData > NewDistanceField, |
||
| void | SetVerifyUsedMaterials
(
const bool bState |
Set whether or not to validate mesh batch materials against the component materials. | |
| void | 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 | ||
| void | Helper to set lumen cards. | ||
| void | UpdateSecondaryTriangleBuffer
(
FMeshRenderBufferSet* RenderBuffers, |
Filter the triangles in a FMeshRenderBufferSet into the SecondaryIndexBuffer. | |
| void | UpdateVertexBuffersFromOverlays
(
FMeshRenderBufferSet* RenderBuffers, |
Update vertex positions/normals/colors of an existing set of render buffers. | |
| void | UpdateVertexUVBufferFromOverlays
(
FMeshRenderBufferSet* RenderBuffers, |
Update vertex uvs of an existing set of render buffers. |