2D- Animation, GUI c++



  • Nabend leute,

    ich hab vor "vorerst" ne 2D-Animation in einem Anwendung zu visualisieren. Nun Könnte ich das ganze mit WinAPI oder MFC etc. mit der GDI umsetzen. Würde evtl. auch bischen einfacher sein weil ich da schon viel gemacht habe. Aber so auch bischen aus Interesse un lerneffekt, hab ich mir mal überlegt das mit OpenGl oder DirectX zu machen (wie gesagt vorrerst nur 2D). Gibts paar gute tutorials welche ihr mir empfehlen könnt, um schritt für schritt DirectX/OpenGL in einer Windoes anwendung zu verwenden?

    Danke und grüße



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Spiele-/Grafikprogrammierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • da solltest du dir zuerst mal überlegen, was du nun machen möchtest.. opengl oder dx?



  • Also ich empfehl dir jetzt einfach mal ein Buch um DX 9 zu lernen.

    3D Spieleprogramierung mit Direct X 9 und C++
    http://www.amazon.de/3D-Spieleprogrammierung-mit-DirectX-9-C/dp/3446405968/ref=pd_bxgy_b_img_b

    Las dich vom 3D nicht abschreken. Sobald du mit DX oder OGL arbeitest ist das eigentlich nur noch 3D. Aber du kannst recht einfach 2D simulieren, wenn du magst. (Sprich einfache ne Textur über ein Quad ziehen).

    Um OpenGL zu lernen, sind die Nehe Tutorials recht gut.
    http://nehe.gamedev.net/



  • Da es hier primär nur um 2D-Darstellung geht, sollte ein Verweis auf SDL nicht fehlen (meines Erachtens nach in diesem Falle angebrachter als GL/D3D).

    Auch die Allegro Bibliothek (http://allegro.cc) ist gut, um die Grundlagen zu erlernen. Letztere hat allerdings ein wenig den Ruf, etwas "altbacken" zu sein, weil Allegro im Ursprung von DOS kommt. Wie auch immer, ich mag sie persönlich lieber als SDL.



  • OK, ich bringe hier mal meine persönlichen erfahrungen mit ein. Ich habe mal versucht SDL für 2D zu nutzen, und es hat eine sehr miese performance, allerdings ist es dennoch nicht falsch sich das anzuschauen, wenn man mit OpenGL arbeitet, denn es beinhaltet alles das, was man zum Spieleentwickeln braucht, aber in OpenGL nicht enthalten ist. Allegro hat ein kollege von mir in der Schule mal mit gearbeitet, und ich musste mir ständig von ihm anhören, wie das ganze immer abgeschmiert ist. Es gibt übrigens einen Haufen 2D Libs im internet, die auch einen Blick wert sind, allerdings hat man dann die Qual der Wahl.



  • Krux schrieb:

    OK, ich bringe hier mal meine persönlichen erfahrungen mit ein. Ich habe mal versucht SDL für 2D zu nutzen, und es hat eine sehr miese performance, [...]
    Es gibt übrigens einen Haufen 2D Libs im internet, die auch einen Blick wert sind, allerdings hat man dann die Qual der Wahl.

    Da empfehl ich immer wieder SFML, das ist meines Erachtens viel besser als SDL 😉



  • Naja besser sei mal dahin gestellt, denn SDL ist schon fast zum Standard geworden, und ist schon auf viele Plattformen portiert worden. Darunter auch schon Handhelds, wie der GP2X. SFML ist in dieser Richtung noch nicht so weit.



  • Krux schrieb:

    SFML ist in dieser Richtung noch nicht so weit.

    SFML gibt es noch nicht mal ein Jahr, von daher ist das nicht so verwunderlich. Nur weil SDL teilweise als Standard angesehen wird, ist das kein Grund, dass man nichts Neues kennenlernen sollte 😉

    Aber schau doch mal die Performance von SDL an, die ist grottenschlecht (keine Hardwarebeschleunigung). Ausserdem ist es in C geschrieben und benutzt dadurch auch wichtige Sprachelemente von C++ wie z.B. Referenzen und natürlich schöne Klassen (wie z.B. sf::Sprite in SFML) nicht. Dazu kommt, dass für spezielle Funktionen (z.B. um Primitives zu zeichnen oder Text darzustellen) jeweils separate Packs heruntergeladen werden müssen.

    SFML finde ich auch viel benutzerfreundlicher, ich bin jedoch hauptsächlich wegen der Performance von SDL auf SFML umgestiegen. Bei SFML gibt es auch eingebaute Funktionen bezüglich Rotation, Skalierung, Änderung der Farbe und Transparenz. Alles Dinge, die SDL nicht oder nur in separaten Bibliotheken anbietet.
    Natürlich ist es auch Geschmackssache, aber ich finde, gerade für Anfänger ist SFML einfacher zu bedienen und bietet mehr Möglichkeiten.



  • Krux schrieb:

    Naja besser sei mal dahin gestellt, denn SDL ist schon fast zum Standard geworden, und ist schon auf viele Plattformen portiert worden. Darunter auch schon Handhelds, wie der GP2X. SFML ist in dieser Richtung noch nicht so weit.

    Wenn man von der Portabilität absieht ist es aber eindeutig besser. Es ist einfach schneller, hat mehr Features und ist sehr deutlich und einfach verständlich aufgebaut. Besonders die einfache Benutzung von Shadern hat es mir angetan.


Anmelden zum Antworten