The DejaVU Framework -- hush 3.1

include: graphic-directx-game-16-Skinned-Mesh-Demo-SkinnedMesh.h /home/ae/www/media


- [up] [top] - index make include source logic grammar scripts html configure mx slides talks scenes reports projects
<body bgcolor="#FFFFFF" text="#000000">

//=============================================================================
// SkinnedMesh.h by Frank Luna (C) 2005 All Rights Reserved.
//=============================================================================

ifndef SKINNED_MESH_H
define SKINNED_MESH_H

include <d3dUtil.h>

struct FrameEx : public D3DXFRAME
{
        D3DXMATRIX toRoot;
};

<h4 align=right text=red> SkinnedMesh</h4><hr>
  class SkinnedMesh
{
public:
        SkinnedMesh(std::string XFilename);
        ~SkinnedMesh();

        UINT numVertices();
        UINT numTriangles();
        UINT numBones();
        const D3DXMATRIX* getFinalXFormArray();

        void update(float deltaTime);
        void draw();

protected:
        D3DXFRAME* findNodeWithMesh(D3DXFRAME* frame);
        bool hasNormals(ID3DXMesh* mesh);
        void buildSkinnedMesh(ID3DXMesh* mesh);
        void buildToRootXFormPtrArray();
        void buildToRootXForms(FrameEx* frame, D3DXMATRIX& parentsToRoot);

        // We do not implement the required functionality to do deep copies,
        // so restrict copying.
        SkinnedMesh(const SkinnedMesh& rhs);
        SkinnedMesh& operator=(const SkinnedMesh& rhs);

protected:
        ID3DXMesh*     mSkinnedMesh;
        D3DXFRAME*     mRoot;
        DWORD          mMaxVertInfluences;
        DWORD          mNumBones;
        ID3DXSkinInfo* mSkinInfo;
        ID3DXAnimationController* mAnimCtrl;  
        
        std::vector  mFinalXForms;
        std::vector mToRootXFormPtrs;

        static const int MAX_NUM_BONES_SUPPORTED = 35; 
};
<hr>


endif // SKINNED_MESH_H
<hr> <style type="text/css"> div.mainnavigate { margin: 20px 2px; /* background-color: #ffffff; */ border: 1px solid black; } </style> <div class=xnavigate> [] <black>readme</black> course(s) preface <black>I</black> 1 2 <black>II</black> 3 4 <black>III</black> 5 6 7 <black>IV</black> 8 9 10 <black>V</black> 11 12 afterthought(s) <black>appendix</black> reference(s) example(s) <black>resource(s)</black> _ </div> <hr>

(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author. </div> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-2780434-1"; urchinTracker(); </script> </body> </html> <hr> <hr> <table cellpadding=10> <tr> <td> <address> Hush Online Technology </address> hush@cs.vu.nl <br>04/07/09 </td><td> </td> <td></td><td></td><td></td><td></td><td></td><td></td><td></td> <td> </td> </tr> </table>