Thema: Delphi DirectX: Objekte laden

Einzelnen Beitrag anzeigen

OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#9

Re: DirectX: Objekte laden

  Alt 10. Jul 2003, 14:13
conv3ds.exe ist Bestandteil des DirectX SDKs, muss wenn ich mich recht erinnere jedoch explizit mitinstalliert werden. Es gab auch einige Versionen des SDKs, wo es nicht dabei war... Wie auch immer, im Full SDK sollte es drin sein, und bei den "Extras", die man auch auf der DirectX-SDK-Downloadseite bekommt, sind auch noch Plugins für 3dsmr3 etc.

Was die Aufrufe angeht: Daher mein Tip, in die Samples bzw. in die Common Files zu gucken ;c)

Ist hier von DirectX 9, aber ich glaube, da hat sich nicht so viel geändert...
Code:
HRESULT D3DXLoadMeshFromX(          LPCTSTR pFilename,
    DWORD Options,
    LPDIRECT3DDEVICE9 pDevice,
    LPD3DXBUFFER* ppAdjacency,
    LPD3DXBUFFER* ppMaterials,
    LPD3DXBUFFER* ppEffectInstances,
    DWORD* pNumMaterials,
    LPD3DXMESH* ppMesh
);
pFileName ist hoffentlich klar, und pDevice hoffentlich auch.
Die drei Puffer werden von der Funktion erzeugt, und du musst lediglich die Zeiger zur Verfügung stellen (also vom Typ Zeiger auf Zeiger auf ID3DXBuffer).
pNumMaterials, da übergibst du den Zeiger auf ein DWORD, das ist also ein Ausgabeparameter, der die Anzahl der Materials in ppMaterials angibt.
ppMesh ist das eigentlich Mesh-Teil, was du am Ende haben willst. Auch hier übergibst du lediglich den Zeiger auf einen ID3DXMesh-Zeiger.

Noch Fragen?
Dann schau dir bitte die Samples und die Common Files aus dem SDK in aller Ruhe an. Wenn danach immer noch Fragen sind, versuche ich natürlich trotzdem, sie zu beantworten, aber du siehst schon an der Komplexität des Ladens, dass das kein Thema ist, wo man so leicht eine fertige Lösung hat, da musst du dich selbst wenn du dich einigermaßen mit sowas auskennst einige Zeit mit beschäftigen...
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat