Navigation
API > API/Plugins > API/Plugins/DynamicMesh > API/Plugins/DynamicMesh/Operations > API/Plugins/DynamicMesh/Operations/TRemoveOccludedTriangles > API/Plugins/DynamicMesh/Operations/TRemoveOccludedTriangles/Apply
References
| Module | DynamicMesh |
| Header | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Operations/RemoveOccludedTriangles.h |
| Include | #include "Operations/RemoveOccludedTriangles.h" |
virtual bool Apply
&40;
const TArrayView< const FTransformSRT3d > MeshLocalToOccluderSpaces,
const TArrayView< TMeshAABBTree3< OccluderTriangleMeshType > &42; > Spatials,
const TArrayView< TFastWindingTree< OccluderTriangleMeshType > &42; > FastWindingTrees,
const TArrayView< const FTransformSRT3d > SpatialTransforms,
bool bTestOccludedByAny
&41;
Remarks
Remove the occluded triangles, considering the given occluder AABB trees (which may represent more geometry than a single mesh) See simpler invocations below for the single instance case or the case where you'd like the spatial data structures built for you true on success
Parameters
| Name | Description |
|---|---|
| MeshLocalToOccluderSpaces | Transforms to take instances of the local mesh into the space of the occluders |
| Spatials | AABB trees for all occluders |
| FastWindingTrees | Precomputed fast winding trees for occluders |
| SpatialTransforms | Transforms AABB/winding tree to shared occluder space (if empty, Identity is used) |
| bTestOccludedByAny | If true, a triangle is occluded if it is fully occluded by any occluder. Otherwise, we test if it's occluded by the combination of all occluders. |