Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 05, 2025 12:44

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Di Jun 30, 2009 23:27 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jun 30, 2009 19:20
Beiträge: 2
So, erster Post, auf gehts:

1. Die Tutorials sind ziemlich super. Es hat zwar mehr oder weniger 2 Jahre gedauert bis ich was nützliches draus gemacht hab aber das lag an mir und ein bisschen daran das ich alle möglichen Programmiersprachen und Compiler ausprobiert habe.

2. Wen intressiert die Vergangenheit. Jetzt habe ich was hinbekommen. Es ist zwar nicht besonders Spektakulär aber egal. Ich fasse mal zusammen:
Mein Plan war einen Modelviewer zu schreiben. Keinen der jetzt alle Formate der Welt lesen kann oder so. Auch keine Animimationen etc. Ich wollte einfach am Beispiel lernen was dazu gehört ein 3D-Modell aus Vertices und Texturen auf den Bildschirm zu bringen.
Bis jetzt lädt mein Programm genau nichts. Ich habe für den Anfang einfach 4 Bunte Quader direkt ins Programm geschrieben.
Dafür kann man kann die Szene mit den Pfeiltasten drehen und mit + und - zoomen. (Yeah - Erfolgserlebnis!)

Die Sache ist, wie solls jetzt weiter gehen? Die fest im Programm notierten Klötze gehen ja nun nicht als Modelle durch.
Da ich das nicht wusste hab ich einfach hier im Forum und im DGL Wiki geschaut was da so steht. Ergebnis: Viele "Wie lade ich Format XY" Threads und ein intressanter Artikel im Wiki (http://wiki.delphigl.com/index.php/Modelformat). Jede Menge Informationen. Aber ich komme trotzdem noch nicht weiter.

Nochmal langsam:
Meine 4 bunten Klötze sind aus glVertex zwischen glBegin und glEnd gemacht (Immediate Mode richtig?). Das ist anscheinend nicht mehr cool. OK. Kein Problem. Nur wenn ich jetzt Code schreibe der Vertices aus ner Datei (egal ob ich jetzt ein existierendes Format lese oder wie im Wiki ein eigenes definiere) liest und mit glVertex zur GraKa schicke wird der mir warscheinlich nicht lange nützen oder?
Aus meiner Perspektive hängt das Thema Modell laden fest mit den Thema VBO zu einem ziemlich großen Komplex zusammen und ich weiß nicht so richtig wo ich Anfangen soll.

Meine Frage ist: Erst VBOs machen (aber woraus) oder zuerst Dateien mit Vertices laden, Immediate Mode usw. und dann irgentwann später alles auf VBOs umbauen?

Wenn mir jemand ein paar Tipps geben könnte oder eigene Erfahrungen hat wär ich echt dankbar.

(Gut möglich das ich das auch überschätze, das mit den VBOs ist mir halt noch nicht so 100%ig klar)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 01, 2009 05:21 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 20, 2005 13:18
Beiträge: 1054
Wohnort: Dresden
Programmiersprache: C, C++, Pascal, OPL
Mein Tipp:
- Erstell dir mit Wings3D EINFACHE Modelle - im Zweifel nur eine Kugel. Rudimentäre UV-Mapping geht auch
- Exportiere in das rwx-Format oder ähnlich. Das ist reiner Text und dürfte selbsterklärend sein ;-)
- Lade dieses Format und speicher es als was eigenes oder mach daraus direkt eine Displayliste. Ich weiß, dass VBOs besser sind als Displaylisten bzw. unter gewissen Parametern sogar faktisch identisch, aber der Einfachkeithalber kann man damit erstmal SEHR simpel testen, ob das Laden geht.

Wenn dem so ist, hast du nun eine Möglichkeit Vertexpositionen und Polygonbeschreibungen auf Basis dieser zu Laden und kannst damit nun einiges machen - auch VBOs. ;-)

Ziz

_________________
Denn wer nur schweigt, weil er Konflikte scheut, der macht Sachen, die er hinterher bereut.
Und das ist verkehrt, denn es ist nicht so schwer, jeden Tag zu tun als ob's der letzte wär’.
Und du schaust mich an und fragst ob ich das kann.
Und ich denk, ich werd' mich ändern irgendwann.

