Blender V5.0
mikk Namespace Reference

Classes

struct  AtomicHashSetLinearProbeFcn
struct  AtomicHashSetQuadraticProbeFcn
class  AtomicHashSet
struct  float3
class  Mikktspace

Functions

float dot (const float3 &a, const float3 &b)
float distance (const float3 &a, const float3 &b)
float3 project (const float3 &n, const float3 &v)
bool not_zero (const float fX)
static uint pack_index (const uint face, const uint vert)
static void unpack_index (uint &face, uint &vert, const uint indexIn)
float fast_acosf (float x)
static uint rotl (uint x, uint k)
static uint hash_uint3 (uint kx, uint ky, uint kz)
static uint hash_uint3_fast (const uint x, const uint y, const uint z)
static uint float_as_uint (const float v)
static float uint_as_float (const uint v)
static uint hash_float3_fast (const float x, const float y, const float z)
static uint hash_float3x3 (const float3 &x, const float3 &y, const float3 &z)
template<typename T, typename KeyGetter>
void radixsort (std::vector< T > &data, std::vector< T > &data2, KeyGetter getKey)
static void float_add_atomic (float *val, float add)

Variables

static constexpr uint UNSET_ENTRY = 0xffffffffu

Function Documentation

◆ distance()

float mikk::distance ( const float3 & a,
const float3 & b )
inline

Definition at line 109 of file mikk_float3.hh.

References b.

◆ dot()

float mikk::dot ( const float3 & a,
const float3 & b )
inline

◆ fast_acosf()

float mikk::fast_acosf ( float x)
inline

Definition at line 41 of file mikk_util.hh.

References fabsf, M_PI_F, sqrtf, and x.

Referenced by mikk::Mikktspace< Mesh >::accumulateTSpaces().

◆ float_add_atomic()

void mikk::float_add_atomic ( float * val,
float add )
static

Definition at line 145 of file mikk_util.hh.

References add(), float_as_uint(), and uint_as_float().

◆ float_as_uint()

uint mikk::float_as_uint ( const float v)
static

Definition at line 85 of file mikk_util.hh.

References v.

Referenced by float_add_atomic(), and hash_float3_fast().

◆ hash_float3_fast()

uint mikk::hash_float3_fast ( const float x,
const float y,
const float z )
static

Definition at line 95 of file mikk_util.hh.

References float_as_uint(), hash_uint3_fast(), x, y, and z().

Referenced by hash_float3x3().

◆ hash_float3x3()

uint mikk::hash_float3x3 ( const float3 & x,
const float3 & y,
const float3 & z )
static

Definition at line 100 of file mikk_util.hh.

References hash_float3_fast(), hash_uint3(), x, y, and z().

Referenced by mikk::Mikktspace< Mesh >::VertexHash::operator()().

◆ hash_uint3()

uint mikk::hash_uint3 ( uint kx,
uint ky,
uint kz )
static

Definition at line 63 of file mikk_util.hh.

References b, and rotl().

Referenced by mikk::Mikktspace< Mesh >::buildNeighbors(), and hash_float3x3().

◆ hash_uint3_fast()

uint mikk::hash_uint3_fast ( const uint x,
const uint y,
const uint z )
static

Definition at line 80 of file mikk_util.hh.

References x, y, and z().

Referenced by hash_float3_fast().

◆ not_zero()

bool mikk::not_zero ( const float fX)
inline

Definition at line 22 of file mikk_util.hh.

References fabsf.

Referenced by mikk::Mikktspace< Mesh >::initTriangle().

◆ pack_index()

uint mikk::pack_index ( const uint face,
const uint vert )
static

◆ project()

float3 mikk::project ( const float3 & n,
const float3 & v )
inline

Definition at line 115 of file mikk_float3.hh.

References dot(), mikk::float3::normalize(), and v.

Referenced by mikk::Mikktspace< Mesh >::accumulateTSpaces().

◆ radixsort()

template<typename T, typename KeyGetter>
void mikk::radixsort ( std::vector< T > & data,
std::vector< T > & data2,
KeyGetter getKey )

Definition at line 108 of file mikk_util.hh.

References data, i, pos, and T.

Referenced by mikk::Mikktspace< Mesh >::NeighborShard::buildNeighbors().

◆ rotl()

uint mikk::rotl ( uint x,
uint k )
static

Definition at line 58 of file mikk_util.hh.

References x.

Referenced by hash_uint3().

◆ uint_as_float()

float mikk::uint_as_float ( const uint v)
static

Definition at line 90 of file mikk_util.hh.

References v.

Referenced by float_add_atomic().

◆ unpack_index()

Variable Documentation

◆ UNSET_ENTRY