OpenGL oder SDL



  • SDL ist ziemlich einfach, und daher für den Anfang gut geeignet. Allerdings kannst du mit SDL kein 3D machem. OpenGl ist komplizierter, kann aber wesentlich mehr. Außerdem ist in der SDl auch schon eine Einagbeabfrage drinnen. OpenGL ist nur eine reine Graphic Lib.



  • Ich würde dir eher zu SFML raten. Ist ungefähr das Gleiche wie SDL, nur objecktorientiert und schneller. Es hat genau wie SDL eine gute Anbindung an OGl.

    http://www.sfml-dev.org/

    Es kommt aber auch drauf an, was du lernen möchtest. Bei reinem OpenGl wirst du dich am Anfang längere Zeit mit Mathematik und Matrizen\Abbildungen beschäftigen müssen. Bei SDL hingegen kannst du Fenster einfach erstellen und Bitmaps anzeigen. In OpenGL benötigst zudem noch weitere LIBs um Fenster usw. zu erstellen. Ich rate dir zu SFML und OPenGL.



  • Kann OpenGL was SDL kann ?



  • soufian88 schrieb:

    Kann OpenGL was SDL kann ?

    Das ist wie Äpfel und Birnen, wobei in einem leckeren Obstsalat auch ruhig beides rein darf. 😋

    OpenGL hilft einem, 3D Zeug (mit evtl. Hardwareunterstützung) zu berechnen.
    Es macht aber keinelei Aussagen darüber, wie die gerenderten Bilder dargestellt werden sollen. (In einem Fenster, in einer JPG-Datei, ...)

    SDL hilft einem, auf portable Weise Fenster zu erstellen, in denen man z.B. die von OGl berechneten Sachen anzeigen lassen kann.

    http://osdl.sourceforge.net/main/documentation/rendering/SDL-openGL.html

    Man kann also durchaus erstmal SDL benutzen und dann später auf was anderes umsteigen, ohne den OpenGL Teil abzuändern.



  • Ich kann Fusel.Factor nur zustimmen. Wenn du C++ programmierst, lohnt sich ein Blick auf SFML auf jeden Fall. Ansonsten gäbe es auch ein C-Binding.

    Momentan handhabe ich das selber so: Bei 2D-Grafikanwendungen ist SFML ist für Fenster, Events, Audio und einen Grossteil der Grafik (Sprites, Schriftarten) zuständig, während ich OpenGL verwende, um performancekritische Aspekte selber zu implementieren (z.B. Partikel-Engine). Die Verwendung von OpenGL ist sehr einfach, wenn man auf SFML aufbaut - man kann sich alle betriebssystemspezifischen Dinge sparen und sich direkt mit Grafik beschäftigen.



  • Für 2D greif zu SFML. (www.sfml-dev.org). Wird viel zu selten empfohlen. Mehr Features als SDL. Schneller als SDL. Wird zudem noch sehr aktiv weiterentwickelt, was man von SDL ja nicht sagen kann.



  • Ich programmiere also in C und bin gerade an ein Quizspiel beschäftigt.
    Das Design soll wie das Spiel Wer wird Millionär sein.

    Deswegen frage:

    Kann SFML alles was auch SDL kann ?

    Und reicht SFML für Fenster Buttons Fensterrahmen etc ?



  • SFML und SDL können beide Texturen (z.B. Bilder von Buttons) laden und diese auf dem Bildschirm anzeigen. Mit SFML geht das aber meiner Meinung nach deutlich komfortabler.



  • Wenn du in C programmierst muss du SDL nehmen. SFML gibt es nämlich nur für c++. Wobei du bei einem Wer wird Millionär Spiel auch eine einfache GUI nehmen könnntest. Wenn du allerdings nach diesem Spiel nboch tiefer in die Materie einsteigen willst, dann nehme SDL und OpenGL.

    C ➡ SDL und OpenGL
    C++ ➡ SFML und OpenGL



  • Fusel.Factor schrieb:

    Wenn du in C programmierst muss du SDL nehmen. SFML gibt es nämlich nur für c++.

    Nein, das stimmt nicht. SFML existiert auch als C-Binding (neben D, .NET, Ruby und Python).



  • ok nochmal zu meine Frage:

    Kann SFML alles was auch SDL kann ?

    Und reicht SFML für Fenster Buttons Fensterrahmen etc ?



  • SFML reicht für Fenster und Buttons...


Anmelden zum Antworten