EntityInvoke.h file
Functions
-
template<typename T>auto InvokePrePhysicsImpl(SimFloat dt, void** fieldArrayTable, void* FlagBase, uint32_t componentCount) -> FORCE_
INLINE void - Entity dispatch templates — wide SIMD + scalar + tail-masked loops.
-
template<typename T>auto InvokeScalarUpdateImpl(SimFloat dt, void** fieldArrayTable, void* FlagBase, uint32_t componentCount) -> FORCE_
INLINE void - Scalar per-entity update loop (outside fixed step, no SIMD).
-
template<typename T>auto InvokeInitializeImpl(void** fieldArrayTable, void* FlagBase, uint32_t localIndex) -> FORCE_
INLINE void - Single-entity initialization at spawn time.
-
template<typename T>auto InvokePostPhysicsImpl(SimFloat dt, void** fieldArrayTable, void* FlagBase, uint32_t componentCount) -> FORCE_
INLINE void - Wide AVX2 post-physics sweep: 8-wide batches + masked tail.
-
template<typename T>auto InvokePrePhysicsResimImpl(SimFloat dt, void** fieldArrayTable, void* FlagBase, uint32_t componentCount) -> FORCE_
INLINE void - Rollback resim pre-physics: scalar loop filtered to
DirtiedFrameentities only. -
template<typename T>auto InvokePostPhysicsResimImpl(SimFloat dt, void** fieldArrayTable, void* FlagBase, uint32_t componentCount) -> FORCE_
INLINE void - Rollback resim post-physics: scalar loop filtered to
DirtiedFrameentities only.
Function documentation
template<typename T>
FORCE_ INLINE void InvokePrePhysicsImpl(SimFloat dt,
void** fieldArrayTable,
void* FlagBase,
uint32_t componentCount)
Entity dispatch templates — wide SIMD + scalar + tail-masked loops.
| Parameters | |
|---|---|
| dt | Fixed timestep. |
| fieldArrayTable | Per-field SoA array pointers from the archetype chunk. |
| FlagBase | Pointer to the flags array (CacheSlotMeta::Flags). |
| componentCount | Total entity count in this archetype chunk. |
Called via function pointers in EntityMeta. Each entity type that implements PrePhysics / PostPhysics / ScalarUpdate gets a concrete instantiation registered by PrefabReflector::RegisterPrefab.
Wide AVX2 pre-physics sweep: 8-wide batches + masked tail.
template<typename T>
FORCE_ INLINE void InvokeInitializeImpl(void** fieldArrayTable,
void* FlagBase,
uint32_t localIndex)
Single-entity initialization at spawn time.
| Parameters | |
|---|---|
| fieldArrayTable | |
| FlagBase | |
| localIndex | Slot index within the chunk's field arrays. |
template<typename T>
FORCE_ INLINE void InvokePrePhysicsResimImpl(SimFloat dt,
void** fieldArrayTable,
void* FlagBase,
uint32_t componentCount)
Rollback resim pre-physics: scalar loop filtered to DirtiedFrame entities only.
Called in place of the wide SIMD variant during resimulation to skip the majority of entities whose state is unchanged by the incoming correction.