Blender V4.3
mikk Namespace Reference

Classes

class  AtomicHashSet
 
struct  AtomicHashSetLinearProbeFcn
 
struct  AtomicHashSetQuadraticProbeFcn
 
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, and mikk::float3::distance().

◆ dot()

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

Definition at line 104 of file mikk_float3.hh.

References b.

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

◆ fast_acosf()

float mikk::fast_acosf ( float x)
inline

Definition at line 39 of file mikk_util.hh.

References fabsf, M_PI_F, and sqrtf.

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

◆ float_add_atomic()

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

Definition at line 142 of file mikk_util.hh.

References float_as_uint(), and uint_as_float().

◆ float_as_uint()

static uint mikk::float_as_uint ( const float v)
static

Definition at line 83 of file mikk_util.hh.

References v.

Referenced by float_add_atomic(), and hash_float3_fast().

◆ hash_float3_fast()

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

Definition at line 93 of file mikk_util.hh.

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

Referenced by hash_float3x3().

◆ hash_float3x3()

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

Definition at line 98 of file mikk_util.hh.

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

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

◆ hash_uint3()

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

Definition at line 61 of file mikk_util.hh.

References b, and rotl().

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

◆ hash_uint3_fast()

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

Definition at line 78 of file mikk_util.hh.

References z().

Referenced by hash_float3_fast().

◆ not_zero()

bool mikk::not_zero ( const float fX)
inline

Definition at line 20 of file mikk_util.hh.

References fabsf.

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

◆ pack_index()

static 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 106 of file mikk_util.hh.

References data, and pos.

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

◆ rotl()

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

Definition at line 56 of file mikk_util.hh.

Referenced by hash_uint3().

◆ uint_as_float()

static float mikk::uint_as_float ( const uint v)
static

Definition at line 88 of file mikk_util.hh.

References v.

Referenced by float_add_atomic().

◆ unpack_index()

static void mikk::unpack_index ( uint & face,
uint & vert,
const uint indexIn )
static

Variable Documentation

◆ UNSET_ENTRY