#include <g3d_ShapeObj.h>
Classes | |
| class | InitArg |
| class | Sizer |
Public Types | |
| enum | Alignment { BUFFER_ALIGNMENT = CACHE_BLOCK_SIZE , BLOCK_BUFFER_ALIGNMENT = GX2_UNIFORM_BLOCK_ALIGNMENT } |
Public Member Functions | |
| ShapeObj () | |
| bool | Init (const InitArg &arg, void *pBuffer, size_t bufferSize) |
| size_t | CalcBlockBufferSize () const |
| bool | SetupBlockBuffer (void *pBuffer, size_t bufferSize) |
| void | CleanupBlockBuffer () |
| void | CalcBounding (const SkeletonObj *pSkeleton) |
| void | CalcSubBounding (const SkeletonObj *pSkeleton) |
| void | CalcShpBlock (int viewIndex, const Mtx34 &worldMtx, int bufferIndex=0) |
| ResShape * | GetResource () |
| const ResShape * | GetResource () const |
| void * | GetBufferPtr () |
| void * | GetBlockBufferPtr () |
| bool | IsBlockBufferValid () const |
| int | GetMaterialIndex () const |
| int | GetBoneIndex () const |
| int | GetVertexIndex () const |
| int | GetVtxSkinCount () const |
| bool | IsRigidBody () const |
| bool | IsRigidSkinning () const |
| bool | IsSmoothSkinning () const |
| ResMesh * | GetResMesh (int meshIndex=0) |
| const ResMesh * | GetResMesh (int meshIndex=0) const |
| int | GetMeshCount () const |
| int | GetViewCount () const |
| int | GetSubMeshCount () const |
| bool | IsViewDependent () const |
| int | GetShpBlockCount () const |
| GfxBuffer & | GetShpBlock (int viewIndex) |
| const GfxBuffer & | GetShpBlock (int viewIndex) const |
| int | GetBufferingCount () const |
| void | EnableBlockSwap () |
| void | DisableBlockSwap () |
| bool | IsBlockSwapEnabled () const |
| void | SetUserPtr (void *pUserPtr) |
| void * | GetUserPtr () |
| const void * | GetUserPtr () const |
| template<typename T> | |
| T * | GetUserPtr () |
| template<typename T> | |
| const T * | GetUserPtr () const |
| ResVertex * | GetResVertex () |
| const ResVertex * | GetResVertex () const |
| int | GetVtxAttribCount () const |
| ResVtxAttrib * | GetResVtxAttrib (int attribIndex) |
| const ResVtxAttrib * | GetResVtxAttrib (int attribIndex) const |
| ResVtxAttrib * | GetResVtxAttrib (const char *name) |
| const ResVtxAttrib * | GetResVtxAttrib (const char *name) const |
| const char * | GetVtxAttribName (int attribIndex) const |
| int | GetVtxAttribIndex (const char *name) const |
| int | GetVertexBufferCount () const |
| GfxBuffer & | GetVertexBuffer (int bufferIndex) |
| const GfxBuffer & | GetVertexBuffer (int bufferIndex) const |
| Sphere * | GetBounding () |
| const Sphere * | GetBounding () const |
| const AABB * | GetSubBoundingArray () const |
| const u16 * | GetSubMeshIndexArray () const |
| bool | TestSubMeshIntersection (CullingContext *pCtx, const ViewVolume &volume) const |
| int | GetKeyShapeCount () const |
| ResKeyShape * | GetResKeyShape (int keyShapeIndex) |
| const ResKeyShape * | GetResKeyShape (int keyShapeIndex) const |
| ResKeyShape * | GetResKeyShape (const char *name) |
| const ResKeyShape * | GetResKeyShape (const char *name) const |
| const char * | GetKeyShapeName (int keyShapeIndex) const |
| int | GetKeyShapeIndex (const char *name) const |
| int | GetTargetAttribCount () const |
| void | ClearBlendWeights () |
| NW_G3D_DEPRECATED_FUNCTION (bool IsBlendWeightValid() const) | |
| bool | HasValidBlendWeight () const |
| void | SetBlendWeight (int keyShapeIndex, float weight) |
| float | GetBlendWeight (int keyShapeIndex) const |
Static Public Member Functions | |
| static size_t | CalcBufferSize (const InitArg &arg) |
Protected Types | |
| enum | Flag { BLOCK_BUFFER_VALID = 0x1 << 0 , BLOCK_BUFFER_SWAP = 0x1 << 1 , BLEND_WEIGHT_VALID = 0x1 << 2 } |
| enum | BoundingCoord { WORLD_COORD = 0 , LOCAL_COORD = 1 , NUM_COORD } |
Private Member Functions | |
| NW_G3D_DISALLOW_COPY_AND_ASSIGN (ShapeObj) | |
Private Attributes | |
| ResShape * | m_pRes |
| bit32 | m_Flag |
| u8 | m_NumView |
| u8 | m_ViewDependent |
| u8 | m_NumShpBlock |
| u8 | m_NumBuffering |
| GfxBuffer * | m_pShpBlockArray |
| float * | m_pBlendWeightArray |
| Sphere * | m_pBounding |
| AABB * | m_pSubBounding |
| void * | m_pUserPtr |
| void * | m_pBufferPtr |
| void * | m_pBlockBuffer |
|
protected |
|
protected |
|
inline |
|
static |
| bool nw::g3d::ShapeObj::Init | ( | const InitArg & | arg, |
| void * | pBuffer, | ||
| size_t | bufferSize ) |
| size_t nw::g3d::ShapeObj::CalcBlockBufferSize | ( | ) | const |
| bool nw::g3d::ShapeObj::SetupBlockBuffer | ( | void * | pBuffer, |
| size_t | bufferSize ) |
| void nw::g3d::ShapeObj::CleanupBlockBuffer | ( | ) |
| void nw::g3d::ShapeObj::CalcBounding | ( | const SkeletonObj * | pSkeleton | ) |
| void nw::g3d::ShapeObj::CalcSubBounding | ( | const SkeletonObj * | pSkeleton | ) |
| void nw::g3d::ShapeObj::CalcShpBlock | ( | int | viewIndex, |
| const Mtx34 & | worldMtx, | ||
| int | bufferIndex = 0 ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| bool nw::g3d::ShapeObj::TestSubMeshIntersection | ( | CullingContext * | pCtx, |
| const ViewVolume & | volume ) const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void nw::g3d::ShapeObj::ClearBlendWeights | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |