Inexor
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
skelmodel::skelmeshgroup Struct Reference

#include <skelmodel.hpp>

Inheritance diagram for skelmodel::skelmeshgroup:
animmodel::meshgroup smd::smdmeshgroup

Public Member Functions

 skelmeshgroup ()
 
 ~skelmeshgroup () override
 
void shareskeleton (char *name)
 
int findtag (const char *name) override
 
voidanimkey () override
 
int totalframes () const override
 
virtual skelanimspecloadanim (const char *filename)
 
void genvbo (bool tangents, vbocacheentry &vc)
 
void bindvbo (const animstate *as, vbocacheentry &vc, skelcacheentry *sc=nullptr, blendcacheentry *bc=nullptr)
 
void concattagtransform (part *p, int i, const matrix4x3 &m, matrix4x3 &n) override
 
int addblendcombo (const blendcombo &c)
 
void sortblendcombos ()
 
int remapblend (int blend)
 
void blendbones (const skelcacheentry &sc, blendcacheentry &bc)
 
void cleanup () override
 
vbocacheentrycheckvbocache (skelcacheentry &sc, int owner)
 
blendcacheentrycheckblendcache (skelcacheentry &sc, int owner)
 
void preload (part *p) override
 
void render (const animstate *as, float pitch, const vec &axis, const vec &forward, dynent *d, part *p) override
 
void calcbb (vec &bbmin, vec &bbmax, const matrix4x3 &m)
 
void genBIH (vector< skin > &skins, vector< BIH::mesh > &bih, const matrix4x3 &t)
 
bool hasframe (int i) const
 
bool hasframes (int i, int n) const
 
int clipframes (int i, int n) const
 
void bindpos (GLuint ebuf, GLuint vbuf, void *v, int stride)
 
void bindtc (void *v, int stride)
 
void bindnormals (void *v, int stride)
 
void bindtangents (void *v, int stride)
 
void bindbones (void *wv, void *bv, int stride)
 

Static Public Member Functions

static void blendbones (dualquat &d, const dualquat *bdata, const blendcombo &c)
 

Public Attributes

skeletonskel
 
vector< blendcomboblendcombos
 
int numblends [4]
 
blendcacheentry blendcache [MAXBLENDCACHE]
 
vbocacheentry vbocache [MAXVBOCACHE]
 
ushortedata
 
GLuint ebuf
 
bool vtangents
 
int vlen
 
int vertsize
 
int vblends
 
int vweights
 
ucharvdata
 
meshgroupnext
 
int shared
 
char * name
 
vector< mesh * > meshes
 

Static Public Attributes

static const int MAXBLENDCACHE = 16
 
static const int MAXVBOCACHE = 16
 

Constructor & Destructor Documentation

skelmodel::skelmeshgroup::skelmeshgroup ( )
inline

References numblends.

skelmodel::skelmeshgroup::~skelmeshgroup ( )
inlineoverride

Member Function Documentation

int skelmodel::skelmeshgroup::addblendcombo ( const blendcombo c)
inline
void* skelmodel::skelmeshgroup::animkey ( )
inlineoverridevirtual

Reimplemented from animmodel::meshgroup.

References skel.

void animmodel::meshgroup::bindbones ( void wv,
void bv,
int  stride 
)
inlineinherited
void animmodel::meshgroup::bindnormals ( void v,
int  stride 
)
inlineinherited
void animmodel::meshgroup::bindpos ( GLuint  ebuf,
GLuint  vbuf,
void v,
int  stride 
)
inlineinherited
void animmodel::meshgroup::bindtangents ( void v,
int  stride 
)
inlineinherited
void animmodel::meshgroup::bindtc ( void v,
int  stride 
)
inlineinherited
void skelmodel::skelmeshgroup::bindvbo ( const animstate as,
vbocacheentry vc,
skelcacheentry sc = nullptr,
blendcacheentry bc = nullptr 
)
inline
static void skelmodel::skelmeshgroup::blendbones ( dualquat d,
const dualquat bdata,
const blendcombo c 
)
inlinestatic
void skelmodel::skelmeshgroup::blendbones ( const skelcacheentry sc,
blendcacheentry bc 
)
inline
void animmodel::meshgroup::calcbb ( vec bbmin,
vec bbmax,
const matrix4x3 m 
)
inlineinherited
blendcacheentry& skelmodel::skelmeshgroup::checkblendcache ( skelcacheentry sc,
int  owner 
)
inline

