OpenGL Versionen



  • Moin,

    Warum gibt es die OpenGL Bibliotheken in verschieden Ausführungen
    (für Windows,Unix usw)?

    OpenGL an sich kann ja keine Fenster erstellen und daher benötigt man ne api,
    aber OpenGL ist doch immer das selbe, oder?



  • es sind verschiedene implementationen die für verschiedene grafiksysteme arbeiten - am angenehmsten ist die von x11 - die arbeitet auch über netzwerk ( ich starte die app auf rechner a, und die ui/grafik ist auf rechner )

    die für windows ist nur nen aufsatz auf die grafikapis, und ned wirklich schön (gl braucht unter windows verdammt viele schritte zum aktivieren)

    dann gibt es noch implementationen für spezielle maschienen, die einfach nur leistung bringen (man denke an alte sgi's)

    da das teilweise nur in der externen api übereinstimmt aber intern komplett anders aussieht, und es closed source und open-source impl's gibt kann man ned mal eben ne eine für alles implementation aus dem hut zaubern

    die api stimmt selbstverständlich überein



  • Aber wie ist OpenGL dann plattformunabhängig, wenn man wieder verschiedene Versionen benutzt?



  • Weil überall die gleichen OpenGL Funktionen bereitgestellt werden.



  • Also jetzt verstehe ich gar nichts mehr....

    Wenn die X11 version die beste ist, warum ist diese dann nicht auch auf windows verfügbar? 😕
    Ich denke alle Funktionen sind überall gleich. 😕

    Seit mir net böse, aber ich versthe jetzt gar nichts mehr.

    Kann mir bidde ein ausführlich erklären welche Version ich benutzen soll?

    mfg



  • X11 unter Linux und z.B. WinAPI unter Windows sind halt vollkommen unterschiedlich und nicht platform-unabhängig. Beides gehört nicht zu OpenGL dazu. Irgendwie muss OpenGL ja nun unter beiden Bedingungen lauffähig sein, daher unterscheidet sich die Initialisierung für die beiden Systeme - Aber da kann OpenGL ja nix zu 😉

    Ansonsten ist die OpenGL-API plattformunabhängig und die Initialisierung ist ja meistens eh der kleinste Teil 😉



  • Ahhh thx, jetzt habe ich es verstanden.

    Ich benutze SDL + OpenGL, welche Version brauche ich denn da?



  • Du brauchst keine extra Version, da die OpenGL API ja auf allen Systemen gleich ist und SDL den Plattformabhängigen Teil wrappt. Also musst du nur die SDL für die entsprechende Plattform kompilieren und linken und zu den OpenGL Libraries linken.

    Du kannst natürlich nicht ein Programm schreiben und das ohne neu kompilieren auf einer anderen Plattform einsetzen!


Anmelden zum Antworten