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 | bApplyVertexColorRemapping | If true, VertexColorRemappingFunc is called on Vertex Colors provided from Mesh to remap them to a different color | |
| bool | bEnableRaytracing | Control raytracing support | |
| bool | bEnableViewModeOverrides | ||
| bool | bIgnoreVertexColors | If true, vertex colors on the FDynamicMesh will be ignored | |
| bool | bUsePerTriangleColor | If true, a per-triangle color is used to set vertex colors | |
| bool | bUsePerTriangleNormals | If true, a facet normals are used instead of mesh normals | |
| bool | bUseSecondaryTriBuffers | If true, populate secondary buffers using SecondaryTriFilterFunc | |
| EDynamicMeshVertexColorTransformMode | ColorSpaceTransformMode | Color Space Transform/Conversion applied to Vertex Colors provided from Mesh Color Overlay Attribute Color Space Conversion is applied after any Vertex Color Remapping. | |
| FColor | ConstantVertexColor | Constant color assigned to vertices if no other vertex color is specified | |
| UBaseDynamicMeshComponent * | ParentBaseComponent | ||
| TFunction< FColor(const FDynamicMesh3 *, int)> | PerTriangleColorFunc | Per-triangle color function. Only called if bUsePerTriangleColor=true | |
| TUniqueFunction< bool(const FDynamicMesh3 *, int32)> | SecondaryTriFilterFunc | Filter predicate for secondary triangle index buffer. Only called if bUseSecondaryTriBuffers=true | |
| TUniqueFunction< void(FVector4f &)> | VertexColorRemappingFunc | Vertex color remapping function. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FBaseDynamicMeshSceneProxy
(
UBaseDynamicMeshComponent* Component |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| FMeshRenderBufferSet * | RenderBuffer management Allocates a set of render buffers. | ||
| void | DrawBatch
(
FMeshElementCollector& Collector, |
Draw a single-frame FMeshBatch for a FMeshRenderBufferSet | |
| void | GetActiveRenderBufferSets
(
TArray< FMeshRenderBufferSet* >& Buffers |
FBaseDynamicMeshSceneProxy API - subclasses must implement these functions Return set of active renderbuffers. | |
| 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 | |
| int32 | |||
| FColor | GetOverlayColorAsFColor
(
const FDynamicMeshColorOverlay* ColorOverlay, |
||
| void | InitializeBuffersFromOverlays
(
FMeshRenderBufferSet* RenderBuffers, |
Initialize rendering buffers from given attribute overlays. | |
| void | InitializeBuffersFromOverlays
(
FMeshRenderBufferSet* RenderBuffers, |
Initialize rendering buffers from given attribute overlays. | |
| 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 | 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 | 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. |
Overridden from FPrimitiveSceneProxy
| Type | Name | Description | |
|---|---|---|---|
| void | GetDynamicMeshElements
(
const TArray< const FSceneView* >& Views, |
Render set of active RenderBuffers returned by GetActiveRenderBufferSets |