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

#include <vertmodel.hpp>

Inheritance diagram for vertmodel::vertmesh:
animmodel::mesh

Public Member Functions

 vertmesh ()
 
 ~vertmesh () override
 
void smoothnorms (float limit=0, bool areaweight=true)
 
void buildnorms (bool areaweight=true)
 
void calctangents (bool areaweight=true)
 
void calcbb (vec &bbmin, vec &bbmax, const matrix4x3 &m) override
 
void genBIH (BIH::mesh &m) override
 
void assignvert (vvertbump &vv, int j, tcvert &tc, vert &v)
 
template<class T >
int genvbo (vector< ushort > &idxs, int offset, vector< T > &vverts, int *htdata, int htlen)
 
int genvbo (vector< ushort > &idxs, int offset)
 
template<class T >
void fillverts (T *vdata)
 
void interpverts (const animstate &as, bool tangents, void *RESTRICT vdata, skin &s)
 
void render (const animstate *as, skin &s, vbocacheentry &vc)
 
void genBIH (skin &s, vector< BIH::mesh > &bih, const matrix4x3 &t)
 
virtual void setshader (Shader *s)
 
template<class V , class T >
void smoothnorms (V *verts, int numverts, T *tris, int numtris, float limit, bool areaweight)
 
template<class V , class T >
void buildnorms (V *verts, int numverts, T *tris, int numtris, bool areaweight)
 
template<class V , class T >
void buildnorms (V *verts, int numverts, T *tris, int numtris, bool areaweight, int numframes)
 
template<class B , class V , class TC , class T >
void calctangents (B *bumpverts, V *verts, TC *tcverts, int numverts, T *tris, int numtris, bool areaweight)
 
template<class B , class V , class TC , class T >
void calctangents (B *bumpverts, V *verts, TC *tcverts, int numverts, T *tris, int numtris, bool areaweight, int numframes)
 

Static Public Member Functions

static void assignvert (vvertn &vv, int j, tcvert &tc, vert &v)
 
template<class T >
static void fillvert (T &vv, int j, tcvert &tc, vert &v)
 
static void fixqtangent (quat &q, float bt)
 
template<class V >
static void calctangent (V &v, const vec &n, const vec &t, float bt)
 

Public Attributes

vertverts
 
tcverttcverts
 
bumpvertbumpverts
 
tritris
 
int numverts
 
int numtris
 
int voffset
 
int eoffset
 
int elen
 
ushort minvert
 
ushort maxvert
 
meshgroupgroup
 
char * name
 
bool noclip
 

Constructor & Destructor Documentation

vertmodel::vertmesh::vertmesh ( )
inline
vertmodel::vertmesh::~vertmesh ( )
inlineoverride

References bumpverts, DELETEA, tcverts, tris, and verts.

Member Function Documentation

static void vertmodel::vertmesh::assignvert ( vvertn vv,
int  j,
tcvert tc,
vert v 
)
inlinestatic
void vertmodel::vertmesh::assignvert ( vvertbump vv,
int  j,
tcvert tc,
vert v 
)
inline
void vertmodel::vertmesh::buildnorms ( bool  areaweight = true)
inline
template<class V , class T >
void animmodel::mesh::buildnorms ( V *  verts,
int  numverts,
T *  tris,
int  numtris,
bool  areaweight 
)
inlineinherited
template<class V , class T >
void animmodel::mesh::buildnorms ( V *  verts,
int  numverts,
T *  tris,
int  numtris,
bool  areaweight,
int  numframes 
)
inlineinherited
void vertmodel::vertmesh::calcbb ( vec bbmin,
vec bbmax,
const matrix4x3 m 
)
inlineoverridevirtual
template<class V >
static void animmodel::mesh::calctangent ( V &  v,
const vec n,
const vec t,
float  bt 
)
inlinestaticinherited
void vertmodel::vertmesh::calctangents ( bool  areaweight = true)
inline
template<class B , class V , class TC , class T >
void animmodel::mesh::calctangents ( B *  bumpverts,
V *  verts,
TC *  tcverts,
int  numverts,
T *  tris,
int  numtris,
bool  areaweight 
)
inlineinherited
template<class B , class V , class TC , class T >
void animmodel::mesh::calctangents ( B *  bumpverts,
V *  verts,
TC *  tcverts,
int  numverts,
T *  tris,
int  numtris,
bool  areaweight,
int  numframes 
)
inlineinherited
template<class T >
static void vertmodel::vertmesh::fillvert ( T &  vv,
int  j,
tcvert tc,
vert v 
)
inlinestatic

References vertmodel::tcvert::tc.

Referenced by fillverts().

template<class T >
void vertmodel::vertmesh::fillverts ( T *  vdata)
inline
static void animmodel::mesh::fixqtangent ( quat q,
float  bt 
)
inlinestaticinherited
void vertmodel::vertmesh::genBIH ( BIH::mesh m)
inlineoverridevirtual
void animmodel::mesh::genBIH ( skin s,
vector< BIH::mesh > &  bih,
const matrix4x3 t 
)
inlineinherited
template<class T >
int vertmodel::vertmesh::genvbo ( vector< ushort > &  idxs,
int  offset,
vector< T > &  vverts,
int *  htdata,
int  htlen 
)
inline
int vertmodel::vertmesh::genvbo ( vector< ushort > &  idxs,
int  offset 
)
inline
void vertmodel::vertmesh::interpverts ( const animstate as,
bool  tangents,
void *RESTRICT  vdata,
skin s 
)
inline
void vertmodel::vertmesh::render ( const animstate as,
skin s,
vbocacheentry vc 
)
inline
virtual void animmodel::mesh::setshader ( Shader s)
inlinevirtualinherited
void vertmodel::vertmesh::smoothnorms ( float  limit = 0,
bool  areaweight = true 
)
inline
template<class V , class T >
void animmodel::mesh::smoothnorms ( V *  verts,
int  numverts,
T *  tris,
int  numtris,
float  limit,
bool  areaweight 
)
inlineinherited

Member Data Documentation

bumpvert* vertmodel::vertmesh::bumpverts
int vertmodel::vertmesh::elen

Referenced by genvbo(), and render().

int vertmodel::vertmesh::eoffset

Referenced by genvbo(), and render().

meshgroup* animmodel::mesh::group
inherited
ushort vertmodel::vertmesh::maxvert

Referenced by genvbo(), and render().

ushort vertmodel::vertmesh::minvert

Referenced by genvbo(), and render().

char* animmodel::mesh::name
inherited
bool animmodel::mesh::noclip
inherited

Referenced by animmodel::mesh::genBIH().

int vertmodel::vertmesh::numtris
int vertmodel::vertmesh::numverts
tcvert* vertmodel::vertmesh::tcverts
tri* vertmodel::vertmesh::tris
vert* vertmodel::vertmesh::verts
int vertmodel::vertmesh::voffset

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