JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=7221378c21e63c39ed5a084d6b26894bMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

IndexBuffer eines Mesh auslesen
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
schneidi74
Senior JLI'ler



Anmeldedatum: 14.05.2004
Beiträge: 243

Medaillen: Keine

BeitragVerfasst am: 12.09.2005, 19:24    Titel: IndexBuffer eines Mesh auslesen Antworten mit Zitat

Wie komme ich an die Daten aus dem IndexBuffer eines D3DXMesh?

schon klar ist mit ->LockIndexBuffer, allerdings bekomme ich dann nur irgendwelche völlig wirren werte.

Außerdem sind ja in einen XFile quasi Namen mit gespeichert.
Beispiel:
CPP:
Mesh Plane011 {
 25;
-50.218338;0.000000;-29.912661;,
usw.

Kommt man an den Namen "Plane011" irgendwie ran?
_________________
-+- SchNeiDi74 -+-
-+- www.creative-games.de -+-
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 12.09.2005, 19:31    Titel: Antworten mit Zitat

Was für wirre Werte gibt dir denn LockIndexBuffer Buffer und wieso?

LockIndexBuffer will beim 2ten Flag nen pointer, am besten einen auf nen DWORD Array oder vergleichbares, dann sollte der Zugriff auf die Array elemente relativ einfach sein:

index[i]...

Der Name den du da auslesen möchtest ist üblicherweise entweder der Name des Submeshs oder auch des Surfaces. Wie du den bekommst weiss ich im mom nicht.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
schneidi74
Senior JLI'ler



Anmeldedatum: 14.05.2004
Beiträge: 243

Medaillen: Keine

BeitragVerfasst am: 12.09.2005, 19:51    Titel: Antworten mit Zitat

na ich bin schon weitergekommen. Allen Anschein nach funktionierts jetzt.

Hier ist wie ich's jetzt gemacht habe:
CPP:
if(SUCCEEDED(m_pMesh->GetIndexBuffer(&m_lpIB))) {
      int numIndices = (int)m_pMesh->GetNumFaces() * 3;
      short *indicesD3DX = 0;   
      if(FAILED(m_pMesh->LockIndexBuffer( D3DLOCK_READONLY, (void**) &indicesD3DX )))
         MessageBox(0,"Mist","Fehler",MB_OK);

      int *iIndices = new int[numIndices];

      for(int i=0; i < numIndices; i++) {
         iIndices[i] = (int) indicesD3DX[ i ];
      }

    }
    m_lpIB->Release();


Also falls noch jemand weiß wie man an den namen rankommt, ich wär für Info's dankbar Smile
_________________
-+- SchNeiDi74 -+-
-+- www.creative-games.de -+-
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 12.09.2005, 20:09    Titel: Antworten mit Zitat

Sieht nicht so aus als ob man den Namen des Submeshs herstellen könnte.

Das einzig wichtige was du bekommen kannst ist eine Attribut tabelle der einzelnen Subteile GetAttributeTable nur gibts da kein String.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Maxim
Senior JLI'ler



Anmeldedatum: 28.03.2004
Beiträge: 249

Medaillen: Keine

BeitragVerfasst am: 13.09.2005, 08:14    Titel: Antworten mit Zitat

Ich lese die Meshdaten durch eigene Implementierung aus. Also in X-File nach Templates suchen und dann die Daten extrahieren. Ist ein bisschen kompiziert aber sehr flexibel. Im 2.Buch von Zerbst wird's beschrieben wie man das macht. Schau dir auch die X-File Referenz in der DX9-Doku an.

Viel Erfolg!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
schneidi74
Senior JLI'ler



Anmeldedatum: 14.05.2004
Beiträge: 243

Medaillen: Keine

BeitragVerfasst am: 13.09.2005, 08:35    Titel: Antworten mit Zitat

Also gehst du das XFile wirklich Zeilenweise durch? Leider hab ich das Zerbst Buch nicht. Kannst du das empfehlen?
_________________
-+- SchNeiDi74 -+-
-+- www.creative-games.de -+-
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Maxim
Senior JLI'ler



Anmeldedatum: 28.03.2004
Beiträge: 249

Medaillen: Keine

BeitragVerfasst am: 13.09.2005, 12:02    Titel: Antworten mit Zitat

nein nicht zeilenweise. da gibts ein befehl mit dem du nach bestimmten templates in X-file suchst, die durch DX9 bereits vordefiniert sind. Das Template ist so zu sagen wie eine Struktur(ist es aber nicht) in der dann z.B. verschiedene indos über den Mesh stehen.

Das 2.Buch von Zerbst kann ich dir emphehlen, vor allem wenn du Outdoor -Spiele proggen willst. Der Code von Zerbst ist aber sehr sehr schlecht lesbar u.a. wegen schlechter Formatierung.

Das 1.Buch ist veraltet und ist nicht zu empfehlen.
Das 3.Buch ist sehr gut, ist aber nur für wirklich fortgeschrittene Progger unter uns geeignet(ich kann mich noch nicht dazu zählen).
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
schneidi74
Senior JLI'ler



Anmeldedatum: 14.05.2004
Beiträge: 243

Medaillen: Keine

BeitragVerfasst am: 13.09.2005, 18:31    Titel: Antworten mit Zitat

Dann muss ich mir das wohl doch noch zulegen.. obwohl ich den Preis von über 50,- EUR ganz schön gepfeffert finde... naja... wat soll man da machen...

Nochmal ne Frage am Rande: habt ihr schonmal nen XFile oder anderes 3D Modell in ein eigenes Dateiformat gepackt? Wie habt ihr das mit der Kollisionserkennung gelöst? ich kann doch jetzt nicht permanent hingehen und mit den Indices die Dreiecke zusammenbasteln und diese dann auf Kollision testen. Und das ganze zu Kollisions-Test-Zwecken vorberechnet abspeichern macht die Sache ja nun auch nicht wirklich besser....?!?!
_________________
-+- SchNeiDi74 -+-
-+- www.creative-games.de -+-
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 13.09.2005, 19:10    Titel: Antworten mit Zitat

Maxim hat Folgendes geschrieben:
Das 3.Buch ist sehr gut, ist aber nur für wirklich fortgeschrittene Progger unter uns geeignet(ich kann mich noch nicht dazu zählen).


Jo sehr gut wenn man folgendes für sein gutes geld bekommen will:
1. Verbuggter Beta Code auf der CD
2. Fehlerhafter Code im Buch
3. Total sinnlose ISSE instruktionen die ordentlich auf Performance gehen
4. Absolut alte und auskommentierte Codereste auf der CD (Ja da hat wer seine Tests nicht weggemacht!)
5. Schlechte Portalengine (mal ehrlich, einen algo hatte ich mir vorgestellt und nicht alles per Hand!)
6. Schlecht konzipierte Enginearchitektur (Jaja, Zerbst der OOP Fan - zum heulen)

Sorry, aber dieses Buch war für mich die größte Fehlinvestition die es gab und es hat sehr geschmerzt, vorallem da die Theorie fürn Hintern war im gegensatz zum 1. und 2.

Achja, das 1. ist nicht veraltet sondern eine der besten Grundlagenbücher die es gibt.
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 13.09.2005, 19:13    Titel: Antworten mit Zitat

naja, X-File ist halt X-File die beste Lösung ist immer noch selber einen Loader zu schreiben, da kannste dann ALLES mit machen.Und wenn dus jetzt vorgefertig haben willst, es gibt auch auch komplette Freeware engines, die auch Modelle laden und auf Kollision testen können usw.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 13.09.2005, 19:25    Titel: Antworten mit Zitat

Schreib dir am besten wirklich nen eigenen loader, am besten bastelste dir gleich nen exportplugin für den Modeller deiner Wahl (geht in 3dsmax wirklich super). So haste genug möglichkeiten dich voll zu entfalten.

Das XMLFormat bietet sich doch da wunderbar an.
Kannste schön Specular, Diffuse, Bump/Normal, Reflectionmaps abspeichern (als Filenanme), Texturwerte, Specularwerte, Farbwerte, mehrer texturkoordinaten, etc. abspeichern.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
schneidi74
Senior JLI'ler



Anmeldedatum: 14.05.2004
Beiträge: 243

Medaillen: Keine

BeitragVerfasst am: 13.09.2005, 19:33    Titel: Antworten mit Zitat

Also im Moment bastel ich gerade an einer Lösung halt ein XFile in ein eigenes Format zu wandeln (man will ja klein Anfangen und nicht gleich mit 3ds_max Smile ) Daher auch die Frage wie man das am geschicktesten hinterher mit der Kollisionserkennung löst. Allerdings wenn ich das beim umsehen im netz richtig verstanden habe ist es doch gar nicht mal so untypisch zur kollisionserkennung jedes einzelne dreieck aus den indizes zusammen zu setzen und dann auf treffer zu testen....
_________________
-+- SchNeiDi74 -+-
-+- www.creative-games.de -+-
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 13.09.2005, 19:42    Titel: Antworten mit Zitat

Nen Tut wie man ein eigenes Format erstellt klingt sehr interessant. Könnte man ja machen dann hat man immer was parat wenn jemand danach fragt.

nutzt du denn 3dsMax? Von da in nen eigenes Format ist einfacher als aus nem X nen eigenes Format da beim X ne menge Zusatzinformationen verloren gehen.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
schneidi74
Senior JLI'ler



Anmeldedatum: 14.05.2004
Beiträge: 243

Medaillen: Keine

BeitragVerfasst am: 13.09.2005, 20:03    Titel: Antworten mit Zitat

Nen tut wäre super...

also im Moment hab ich fast nur mit xFiles gearbeitet. Für 3dsmax gibt's doch richtige sdk's wenn ich das richtig gesehen habe?! So wirklich mit beschäftigt hab ich mich damit nicht.

Hast du da nähere Info's drüber Fallen?
_________________
-+- SchNeiDi74 -+-
-+- www.creative-games.de -+-
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 13.09.2005, 20:06    Titel: Antworten mit Zitat

In 3dsMax haste eine integrierte Scriptsprache die sollte fürs Exportieren auch geeignet sein. Das SDK kostet Geld (nen par tausender wenn ich recht informiert bin).

Zu maxScript (die Scriptsprache von 3DsMax) sollte es eine Docu geben im Help Verzeichniss oder woanders. Zumindest gabs das noch zu 3dsMax3 Zeiten.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
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

Impressum