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

11

04.09.2013, 20:36

Zitat

Aber 100% verstehen muss ich doch md5-Dateien nich

Doch. - Auch wenn der Loader das für dich einliest.


MfG
Check

12

04.09.2013, 21:25

Zitat

Aber 100% verstehen muss ich doch md5-Dateien nich

Doch. - Auch wenn der Loader das für dich einliest.


MfG
Check
??? Eine Belehrung ohne Begründung ist wie Autofahren ohne Auto^^

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

13

04.09.2013, 21:27

Um etwas sinnvoll einlesen zu können, musst du es auch verstehen.

FSA

Community-Fossil

  • Private Nachricht senden

14

04.09.2013, 21:52

Du solltest dir erstmal die Modell Klasse der TriBase Engine angucken. Da kann man schon einiges lernen.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

15

04.09.2013, 22:01

na gut. Aber der Loader liest die datei doch schon sinnvoll ein, und wie er das macht, muss ich, (dachte ich zumindest) nur überfliegen...naja egal wollen uns jetzt nich in solchen Kleinigkeiten verlieren ;)

@david: wo du schon hier bist, danke vielmals für dein tolles Buch! wunder mich nur, warum du es auf deiner eigenen homepage so versteckst? ;)

16

04.09.2013, 22:22

Nun, den Aufbau von MD5-Dateien musst du in der Tat nicht verstanden haben, wenn der Loader halbwegs vernünftig ist. Was du verstehen musst, sind die Daten, die hinten aus dem Loader rauskommen.

Ich habe für meine kleine Engine skelettbasierte Animationen implementiert, als Loader benutze ich Assimp (was zig Formate über ein einheitliches Interface laden kann). Die Sache ist, dass man dafür sehr viel rechnen muss, die Dreiecke durchlaufen eine lange Transformationspipeline und es ist sehr schwer festzustellen, ob ein Zwischenschritt jetzt richtige Ergebnisse liefert oder nicht. Du brauchst schon eine Menge Erfahrung mit Matrizenrechnung, um das hinzubekommen - ansonsten renderst du Blödsinn und weißt nicht, wieso.
Oh und du musst genau wissen, welche Darstellungen deine Daten haben. Es gibt da viele unterschiedliche Möglichkeiten, die für sich genommen weder richtig noch falsch sind, nur wenn du sie durcheinander bringst, kommt eben wieder Blödsinn heraus.

Insgesamt ist das Verstehen des MD5-Formates also das kleinste Problem. Vielleicht solltest du direkt auf eine andere Engine wechseln, die Animationen schon beherrscht.
Lieber dumm fragen, als dumm bleiben!

17

04.09.2013, 22:40

Ja wechseln auf ne andre Engine wäre auch ne Möglichkeit, allerdings hab ich mich ja jetzt in die Tribase-Engine eingearbeitet und sonst müsste ich mich ja wieder umstellen...Wenn das mit dem Integrieren in die Tribase-Engine nicht klappt, werde ich das wohl tun.

Muss man eigentl. alles was mit Directx11 zu tun hat in Directx9 Funktionen und Variablen umwandeln oder kann man zum Teil auch mit beiden Versionen in einem Quelltext arbeiten?

18

05.09.2013, 00:03

Die TriBase-Engine ist überwiegend zum Lernen gedacht.
Moar interesting 4 me: Was meinst du mit "umstellen"?

MfG
Check

19

05.09.2013, 20:50

Vermutlich wirst du wirklich einiges umschreiben müssen. Wenn du Glück hast, haben sich nur ein paar Namen geändert, wenn du Pech hast, musst du auch die Logik (komplett?) ändern.
Beides parallel wird nicht funktionieren, bzw. keinen Sinn machen. Eine Ausnahme wäre es, wenn irgendwelche unabhängigen Hilfsfunktionen von DX11 benutzt würden, aber davon gehe ich nicht aus.
Lieber dumm fragen, als dumm bleiben!

20

05.09.2013, 21:51

Moar interesting 4 me: Was meinst du mit "umstellen"?
Willst du mich auf den Arm nehmen? Mit einer neuen Engine zu arbeiten heißt für mich, mich umzustellen auf einen neuen Aufbau, neue Quelltexte, Funktionen und Daten etc.
Für dich als Profi mag das zwar keine Umstellung sein, aber ich bin hobbymäßiger Anfänger in der Programmierung. Da passt mir die Tribase-Engine ganz gut :)

@Jonathan_Klein: danke für deine Beiträge. Ich glaub, ich kann die meisten Directx11-sachen rauslassen, weil die nur die scene initialisieren und das macht ja schon die Tribase mit Directx9.

Inzwischen hab ich mal alle Deklarationen in ne .h kopiert und die Definitionen in ne .cpp. Danach in Tribase.h die neue Headerdatei eingefügt wie wluc-16 es beschrieben hat. Dann is mir aufgefallen, dass der Loader mit UNICODE geschrieben wurde. Das gab ein paar Probleme, weil bei ANSI LPCTSTR keine const wchar* annimmt, sondern nur const char* :( Hab die Sachen aber dann doch noch ändern können. Juhu!
Zuletzt hab ich die Loader-Funktionen in das Beispielprogramm 03-02-Modelle eingefügt und alles kompiliert. Das hat schonmal geklappt!
:) Allerdings kommen beim Linken 5 Fehlermeldungen a la "Nicht aufgelöstes externes Symbol" Mal sehn ob ich das noch irgendwie gebogen bekomme und dann heißt es Daumendrücken beim Starten...

Werbeanzeige