References blendcache, MAXBLENDCACHE, and SEARCHCACHE.

Referenced by render().

vbocacheentry& skelmodel::skelmeshgroup::checkvbocache ( skelcacheentry sc,
int  owner 
)
inline
void skelmodel::skelmeshgroup::cleanup ( )
inlineoverridevirtual
int animmodel::meshgroup::clipframes ( int  i,
int  n 
) const
inlineinherited
void skelmodel::skelmeshgroup::concattagtransform ( part p,
int  i,
const matrix4x3 m,
matrix4x3 n 
)
inlineoverridevirtual
int skelmodel::skelmeshgroup::findtag ( const char *  name)
inlineoverridevirtual

Reimplemented from animmodel::meshgroup.

References skelmodel::skeleton::findtag(), and skel.

void animmodel::meshgroup::genBIH ( vector< skin > &  skins,
vector< BIH::mesh > &  bih,
const matrix4x3 t 
)
inlineinherited
void skelmodel::skelmeshgroup::genvbo ( bool  tangents,
vbocacheentry vc 
)
inline
bool animmodel::meshgroup::hasframe ( int  i) const
inlineinherited
bool animmodel::meshgroup::hasframes ( int  i,
int  n 
) const
inlineinherited
virtual skelanimspec* skelmodel::skelmeshgroup::loadanim ( const char *  filename)
inlinevirtual

Reimplemented in smd::smdmeshgroup.

void skelmodel::skelmeshgroup::preload ( part p)
inlineoverridevirtual
int skelmodel::skelmeshgroup::remapblend ( int  blend)
inline
void skelmodel::skelmeshgroup::render ( const animstate as,
float  pitch,
const vec axis,
const vec forward,
dynent d,
part p 
)
inlineoverridevirtual
void skelmodel::skelmeshgroup::shareskeleton ( char *  name)
inline
void skelmodel::skelmeshgroup::sortblendcombos ( )
inline
int skelmodel::skelmeshgroup::totalframes ( ) const
inlineoverridevirtual

Member Data Documentation

blendcacheentry skelmodel::skelmeshgroup::blendcache[MAXBLENDCACHE]
vector<blendcombo> skelmodel::skelmeshgroup::blendcombos
GLuint skelmodel::skelmeshgroup::ebuf
ushort* skelmodel::skelmeshgroup::edata
const int skelmodel::skelmeshgroup::MAXBLENDCACHE = 16
static
const int skelmodel::skelmeshgroup::MAXVBOCACHE = 16
static
vector<mesh *> animmodel::meshgroup::meshes
inherited
char* animmodel::meshgroup::name
inherited
meshgroup* animmodel::meshgroup::next
inherited
int skelmodel::skelmeshgroup::numblends[4]
int animmodel::meshgroup::shared
inherited

Referenced by animmodel::part::loaded().

skeleton* skelmodel::skelmeshgroup::skel
int skelmodel::skelmeshgroup::vblends

Referenced by blendbones(), genvbo(), and render().

vbocacheentry skelmodel::skelmeshgroup::vbocache[MAXVBOCACHE]
uchar* skelmodel::skelmeshgroup::vdata

Referenced by genvbo(), render(), and ~skelmeshgroup().

int skelmodel::skelmeshgroup::vertsize

Referenced by bindvbo(), genvbo(), and render().

int skelmodel::skelmeshgroup::vlen

Referenced by genvbo(), and render().

bool skelmodel::skelmeshgroup::vtangents

Referenced by bindvbo(), genvbo(), preload(), and render().

int skelmodel::skelmeshgroup::vweights

The documentation for this struct was generated from the following file: