Was ist nun besser für einen Anfänger OpenGL,DIrectX SDL?



  • hallo

    wie dem titel zu entnehmen, wollt ich gern wissen was für einen anfänger in der spielprogrammierung einfacher zu verstehen oder umzusetzen ist.

    ich hab bisher gelesen das man bei opengl immer auf den hersteller der grafikkarte angewiesen ist andere karten könnten das nich flüssig genug darstellen und directx wird ja immer von microsoft weiterentwicklelt.

    nun wollte ich gern wissen welches die beste variaten für anfänger ist (kann nur c++ und etwas mit der MFC)

    ich wollte irgendwann mal egal wie lange es dauert 😉 2-D grafiken erstellen und irgendwann danach auch 3 D sachen. was wäre für mich da besser?

    OpenGL
    DirectX
    SDL

    PS: bitte macht von anderen die meinung nicht runter, ich will gern von jedem eine unangefochtene meinung haben.

    danke schonmal für die antworten 🙂



  • Wie wärs mit FAQ oder Suche?

    Naja, ich vote für SDL.
    Perfekte Symbiose aus einfachem Interface und Funktionalität



  • Kane schrieb:

    Wie wärs mit FAQ oder Suche?

    Naja, ich vote für SDL.
    Perfekte Symbiose aus einfachem Interface und Funktionalität

    suche gut und schön aber nach was suchen ? 🙂

    ich wollte gern eure meinung dazu wissen, damit ich weiß was für mich einfacher für den anfang ist.



  • Kann man nicht sagen.

    Da Du Erfahrung mit C++ und nicht "einfachem" C hast, käme DirectX in Frage.

    Schneller oder besser ist weder DirectX noch OpenGL.
    DirectX ist übersichtlicher (im Sinne von: besser strukturiert). Du kannst nicht einfach ein glVertex(x, y) irgendwo in Deinen Quelltext hauen.
    Da Du als C++-ler wohl sicher mit Klassen etc. umgehen kannst, und Dich somit das OO Design anmacht, dürfte ggf. DirectX mehr für Dich in Frage kommen.
    Zudem bietet DirectX dann auch direkt Sound- / Eingabe- / Netzwerk-Funktionalität (im Gegensatz zu OpenGL), die ähnlich von DirectX Graphics aufgebaut sind und deshalb keine erneute Fundamental-Einarbeitung mehr brauchen.

    Wenn Du lieber strukturiert als OO proggst, kommt OpenGL wahrscheinlich eher in Frage. Dich mag es dann vielleicht nerven, daß es keinerlei Überladung für glVertex z.B. gibt, sondern stattdessen 1001 Prozedur mit unterschiedlichen Parametern à la glVertex3f, glVertex3i, glVertexXX... allerdings ist das dafür einheitlich gemacht, und leicht zu merken.
    Ausserdem hat OpenGL halt keinerlei direkte Bindung zu Windows (z.B.), und Du mußt zur Initialisierung erstmal wild mit PIXELFORMAT und DEVMODE und anderem Scheiß um Dich werfen, Dir einen DC besorgen und ein RC daraus machen, etc. - das nervt ziemlich.
    Andererseits macht man das 1 mal, und schmeißt das in Init-Funktionen, basta.
    Und falls Du auf Klassen stehst, kannst Du natürlich auch OpenGL in Klassen wrappen. Von daher gibt es also keine direkten Vor- oder Nachteile eigentlich mehr.

    Am Besten Du schaust Dir gut dokumentierte Quelltexte zu Mini-Spielchen in OpenGL und DirectX an, und gehst dann danach, was Dich mehr antörnt...

    Für Anfänger ist SDL wohl eine Überlegung wert. Hab' allerdings nie damit gearbeitet.
    Aber man hört fast nur gutes.
    Für 3D kann man nachher problemlos (?) OpenGL dazunehmen.
    Threads und was man ggf. braucht wurde alles vom OS abstrahiert.
    etc. pp

    Fazit: Direkte Empfehlungen kann man Dir nicht geben. Geh innen Laden und schau' Dir die Kiste erstmal an, die Du kaufen willst... 😉


Log in to reply