Why use it
Template dispatch is resolved at compile time and normally adds no runtime indirection.
EPOK RUNTIME
Function template · 1 overload
Sutherland-Hodgman against the frustum planes named by `planes` (bit i = plane i of frustum_outcode).
template<class Units> inline int clip_polygon(ClipVertex (&buffers)[2][12], int count, uint8_t planes, int& from)Sutherland-Hodgman against the frustum planes named by `planes` (bit i = plane i of frustum_outcode).
| Parameter | Type | Meaning |
|---|---|---|
buffers | ClipVertex (&)[2][12] | Value supplied for buffers. Keep referenced or pointed-to data valid for the complete call. |
count | int | Value supplied for count. Keep referenced or pointed-to data valid for the complete call. |
planes | uint8_t | Value supplied for planes. Keep referenced or pointed-to data valid for the complete call. |
from | int & | Value supplied for from. Keep referenced or pointed-to data valid for the complete call. |
Returns: int. Check the value before continuing when it represents success, availability or a resource handle.
#include "polygon.hpp"
// Replace these template arguments with types or values accepted by the declaration:
// Units
// Assume these named values have been initialized with valid data:
// ClipVertex (&)[2][12] buffers
// int count
// uint8_t planes
// int & from
auto result = epok::clip_polygon<Units>(buffers, count, planes, from);Template dispatch is resolved at compile time and normally adds no runtime indirection.
Every instantiated type must satisfy the header's compile-time requirements; extra instantiations can increase code size. 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/polygon.hpp:96
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