Epok Engine

EPOK RUNTIME

epok::frustum_outcode32

Function template · 1 overload

Function template

Plain 32-bit variant for inputs bounded by 2^27 in magnitude (the GTE projection path guarantees this); 3z+4y then cannot overflow.

Belongs to
epok
Header
frustum.hpp
Overloads
1

Declaration

template
Declaration
template<int32_t Near,int32_t FarExclusive> inline uint8_t frustum_outcode32(int32_t x,int32_t y,int32_t z)

Plain 32-bit variant for inputs bounded by 2^27 in magnitude (the GTE projection path guarantees this); 3z+4y then cannot overflow.

ParameterTypeMeaning
xint32_tValue supplied for x. Keep referenced or pointed-to data valid for the complete call.
yint32_tValue supplied for y. Keep referenced or pointed-to data valid for the complete call.
zint32_tValue supplied for z. Keep referenced or pointed-to data valid for the complete call.

Returns: uint8_t. Check the value before continuing when it represents success, availability or a resource handle.

Example

C++ example
#include "frustum.hpp"

// Replace these template arguments with types or values accepted by the declaration:
// Near, FarExclusive

// Assume these named values have been initialized with valid data:
// int32_t x
// int32_t y
// int32_t z

auto result = epok::frustum_outcode32<Near, FarExclusive>(x, y, z);

Why use it

Template dispatch is resolved at compile time and normally adds no runtime indirection.

Trade-offs and warnings

Every instantiated type must satisfy the header's compile-time requirements; extra instantiations can increase code size.

Declared in runtime/frustum.hpp:53

Related members