hallo !
ich nehme grade das skinned mesh sample vom dx9 sdk auseinander. ich bin jetzt schon so weit, das ich alles unnötige rausgeworfen habe, und mit viel weniger quellcode besser klar komme. aber nun zum problem :
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
//-----------------------------------------------------------------------------
// Name: class CAllocateHierarchy
// Desc: Custom version of ID3DXAllocateHierarchy with custom methods to create
// frames and meshcontainers.
//-----------------------------------------------------------------------------
class CAllocateHierarchy: public ID3DXAllocateHierarchy
{
public:
STDMETHOD(CreateFrame)(LPCTSTR Name, LPD3DXFRAME *ppNewFrame);
STDMETHOD(CreateMeshContainer)(LPCTSTR Name, LPD3DXMESHDATA pMeshData,
LPD3DXMATERIAL pMaterials, LPD3DXEFFECTINSTANCE pEffectInstances,
DWORD NumMaterials, DWORD *pAdjacency, LPD3DXSKININFO pSkinInfo,
LPD3DXMESHCONTAINER *ppNewMeshContainer);
STDMETHOD(DestroyFrame)(LPD3DXFRAME pFrameToFree);
STDMETHOD(DestroyMeshContainer)(LPD3DXMESHCONTAINER pMeshContainerBase);
//Konstruktor
CAllocateHierarchy(CMyD3DApplication *pApp) :m_pApp(pApp) {}
public:
CMyD3DApplication* m_pApp;
};
|
hier versteh ich einiges nicht... wahrscheinlich kennt ihr die klasse, aber
1. wozu ist sie genau da?
2. Was hat das mit dem STDMETHOD auf sich? laut MSDN deklariert man eine virtual HRESULT Methode ???? ist das richtig? aufgerufen werden diese methoden auch nirgends. auch nicht in den common datein...
[EDIT] gut.. hab gesehen das die methoden in d3dx9anim.h enthalten sind. werden die automatisch aufgerufen?
3. der konstruktor wird mit " : m_pApp(pApp) " initialisiert. also steht irgendwo im code :
|
Quellcode
|
1
|
CAllocateHierarchy Alloc(this);
|
das wird für das laden des modells/FrameHirachie gebraucht...
nun will ich den kompletten source aber ohne dieses framework der sdk samples laufen lassen. mein eigenes süppchen kochen... da hab ich nunmal keine CMyD3DApplication klasse, und somit auch kein this zeiger darauf.
vielleicht hatte von euch jemand auch das problem beim herausoperieren des codes und versteht mich. ich versteh da nämlich garnix mehr
warum braucht CAllocateHierarchy unbedingt ein zeiger auf CMyD3DApplication ??
thx!