Why use it
Template dispatch is resolved at compile time and normally adds no runtime indirection. The API maps closely to PSX GPU work, giving predictable ordering and low overhead.
EPOK RUNTIME
Function template · 1 overload
Bounded, allocation-free, stable insertion sort of an index array by draw key.
template <class Key> inline void sort_draw_order(uint16_t* indices, size_t count, Key&& key)Bounded, allocation-free, stable insertion sort of an index array by draw key.
| Parameter | Type | Meaning |
|---|---|---|
indices | uint16_t * | Value supplied for indices. Keep referenced or pointed-to data valid for the complete call. |
count | size_t | Value supplied for count. Keep referenced or pointed-to data valid for the complete call. |
key | Key && | Value supplied for key. Keep referenced or pointed-to data valid for the complete call. |
Returns: Nothing (void).
#include "world2d.hpp"
// Replace these template arguments with types or values accepted by the declaration:
// Key
// Assume these named values have been initialized with valid data:
// uint16_t * indices
// size_t count
// Key && key
epok::sort_draw_order<Key>(indices, count, key);Template dispatch is resolved at compile time and normally adds no runtime indirection. The API maps closely to PSX GPU work, giving predictable ordering and low overhead.
Every instantiated type must satisfy the header's compile-time requirements; extra instantiations can increase code size. Respect packet lifetime, ordering-table direction and per-frame GPU/VRAM budgets; submission is not a desktop immediate-mode draw call. Pointer/reference arguments are borrowed unless the source contract says otherwise; keep them valid for the complete operation and never assume null is accepted.
Declared in runtime/world2d.hpp:272
aabb_may_touchPerforms `aabb may touch` as part of bounded AABB collision queries and movement.Function templateaabb_overlapPerforms `aabb overlap` as part of bounded AABB collision queries and movement.Function templateaabb2d_containsPerforms `aabb2d contains` as part of the world2d module.Functionaabb2d_overlapPerforms `aabb2d overlap` as part of the world2d module.Functionaabb2d_touchPerforms `aabb2d touch` as part of the world2d module.Functionaabb2d_translatedPerforms `aabb2d translated` as part of the world2d module.Functionactivate_texture_bankPerforms `activate texture bank` as part of the epok module.Functionactive_cameraPerforms `active camera` as part of the epok module.Functionactor_for_slotPerforms `actor for slot` as part of the actor tables module.Functionallocate_actor_dataPerforms `allocate actor data` as part of the epok module.Functionattach_componentSpatial attachment between components of the same domain.Functionaudio_initializePerforms `audio initialize` as part of SPU sound playback and voice ownership.Function