Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Dezibell

Frischling

  • »Dezibell« ist der Autor dieses Themas

Beiträge: 58

Wohnort: Kleve nrw

  • Private Nachricht senden

1

08.08.2006, 05:03

skinned mesh sdk sample

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!
DeziBell
ICQ - 219 012 102
ICQ NAME - Stone

Dezibell

Frischling

  • »Dezibell« ist der Autor dieses Themas

Beiträge: 58

Wohnort: Kleve nrw

  • Private Nachricht senden

2

08.08.2006, 17:21

nun.. hab hier ein guten link zum thema... vielleicht hat den schon jemand gepostet und ist in englisch, aber was solls...
http://www.flipcode.com/articles/article…inmeshmod.shtml
habs damit jedenfalls hinbekommen. thx anyway!
DeziBell
ICQ - 219 012 102
ICQ NAME - Stone

Dezibell

Frischling

  • »Dezibell« ist der Autor dieses Themas

Beiträge: 58

Wohnort: Kleve nrw

  • Private Nachricht senden

3

09.08.2006, 18:56

ID3DXAnimationController Interface

kann mir jemand sagen wie ich mit ID3DXAnimationController meine animation steuern kann? habe hier ein x file in dem mehrere animationen hintereinander liegen. ganz abspielen funktioniert, doch wie spiele ich nun nur die animation zwischen frame 60 und 80 ab? ausserdem funktionieren bei mir keine weiteren methoden vom ID3DXAnimationController interface ausser SetTime() und GetTime(). vielleicht hat jemand ne idee oder hat einen link zu einen brauchbaren tut...

thx
DeziBell
ICQ - 219 012 102
ICQ NAME - Stone

Dezibell

Frischling

  • »Dezibell« ist der Autor dieses Themas

Beiträge: 58

Wohnort: Kleve nrw

  • Private Nachricht senden

4

10.08.2006, 00:40

problem gelöst. hab irgendwo die BilderProSekunde gefunden mit der die animation erstellt wurde, und kann damit die genauen zeiten errechnen.... bis bald! :)
DeziBell
ICQ - 219 012 102
ICQ NAME - Stone

Werbeanzeige