Registriert: Fr Jul 14, 2006 13:08 Beiträge: 117 Wohnort: Berlin
hi Leute,
Völlig Ahnungslos bisher versuche ich mich mit OpenGL. Nun las ich was von Blender und probiere damit herum
irgendein Gebilde zu kreiern. Kann man dann dieses in mein Programm einbauen, und wie, oder sind die Versuche
sich mit Blender rumzuärgern umsonst?
Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3830 Wohnort: Tespe (nahe Hamburg)
Nein, ganz im Gegenteil. Blender ist vermutlich einer der besten Wahlen, die Du hast, da sie am flexibelsten ist.
a) Du schnappst Dir ein Export-Plugin von Blender um das Objekt in einem der bekannteren Formate zu exportieren (siehe Blender-Seite).
b) Du schreibst Dir dein eigenes Dateiformat und schreibst dafür ein Export-Plugin in Python. Ich persönlich denke, dass ein Aufbau a la ms3d recht einfach zu realisieren ist. (Siehe auch dieses [url=http://wiki.delphigl.com/index.php/Blenderscript]Beispiel[/quote]
c) Du schreibst Dir einen Exporter, der die Daten extrahiert und in einem Array schriebt. Du kannst die Modelle dann statisch im Code linken.
_________________ "Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."
Registriert: Di Dez 27, 2005 12:44 Beiträge: 393 Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Hallo uweq,
also ich nehm bei Blender meistens das Wavefront-Format (.obj).
Ist eigentlich garnicht so schwer, sich dafür einen geeigneten Importer für OpenGL zu programmieren.
Bei grösseren Modellen lohnt es sich allerdings schon ein eigenes Format zu nehmen um die Ladezeiten drastisch zu verkürzen. (eventuell mit passendem Konverter von .obj zu dem eigenen Format).
Verbundene Dreiecke können mit passenden Algorithmen z.B. zu Triangle-Strips oder Triangle-Fans zusammengefasst werden.
Bei Wavefront brauchte ich ausserdem bisher immer mehrere Pässe, um die geeigneten Daten zu extrahieren.
Registriert: Fr Jul 14, 2006 13:08 Beiträge: 117 Wohnort: Berlin
hi Phobeus.
Phobeus hat geschrieben:
Nein, ganz im Gegenteil. Blender ist vermutlich einer der besten Wahlen, die Du hast, da sie am flexibelsten ist. a) Du schnappst Dir ein Export-Plugin von Blender um das Objekt in einem der bekannteren Formate zu exportieren (siehe Blender-Seite). b) Du schreibst Dir dein eigenes Dateiformat und schreibst dafür ein Export-Plugin in Python. Ich persönlich denke, dass ein Aufbau a la ms3d recht einfach zu realisieren ist. (Siehe auch dieses Beispiel c) Du schreibst Dir einen Exporter, der die Daten extrahiert und in einem Array schriebt. Du kannst die Modelle dann statisch im Code linken....
...und ich mache nichts verkehrt mich mit dem Programm anzufreunden.
Das ist aber leider alles was ich brauchbares aus deiner Antwort entnehmen kann, da ich all das was oben im Zitat steht, so gut wie noch(?) garnicht verstanden habe.
Aber das kann man sich dann im Laufe der Zeit aneignen.
Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2068
Programmiersprache: C++
In dem Falle empfiehlt sich 1.) von Flow:
Du gehst auf die Blenderseite und lädst dir unter Skripts das Exportskript für 3ds runter. Zu finden hier.
Auf noeska's Seite findest du den Loader für OpenGL.
Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3830 Wohnort: Tespe (nahe Hamburg)
Ich denke ebenfalls, dass sich dann Option 1 mehr als anbieten wird, da Du auf diese Weise relativ schnell die Objekte in deiner Anwendung angezeigt bekommen solltest. Man sollte dazu wissen, dass viele Formate aus der Welt der Modellierung kommen und nicht aus der eines OpenGL-Entwicklers. So beinhalten z.B. 3ds zahlreiche Chunks über den Aufbau der Szene, die man nie als Entwickler braucht. Z.B. Informationen über den Fog innerhalb der Szene. All diese Informationen schleppt man bei den fertigen Formaten herum und erzeugt damit einen Overhead in seinem Projekt (sei es nur dadurch, dass der Loader diese Chunks findet und ignorieren muss). Dennoch ist dies insbesondere für einen Einsteiger der leichteste Weg und bei wenigen Objekten auch nicht sooo groß messbar.
Wenn Du jedoch irgendwann ein richtiges Projekt realisieren willst, wirst Du an den Punkt kommen an dem Du die Daten gerne optimal und vor allem so strukturiert haben möchtest, wie Du es gerne willst. An diesem Punkt wirst Du Dir ein eigenes Dateiformat überlegen. Das klingt hochgestochen, ist es jedoch nicht. Das ms3d-Format ist ein schönes Beispiel für ein sehr simples Dateiformat. Ein Integer in dem steht wieviele Vertices folgen und dann folgen entsprechend viele 3er-floats... das selbe Spielchen für die uv-daten etc. Du kannst also bestimmen (und optimieren) wie die Informationen in der Datei vorliegen sollen. All dies macht natürlich nur Sinn, wenn Du auch weißt, was Du willst... das scheint nicht der Fall zu sein und Option 1 ist dabei eindeutig die bessere Wahl. Option 3 ist eine "Variante" von Option 2, die vermutlich nur in wenigen Fällen wirklich die sinnvollste sein wird.
Das Lernen von Blender ist alleine von daher nicht verkehrt, da es die kostengünstigste ist. Wer hat schon ein paar tausend Euro auf dem Konto um sich die kommerzielle Konkurrenz zu leisten? Blender ist sehr merkwürdig, was die Bedienung angeht. Hat man sich erst einmal eingearbeitet kann man eine Menge freude haben und durch die Export-Plugins auch leicht in andere Software wieder importieren.
_________________ "Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."
Registriert: Fr Jul 14, 2006 13:08 Beiträge: 117 Wohnort: Berlin
hab mir mal die verlinkten Dateien runtergeladen. Danke nochmals dafür.
Werd mir also mal irgendwann was zusammemproggen, und es antesten um die Materie zu verstehen.
Aber vorher sind noch sehr viele Tuts zu lesen. Naja, alles dauert halt seine Zeit, und irgendwann
steh ich dann mit der nächsten dummen Frage hier bei Fuß.
Bis dahin wünsch ich allen fleißigen Helfern hier
coole Nächte bei diesem Wetter. *schwitz ;o(*
Registriert: Mo Mai 29, 2006 21:13 Beiträge: 142 Wohnort: Ballenstedt/Sachsen-Anhalt
i0n0s hat geschrieben:
...Exportskript für 3ds runter...
Da ist mir beim Lesen doch was aufgefallten, deshalb häng ich mich mal hier dran: ihr schreibt hier, Exportscript für 3DS. Warum, Blender exportiert 3ds doch schon selbst?
Oder ist der eingebaute Exporter irgendwie schlecht?
Danke für Hinweise.
@uweq: dumme Fragen gibt's nicht! (nur wenn man vorher nicht selber drüber nachdenkt )
Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3830 Wohnort: Tespe (nahe Hamburg)
Tatsache. Habe gerade einmal das Repository aufgesucht und Blender drauf gehauen (Linux!) und dort sind nun neben Blender auch zahlreiche andere Plugins mit dabei. Evtl. liegt es nicht nur an meine Distribution, sondern die neuen Versionen von Blender bringen evtl. gleich einige der Skripte von Haus aus mit.
_________________ "Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."
Mitglieder in diesem Forum: 0 Mitglieder und 2 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.