_________________Farin Urlaub - Bewegungslos


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 05, 2009 16:55 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jun 30, 2009 19:20
Beiträge: 2
Danke für den Tipp, das funktioniert schon ganz gut mit .rwx und Displaylisten.
Ich hab mich allerdings auch bis jetzt auf die Geometrie beschränkt. Texturen krieg ich aber auch noch hin. (Ich überlege grade wie ich am besten UV Koordinaten für faces ohne Textur erfinde damit ich eine "fehler-Textur" drauflegen kann. Aber wenn mir da nix einfällt verschieb ich das ^^)
Das .rwx Format liefert keine Normalen oder? Die die ich mit Wings3d erstellt hab jedenfalls nicht aber vielleicht bin ich nur zu dumm das Programm zu bedienen...
Ich hab jedenfalls keine richtige Dokumentation für das Format gefunden wo alle erlaubten Kommandos drinstehen. Nur verschiedene Basics-Tutorials.
Wenn da jemand bescheid weiß, für die Info wär ich echt dankbar.

Auf jedenfall super Tipp gewesen!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 05, 2009 18:13 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 04, 2008 21:29
Beiträge: 419
Wohnort: Lübeck
Ich hab bei mir mit *.md3 modells angefangen, das ist das uralte QuakeIII format, das keiner mehr benutzen sollte, wie man hier im Forum sagt. Da du keine Animationen brauchst ist das ganze sogar relativ einfach und wenn du doch welche möchtest, musst du den Loader einfach nur ein wenig anpassen. Dokumentationen zu dem FileFormat gibts genug (häng ich gleich als Link mit dran). Darauß kann man dann einen Loader entwickeln, der die Geometrischen Daten direkt in ein VBO schreibt. Anschließend brauchst du dann nur noch das VBO zeichnen lassen und fertig ist der Schuh. Das VBO wird nur einmal direkt bim Laden mit Daten befüllt, anschließend wird es nur noch zum Zeichnen aufgerufen. Für animierte Modlle ist schon ein größerer Aufwand von nöten, aber das ist eine andere Geschichte.

Meiner Meinung nach lassen sich BinäreDaten besser laden als welche im plain-text, weil man das Gerümpel von text nicht erstmal durch einen geisteskrank entwickelten parser jagen muss, sondern die Daten direkt aus der Datei ohne Konvertierungsstreß in die Objekte schreiben kann.

Die Gründe warum man md3 nicht nutzen sollte: Das Format ist alt = uncool. Mit alt ist gemeint, dass die Animationstechnik dahinter nicht auf dem neuesten Stand ist. Md3-Animationen sind nähmlich auf Vertex basis. Es wird also für jedes Frame ein komplett neues Model erzeugt, das dem eigentlichen Modell gleicht, allerdings in einer anderen Pose steht. Zwischen den Frames wird dann einfach Linear interpoliert. Neuere Animationen benutzen Bone Animationen bei denen tatsächlich ein Skelett die Bewegung erzeugt. Einige haben sogar Gewichtungen um physikalische einflüsse zu simulieren und weiche Bewegungen zu machen. Dazu kommen dann noch geblendete Animationen und Bodygroups um Modelle mit verschiedenen einzelteilen zu dekorieren. Attachment Points müssen dann auch drin sein, damit man weiß, an welcher Stelle Punkte sind an denen man externe Modelle ankleben kann, oder die man im Programmcode verwenden kann um zum Beispiel eine Kamera auszurichten... meiner Meinung nach alles schön und gut, aber für ein Hobbyisten zu kompliziert um Spaß an der Entwicklung zu haben. Deshalb liebe ich md3. Es ist einfach, es bewegt sich und bei QuakeIII hats auch seine Dienste gemacht. Außerdem lässt sich das Format gerade weil es so simpel ist verdammt gut umbauen.

Die Specs für md3 : http://code.google.com/p/projet-csr-cpp/wiki/MD3Specs

_________________
Klar Soweit?


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]