FAQ: Modernes OpenGL mit OpenGL 3.x
-
Und was ist jetzt der Unterschied zu OpenGL 4.0?
-
Andreas XXL schrieb:
ist da irgendein Sinn vorhanden, dass in GL3w kein GL_QUAD zum Zeichnen definiert ist?
Vielleicht, weil es seit OpenGL 3 nicht mehr unterstützt wird. Hast du dir mal die Spec. angeschaut? QL_QUAD ist departched. Und das schon seit ein paar Jahren --> also einer Ewigkeit für Softwareentwickler.
Keine OpenGL >= 3 Grafikkarte muss GL_QUAD unterstützten. Verwendest du es heutzutage noch dann ist es nicht Garantiert, dass dein Programm auf einen aktuellen Rechner läuft.
-
Eine Einführung in OpenGL 4.2: http://rastergrid.com/blog/2011/08/an-introduction-to-opengl-4-2/
Ein Vergleich von OpenGL 3,4 und DirectX 10,11: http://rastergrid.com/blog/2011/10/opengl-vs-directx-the-war-is-far-from-over/
-
Ein C++-wrapper für OpenGL 3 und höher: http://oglplus.org/html/index.html
Find ich super wenn man keine Lust auf das C-Interface hat. Und die examples dabei sind auch sehr hübsch.
-
-
dv_ schrieb:
Im Übrigen kann man auch http://www.glfw.org/ als Alternative zu SDL 1.3 einsetzen; GLFW 2.7 unterstützt auch OpenGL 3.x Contexterzeugung.
Das sollte man oben erwähnen, da GLFW moderner als GLUT und leichtgewichtiger als SDL ist.
-
Folien von Valve zu deren Erfahrung mit OpenGL und dem Linux-Port von Source: Porting Source to Linux (pdf)
-
Sehr interessant zu lesen, danke rüdiger.
-
Das verstehe ich nicht:
1. Create a window (don’t show)
2. Create a context
3. Query for window-specific extensions
4. Create another window (this will be the application window)
5. Create a context using extension function from step 3.
6. Destroy Context from step 2.
7. Destroy window from step 1.Wozu das 2. Fenster? Man kann doch einfach wglMakeCurrent mit dem neuen Kontext aufrufen und den alten dann zerstören? Oder wie?
-
Was ist denn jetzt der beste Weg einen OpenGL Contex zu erzeugen(natürlich nicht für diese alte Version sondern ab 3.x) Wir hatten hier SDL1.3, Glfw und gl3w wenn ich das recht verstanden haben?
Was nutzt ihr eigentlich wenn ihr das aktuelle OpenGL in Java nutzen wollt?
-
...
-
Lichtweite schrieb:
Was ist denn jetzt der beste Weg einen OpenGL Contex zu erzeugen(natürlich nicht für diese alte Version sondern ab 3.x) Wir hatten hier SDL1.3, Glfw und gl3w wenn ich das recht verstanden haben?
Was nutzt ihr eigentlich wenn ihr das aktuelle OpenGL in Java nutzen wollt?
SFML 2.0 RC kann einen 3.0 Context erzeugen. Momentan jedoch nur mit compatibility flag.
http://www.sfml-dev.org/tutorials/2.0/window-opengl.php schrieb:
OpenGL versions above 3.0 are supported by SFML (as long as your graphics driver can handle them), but you can't set flags for now. This means that you can't create debug or forward compatible contexts; in fact SFML automatically creates contexts with the "compatibility" flag, because it uses a few deprecated functions internally. This should be improved soon, and flags will then be exposed in the public API.
-
Es ist aber relativ easy zu hacken und die Flags in SFML selber zu setzen wie man sie braucht. Man muss halt nur das Modul neu kompilieren.
Hab das schonmal umgeschrieben um einen 3.3 Core Context zu bekommen.
-
* Valve vogl: OpenGL capture / playback debugger. https://github.com/ValveSoftware/vogl
* Direct3D to OpenGL abstraction layer https://github.com/ValveSoftware/ToGL