Engine gesucht
-
Hallo Leute,
Ich suche derzeit eine Engine, mit deren Hilfe ich mich in die 3D-Programmierung einarbeiten kann. Mein Ziel ist nicht, irgendwann supertolle Spiele zu machen, sondern ich möchte mich eher mit der Mathematik, die dahinter steckt, befassen. Ich habe das Buch "3D-Spieleprogrammierung mit DirectX und C++" von David Scherfgen in der dritten Auflage, allerdings gefällt mir der Codestil seines Buches überhaupt nicht. Die Engine ist mir zu C-Like und die unter Windows offenbar übliche ungarische Notation ist meiner Meinung nach hässlich.
Was soll die Engine können?
- Ein einigermaßen modernes C++-Interface. Keine Dinge wie tbMemAlloc oder solcher Käse. Auch sollen Dinge wie 0-Initialisierung zumindest im Debug-Mode default sein.
- Möglichkeiten, selbt mit Matrizen und Vektoren rechnen zu können. Ich will die Mathematik lernen, kein Klicki-Bunti Zeugs.
- Auch wenn ich mich im Moment mit der Mathematik befassen möchte, soll man damit auch Spiele programmieren können. Vielleicht setze ich mir ja irgendwann ein Ziel, Spiel X zu programmieren.
- Soll unter Mac OS X laufen, also Open GL können.Welche Vorkenntnisse habe ich?
- Ich habe den 3D-Grafikteil im Scherfgen gelesen und einigermaßen verstanden, auch wenn sich mir ein paar Unklarheiten aufgeworfen haben (z.B.: [Bei der Projektion werden ja x und y durch die z-Koordinate geteilt. Was passiert, wenn z == 0?] oder... [Scherfgen sagt, dass bestimmte Transformationen nur mit 4x4 Matrizen möglich sind, bringt aber kein Beispiel, soweit ich das gesehen habe.])
- Ich habe früher schon mal ein bisschen mit der Irrlicht Engine rumgespielt, allerdings nur mäßig erfolgreich. Ein paar Objekte platziert und durch die Gegend geflogen halt. Allerdings war das ganze ziemlich aufwändig, nach ein paar Vertices wurde es mir zu blöd.Folgende Engines kenne ich. Was ich darüber gehört habe, steht auch dabei.
- SDL - C-Engine? Angeblich ziemlich hässlich.
- SFML - C++ Engine, für Anfänger angeblich recht nett und einigermaßen brauchbar.
- Irrlicht - Schnelle Erfolge, später unbrauchbar.
- Ogre 3D - Professionelle 3D Engine, am Anfang allerdings kompliziert.
- Cry-Engine - Engine der Superlative. Extrem kompliziert in der Verwendung, für Anfänger absolut nicht zu empfehlen.Grüße,
PI
-
http://www.amazon.de/Programming-Computer-Graphics-Charles-Development/dp/1584502770/ref=pd_sim_eb_3
http://www.amazon.de/Primer-Graphics-Development-Wordware-Library/dp/1556229119/ref=sr_1_1?ie=UTF8&qid=1315584637&sr=8-1
SDL und SFML würd ich jetzt nicht als Engine bezeichnen. Irrlicht und Ogre sind auch nimmer die jüngsten. Wie wärs damit:
http://www.panda3d.org/Wenn du dich für die Mathematik interessierst und nicht einfach nur möglichst schnell und unkompliziert dein MMORPG coden willst, würd ich dir allerdings fast dazu raten, direkt OpenGL oder Direct3D anzufassen. Wenn du auf Windows unterwegs bist, würd ich Direct3D empfehlen, ansonsten bleibt dir eh nix andres übrig, als OpenGL zu nehmen.
-
Da ich unter Mac OS arbeite, wird DirectX nicht funktionieren
Open GL habe ich schon mal in Qt verwendet und damit ziemlich schlechte Erfahrungen gemacht.Ich habe nun versucht, das erste Programm aus der Manual zu kompilieren, aber ich bekomme immer die Fehlermeldung
g++: error: unrecognized option '-arch'
Weiß jemand, woran das liegen könnte?
-
314159265358979 schrieb:
Weiß jemand, woran das liegen könnte?
An nem kaputten makefile, ner falschen Compilerversion, ... Mit OpenGL hats jedenfalls sicher nix zu tun
-
Mit makefiles kenne ich mich nicht aus, die legt meine IDE (Eclipse) für mich automatisch an. Die Fehlermeldung ist aber vom GCC, der allerdings aktuell (4.6) ist.
Blargh.
-
314159265358979 schrieb:
[...] der allerdings aktuell (4.6) ist.
Gut möglich, dass genau das das Problem ist
Ich verwend GCC leider zu selten, als dass ich dir da jetzt sagen könnte, wo das Problem liegt, ohne selbst ins Manual zu schauen...
-
314159265358979 schrieb:
Mit makefiles kenne ich mich nicht aus, die legt meine IDE (Eclipse) für mich automatisch an. Die Fehlermeldung ist aber vom GCC, der allerdings aktuell (4.6) ist.
Blargh.
Was meinst du wo die Option, über die GCC sich beschwert, herkommt?
Könnte die vielleicht aus dem Makefile kommen? Wäre das möglich?Blargh.
-
Zieh Leine, wenn du mir nicht helfen willst.
-
Unser Pi scheint mir ja ein sehr ausgeglichener Mensch zu sein...
-
So, mit GCC 4.0 von Apple krieg ich das Programm immerhin durch den Compiler. Aber dann stürzts ab mit .dylib Fehlern. Panda3D ist nichts für mich.
Was kannst du sonst noch empfehlen? Vorzugsweise etwas, das Header-only kommt oder mit statisch gelinkten Libs.
-
Meine Empfehlung lautet, wie gesagt, OpenGL.
-
314159265358979 schrieb:
Zieh Leine, wenn du mir nicht helfen willst.
Zieh selber leine, wenn du nichtmal versuchen willst zu verstehen was dir andere schreiben, weil du ja selbst alles besser weisst.
Du könntest das nächste mal gleich ganz darauf verzichten nen Thread aufzumachen, und dir statt dessen einfach denken, dass dir jmd. ne Antwort gegeben hat, die hilfreich gewesen wäre, wenn du in deinem scheiss verblödeten überheblichen Grössenwahn nicht wieder geglaubt hättest dass du es sowieso besser weisst.
Oder so.
Blargh.
-
OpenGL ist irgendwie ziemlich kompliziert, außerdem zu C-ig und low-level, damit kann ich mich nicht besonders anfreunden.
@hustbaer: Sorry, wenn ich deinen Post falsch verstanden habe. Könntest du's mir nochmal deutlicher erklären?
-
OpenGL ist eigentlich garnicht kompliziert. Die Komplexität kommt mit Verfahren und Algorithmen aber die entsteht bei jeder API, außer Du lässt alles von einer fertigen Engine übernehmen.
Mir fehlt auch keine Objektorientierung wenn ich mal was in OGL realisiere. LowLevel-API ist schon ok wenn man LowLevel arbeitet
Riskiere mal einen Blick in eine neue Auflage der OpenGL-Superbible. Imho ist OGL weit ansehlicher als Direct3D, aber das kenne ich nicht wirklich. Vielleicht auch nur ein Vorurteil.
-
Hrm. Im Moment ist mir doch eher nach Spiel und weniger nach Mathe. Welche Engine könntet ihr mir da empfehlen? (Schnelle Erfolge)
Vielleicht nehm ich ja OpenGL wenn ich gerade Mathe machen will, und was anderes, wenn mich ein Spiel reizt.
-
µ schrieb:
Imho ist OGL weit ansehlicher als Direct3D, aber das kenne ich nicht wirklich.
Auch ein Spiel is (meistens) recht viel Mathe.
-
Ja, das ist mir schon klar. Ich suche zweierlei: Etwas, wo ich mehr Mathe machen kann, und etwas, wo ich schneller Erfolge habe.
-
Ich würde dir zu Ogre3D oder Irrlicht raten. Sind mit die besten und einfachsten freien Render Engines. Mathe braucht man da genauso und man kriegt ein gutes Verständnis für Konzepte.
-
Ich würd mal sagen, das hängt davon ab, was für eine Art Spiel du machen willst...
-
Ein Third-Person Spiel mit Kampf und so