frankx: opengl - datenformat 3D grafik - c/c++

Beitrag lesen

Ahoi,

in der Schul-Ag hat ein Schüler das dff-Format von GTA (grand theft auto) http://de.gta.wikia.com/wiki/DFF analysiert und kann dies nun mittels opengl-Funktionen anzeigen.

Seinen Erklärungen konnte ich der Struktur nach noch nicht ganz folgen, beim Code blieben wir vorerst an Einzelpunkten wie Details des Auslesens hängen.

Ich versuchte hier meinen Teil dazu beizusteuern, indem ich die groben Arbeitsschritte abstrahiere. Zum Auslesen gibt es 4 Dateien, von denen die ersten drei die Zusammenhänge von Bildnamen, Texturen und nochwas herstellen, und schlussendlich die Position und Länge in der eigentlichen Bilddatenbank (ein großes File mit allen Bilder drinne) hergeben.

Die 3D-Objekte sind dort mit Koordinatenpunkten verzeichnet (Texturen lass ich mal weg erstmal). Floats, 4 byte für je ein Koordinate.

Die Verbindung zu opgengl fehlt mir noch: womit muss man opengl "füttern" (mit was für einem Datenformat) dass nachher was korrektes bei rauskommt? Diese Funktion sie noch unübersichtlich, meinte der Schüler. Ich meinte, ich würde zum Verständnis gerne einmal ein paar banale Koordinaten quasi per Hand in opengl füttern, um dessen Funktionweise zu kapieren.

Denn die Konvertierung von dff ist ja wohl im Grunde "nur" eine Umstellung der in der dff-Datei zur Verfügung gestellten Daten damit opgengl damit was anfangen kann, oder?

Es geht mir hierbei um Grundverständnis und dann auch um Codeoptimierung. Schüler hat bisher in C geschrieben und überlegt, das in C++ umzuschreiben.

Dank und Gruß,

frankx