|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
HomeLess_PunkDrummer JLI Master Trainee
Alter: 36 Anmeldedatum: 28.11.2004 Beiträge: 583 Wohnort: Alter Joghurtbecher an der A4 Medaillen: Keine
|
Verfasst am: 16.01.2005, 15:09 Titel: |
|
|
Könnte mir da einer helfen? Theoretisch müsstes ja eine CreateMeshFrom...-Funktion sein. Aber hier gibts nur X-Files. So wie ich das sehe gibt es scheinbar überhaupt keine Unterstützung für andere Formate. Sagt mir doch einfach wie ihr solche Dinger ladet. Vielleicht kann Christian das ja auch in seinem Buch mit reinnehmen? _________________ "Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz." |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 16.01.2005, 15:30 Titel: |
|
|
einfach???
also einfach ist es nicht, die Funktion musst du dir schon selber schreiben, dafür muddt du genau wissen, wie die Datie aufgebaut ist, dan musst du Vertex und Indexbuffer erstellen, füllen die Texturen laden, Materialien erstellen ja und dann vieliecht noch ein bisschen mehr, was mir gerade nicht einfällt.
Kann auch sein das die irgendwo ne lib findest, mit der du bestimmte Formate laden kannst.
Sieht dann in etwa so aus, ist aber eine sehr einfache Version, mit einem selbstgemachten primitiven Datieformat:
Code: |
fread(&iNumVertices, sizeof(int), 1, Datei);//Vertices laden
Vertices=new TexturedVertex[iNumVertices];
fread(Vertices, sizeof(TexturedVertex), iNumVertices, Datei);
fread(&iNumIndices, sizeof(int), 1, Datei);//Indices laden
Indices=new IndexFormat[iNumIndices];
fread(Indices, sizeof(IndexFormat), iNumIndices, Datei);
fread(&m_Texturename, sizeof(char), 16, Datei);//Textur laden
fclose(Datei);
//Vertex und Indexbuffer erstellen, Textur laden
//Jetzt einen Vertex Buffer erstelle und die Vertices hineinkopieren
if(FAILED(m_lpD3DDevice->CreateVertexBuffer(sizeof(TexturedVertex)*iNumVertices, 0, D3DFVF_TEXTUREDVERTEX, D3DPOOL_MANAGED, &m_lpVertexBuffer, NULL)))
{
Error("VertexBuffer konnte nicht erstellt werden!");
}
void* pVertices=NULL;
if(FAILED(m_lpVertexBuffer->Lock(0, 0, &pVertices, 0)))
{
Error("VertexBuffer konnte nicht gelockt werde!");
}
memcpy(pVertices, Vertices, sizeof(TexturedVertex)*iNumVertices);
m_lpVertexBuffer->Unlock();
//Jetz einen IndexBuffer erstellen und füllen
if(FAILED(m_lpD3DDevice->CreateIndexBuffer(sizeof(unsigned short)*iNumIndices, 0, D3DFMT_INDEX16, D3DPOOL_MANAGED, &m_lpIndexBuffer, NULL)))
{
Error("IndexBuffer konnte nicht erstellt werden!");
}
void* pIndices=NULL;
m_lpIndexBuffer->Lock(0, 0, &pIndices, 0);
memcpy(pIndices, Indices, sizeof(unsigned short)*iNumIndices);
m_lpIndexBuffer->Unlock();
//Die Anzahl der Indices und Vertices speichern
m_NumVertices=iNumVertices;
m_NumIndices=iNumIndices;
//Die Textur erstellen
if(FAILED(D3DXCreateTextureFromFileEx(m_lpD3DDevice, m_Texturename, 64, 64, 0, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_FILTER_LINEAR, D3DX_FILTER_LINEAR, 0xffffffff, NULL, NULL, &m_lpTexture)))
{
Error("Texture konnte nicht erzeugt werden!");
Error(m_Texturename);
}
delete[] Vertices;
delete[] Indices;
|
_________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
C++Builder Senior JLI'ler
Anmeldedatum: 04.10.2003 Beiträge: 235
Medaillen: Keine
|
|
Nach oben |
|
|
HomeLess_PunkDrummer JLI Master Trainee
Alter: 36 Anmeldedatum: 28.11.2004 Beiträge: 583 Wohnort: Alter Joghurtbecher an der A4 Medaillen: Keine
|
Verfasst am: 18.01.2005, 13:01 Titel: |
|
|
Ahh, ich habs.
von .gmax nach .md3 nach .x, erst mit gmax dann mit deep exploration.
THX
[EDIT]
Und nochwas , Jonathan: THANKS. Vielleicht hab ich die Sache etwas unterschätzt.
[/EDIT] _________________ "Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz." |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|