Einfachste OpenGL-3D Animationen. 3D-Engine oder pur OpenGL?
-
Hi Leute,
ich würde gerne etwas Erfahrung mit OpenGL sammeln. Ich habe vor, ganz simple 3D-Animationen darzustellen.
Jeder kennt doch bestimmt das Testbild des drehenden Direct3D-Würfels...so simpel soll es sein.
Dabei soll es um ein paar physikalische Berechnungen handeln, zb ein Gewicht an einer Feder hängend, wobei während der Schwingung Kräfte-Pfeile dargestellt sein sollen und ihre Länge entsprechend verändern...alles eben in einem 3D-Raum.Sollte ich dazu direkt auf OpenGL greifen, oder eine fertige 3D-Engine nehmen? Bzw ist der Aufwand mit OpenGL groß?
Vor vielen Jahren habe ich mal mit der 3D-Engine 3D-State gearbeitet, das war jedoch mit VB6 und DirectX...jedoch nahm es einige Arbeit ab (zB Erkennung von Objektzusammenstoß, usw).
Und wenn zu einer 3D-Engine geraten wird, dann wäre es schön, wenn diese kostenlos wäre...es sind wirklich nur simple Darstellungen und es soll nie in die Richtung eines 3D-Spiels gehen.
Spontan fällt mir da jetzt die 3D-Engine von Quake ein, oder die Sauerbraten-Engine...die sind ja OpenSource. Aber ich weiß eben nicht, ob das alles für meinen Zweck zu übertrieben ist.Was noch schön wäre, mit welchem Programm man 3D-Grafiken erstellen kann und in der Animation nutzen kann. Also wenn man zB eine Zigarettenschachtel in 3D drehen lassen will...wie ich diese Polygone Zeichnen kann und eben auch ein Logo draufsetzen kann (Vergleich: DirectX-Würfel). Ich bin leider echt total aus der Sache raus und brauche nur ein paar Tips, bevor ich einen zu großen/falschen Weg einschlage
Würde mich über Hilfe freuen.
Liebe Grüße,
Andi
-
Wenn dein Ziel ist, Erfahrung mit OpenGL zu sammeln, dann solltest du natürlich OpenGL dazu verwenden. So Dinge wie einen Würfel kannst du leicht auch programmatisch erzeugen, dazu brauchst du erstmal kein Modellierprogramm...
-
Naja wenn es einfache Sachen sind brauchst du eigentlich keine fertige Engine.
Das einzige was vielleicht ratsam ist wäre eine Bibliothek die dir das Fenster und den OpenGL-Kontext erzeugt - denn das wird bei einem Würfel das aufwändigste seinUnd falls du etwas komplexere Models machen willst (wie z.B. eine Feder) kannst du dir ja mal Blender anschauen.
-
Beefi schrieb:
Sollte ich dazu direkt auf OpenGL greifen, oder eine fertige 3D-Engine nehmen?
....jedoch nahm es einige Arbeit ab (zB Erkennung von Objektzusammenstoß, usw).Wenn du Kollisionserkennung haben willst, dann brauchst du keine 3d Engine bzw. Render Engine, sondern eine Game Engine.
Nur eine Game Engine ist vollwertig und bietet auch Kollisionserkennung.
Bei einer reinen Render Engine hast du auch nur Grafik und sonst nichts.Schau dir daher mal CEL an:
Anonsten würde ich sagen, falls du die Grundlagen von OpenGL kannst, denke ich, dass du schneller bist, wenn du dir selber etwas zusammenbaust, anstatt eine fertige Engine zu nehmen.
Denn in eine fertige Engine muss man sich ja auch erstmal reinfuchsen um zu verstehen, wie sie funktioniert.Das was du aber machen willst, Würfel drehen und Pfeile dransetzen, die die Kraft in Newton ausdrücken, das hat man sicher auch schneller implementiert, wenn man es selbst macht.
Natürlich unter der Bedingung, dass du bezügl. der Darstellung keine besonderen Erwartungen hast.
-
Danke für die bisherigen Antworten.
@dot:
Vielleicht hab ich mich etwas falsch ausgedrückt...also ich will nicht unbedingt Erfahrung direkt mit OpenGL sammeln, sondern durch OpenGL diese Grafiken erstellen, ob pur oder mit Engine. OpenGL deshalb, da man mit DirectX an Windows gebunden ist. Wobei die Erfahrung vielleicht nicht mal so schlecht wäre.@DarkShadow44:
Ja auf Blender bin ich auch schon gestoßen...ich denke das wird dafür auch erste Wahl sein (in meinem Fall).@grapox:
Oh, da hab ich 3D-Engine und Game-Engine aus Versehen als das gleiche aufgefasst. Hab mir jetzt auch schon einiges angesehen und da kam CrystalSpace3D in die engere Auswahl. Noch enger jedoch SoftPixelEngine und Delta3D (nur von den Features). Kann jemand was zu diesen Engines sagen?Habe hier mal ein perfektes Beispiel gefunden, was ich eigentlich nur brauche:
http://www.youtube.com/watch?v=gwkuTAxTV8w
So simpel soll das Ergebnis sein...ich bräuchte eigentlich nicht mal nen Hintergrund. Wenn ich jedoch 3D-Modelle verwenden könnte, wäre echt toll...da ist eine Engine wohl ein Muss.Wenn ich zurück an Zeiten von 3D-State denke, war das schon echt extrem einfach, mit so einer Engine umzugehen. Wenn ich mich jetzt jedoch auf eine Engine einarbeite, sollte sie dann schon gleich das volle Programm können (wer weiß, vielleicht kann man das ja in Zukunft noch gebrauchen).
Delta3D und SoftPixelEngine haben das...Physik-Engine, Sound-Engine, Netzwerk-Engine. Und eben für Linux, Mac, Windows...und noch mehr.
Würde mich aber über Einwände/Vorschläge freuen.Gruß,
Andi
-
Wenn es dir nur darum geht, möglichst schnell und einfach etwas umzusetzen, dann wirf mal einen Blick auf Unity...
-
Beefi schrieb:
ich würde gerne etwas Erfahrung mit OpenGL sammeln. Ich habe vor, ganz simple 3D-Animationen darzustellen.
Jeder kennt doch bestimmt das Testbild des drehenden Direct3D-Würfels...so simpel soll es sein.Na das ist dann ja schön einfach.
Beefi schrieb:
Dabei soll es um ein paar physikalische Berechnungen handeln, zb ein Gewicht an einer Feder hängend, wobei während der Schwingung Kräfte-Pfeile dargestellt sein sollen und ihre Länge entsprechend verändern...alles eben in einem 3D-Raum.
Das ist jetzt auf einmal gar nicht mehr SO einfach.
Beefi schrieb:
Sollte ich dazu direkt auf OpenGL greifen, oder eine fertige 3D-Engine nehmen? Bzw ist der Aufwand mit OpenGL groß?
Mach doch einfach mal deinen "Testbild-Würfel" mit OpenGL ohne Engine. Dann siehst du wie gross der Aufwand ist, und kannst es selbst beurteilen.
Macht doch keinen Sinn wenn dir hier einer sagt "ja, ist voll einfach", und du plagst dich dann ewig.Und was "OpenGL mit oder ohne Engine" angeht: wenn du ne Engine nimmst die auch auf Linux läuft (ohne WINE), dann kanns dir doch egal sein ob die unter Windows mit auch mit OpenGL rendert oder mit Direct3D.
-
Hi,
tut mir leid, dass ich jetzt erst zum Antworten komme.
Also vielen Dank für eure Beiträge...das hat mir einiges an Denkanstöße gegeben.Ich denke ich werde mir CrystalSpace nochmal genauer ansehen...die Engine scheint sehr beliebt zu sein. Und durch diese Beliebtheit wird es bestimmt viel Lehrmaterial im Netz geben.
Und ja, stimmt eigentlich...wenn ich eine Engine nehme, welche auf Linux und Windows läuft, kanns mir eigentlich echt egal sein, ob die auf dem jeweiligen System nun OpenGL oder DirectX nimmt
Ich werde auf jeden Fall mal mit beidem meine Erfahrung sammeln...OpenGL pur und die Engine. Ist bestimmt immer gut, wenigstens mal geringste Erfahrung mit der direkten OpenGL-Programmierung gesammelt zu haben, auch wenn es für meinen Zweck vielleicht zu kompliziert ist...aber wer weiß was noch kommt
Grüße,
Andi
-
Ich empfehle www.ogre3d.org
-
guter Tipp schrieb:
Ich empfehle www.ogre3d.org
Das ist ein dummer Tipp, denn er braucht ne Game Engine mit Kollisionserkennung usw. und keine Render Engine.
-
Tipp mit Ahnung schrieb:
guter Tipp schrieb:
Ich empfehle www.ogre3d.org
Das ist ein dummer Tipp, denn er braucht ne Game Engine mit Kollisionserkennung usw. und keine Render Engine.
Dann soll er OgrePhysX dazunehmen.