Navigation
API > API/Runtime > API/Runtime/Renderer > API/Runtime/Renderer/FPrimitiveSceneInfo
Description
Persistent index of the primitive in the range [0, FScene::GetMaxPersistentPrimitiveIndex() ). Where the max is never higher than the high watermark of the primitives in the scene. This index remains stable for the life-time of the primitive in the scene (i.e., same as PrimitiveSceneInfo and Proxy - between FScene::AddPrimitive / FScene::RemovePrimitive). The intended use is to enable tracking primitive data over time in renderer systems using direct indexing, e.g., for efficiently storing a bit per primitive. Direct indexing also facilitates easy GPU-reflection and access of the persistent data, where it can be accessed as e.g., GetPrimitiveData(...).PersistentPrimitiveIndex. It is allocated using FScene::PersistentPrimitiveIdAllocator from a range with holes that is kept as compact as possible up to the high-water mark of the scene primitives. Due to persistence this maximum can be substantially larger than the current number of Primitives at times, but never worse than the high-watermark. In the future, the index will likely be refactored to persist for the lifetime of the component (to facilitate tracking data past proxy re-creates). Note: It is not currently used to index any of the current FScene primitive arrays (use PackedIndex), though this is intended to change.
| Name | GetPersistentIndex |
| Type | function |
| Header File | /Engine/Source/Runtime/Renderer/Public/PrimitiveSceneInfo.h |
| Include Path | #include "PrimitiveSceneInfo.h" |
FPersistentPrimitiveIndex GetPersistentIndex() const