OpenGL-Fenster ohne glut erstellen
-
Hallo,
gibt es eigentlich eine Moeglichkeit, unter Linux/X11 ein OpenGL-Fenster zu erstellen ohne dabei die glut (oder was aehnliches wie zb freeglut) zu benutzen, also nur mit purer Xlib und Opengl?
Danke schonmal.
Tschuess.
-
use SDL! glut kannste in die Tonne kloppen
-
Es gehen folgende Kombis:
OpenGL + SDL (sehr zu empfehlen)
OpenGL + X + GLX (für die Hardcore-Freaks unter uns)OT
OT...
-
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glaux.h>void main(int argc, char **argv)
{
auxInitDisplayMode(AUX_SINGLE | AUX_RGB);
auxInitPosition(100, 100, 800, 600);
auxInitWindows("Beispiel One")glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINES);
glVertex3f(0.0, 0.0, 0.0) // Eine Linie von 0.0
glVertex3f(0.3, 0.0, 0.0) // nach 0.3
glEnd();
glFlush();
Sleep (3000);
}lässt du
glBegin(GL_LINES);
glVertex3f(0.0, 0.0, 0.0) // Eine Linie von 0.0
glVertex3f(0.3, 0.0, 0.0) // nach 0.3
glEnd();hast dann dein OpenGL Fenster.
-
TGGC schrieb:
Nein, geht nicht. Jedes Program das unter Linux ein Fenster aufmacht, brauch glut.
[hab den Beitrag grad zufällig wieder entdeckt; hat' ich total vergessen...]
lol
Is mir schon klar das; nur wie ich dann das mit z.b. X erstellte Fenster mit OGL verknüpfen soll, damit's halt "direkt" draufzeichnet... Ich hoffe du weißt was ich meine...
-
OpenGL selber kennt nunmal keine "Fenster" oder so zum Reinzeichnen.
Hier stoppt halt das plattformunabhängige OpenGL und die Hardware-Abstraktionsschicht setzt an.
Unter Windows benutzt Du zum Kombinieren von GL und Win halt die wgl...Funktionen, unter Linux (Solaris, MacOS, ...) wird's dann was ähnliches geben.
Könnt' natürlich was heftiger werden, da Linux so modular ist (sprich: unterschiedliche X-Server Versionen).
Die wgl...Funktionen unter Linux heissen übrigens glx...Eine kurze Suche mit google brachte z.B. das, der 2. Post dürfte es erklären!
-
Patrick schrieb:
use SDL! glut kannste in die Tonne kloppen
sdl ist auch nicht besser, man kann es unter code blocks nicht verwenden!
-
aaaaaaaaaaaaaaaaaa schrieb:
Patrick schrieb:
use SDL! glut kannste in die Tonne kloppen
sdl ist auch nicht besser, man kann es unter code blocks nicht verwenden!
Eigentlich schon.
-
oder wenn man c++ lieber mag als c, dann nutzt man sfml.
-
asfdlol schrieb:
oder wenn man c++ lieber mag als c, dann nutzt man sfml.
Nein. Wenn man SFML lieber mag als SDL, dann nutzt man SFML.
-
Singender Holzkübel schrieb:
asfdlol schrieb:
oder wenn man c++ lieber mag als c, dann nutzt man sfml.
Nein. Wenn man SFML lieber mag als SDL, dann nutzt man SFML.
was ist an meiner äusserung falsch dass du sie verneinst? sdl ist in und für c geschrieben, sfml in und für c++. wenn du sdl in c++ verwendest, dann brauchst du c++ gar nicht zu verwenden. wozu auch?
-
asfdlol schrieb:
was ist an meiner äusserung falsch dass du sie verneinst? sdl ist in und für c geschrieben, sfml in und für c++.
Wenn etwas in C geschrieben ist heißt das nicht, dass man es nur in C verwenden darf. Oft gibt es auch C++-Wrapper für Bibliotheken.
asfdlol schrieb:
wenn du sdl in c++ verwendest, dann brauchst du c++ gar nicht zu verwenden. wozu auch?
???????
~Edit: Zeitform~
-
Singender Holzkübel schrieb:
asfdlol schrieb:
was ist an meiner äusserung falsch dass du sie verneinst? sdl ist in und für c geschrieben, sfml in und für c++.
Wenn etwas in C geschrieben ist heißt das nicht, dass man es nur in C verwenden darf. Oft gibt es auch C++-Wrapper für Bibliotheken.
okay, wenn es einen c++-wrapper für sdl gibt, dann ist die benutzung in c++ gerechtfertigt.
Singender Holzkübel schrieb:
asfdlol schrieb:
wenn du sdl in c++ verwendest, dann brauchst du c++ gar nicht zu verwenden. wozu auch?
???????
wieso c++ wenn man prozedural programmiert? das war damit gemeint.
-
asfdlol schrieb:
wieso c++ wenn man prozedural programmiert? das war damit gemeint.
Nur weil du eine prozedurale/C -Bibliothek verwendest, heißt das noch lange nicht, dass auch dein gesammter Programmcode prozedural geschrieben werden muss.
-
Singender Holzkübel schrieb:
asfdlol schrieb:
wieso c++ wenn man prozedural programmiert? das war damit gemeint.
Nur weil du eine prozedurale/C -Bibliothek verwendest, heißt das noch lange nicht, dass auch dein gesammter Programmcode prozedural geschrieben werden muss.
eigentlich schon, doch. (bzw. der restliche code ist stark davon gebrandmarkt dass deine grafikbibliothek prozedural ist) es sei denn du schreibst quasi einen eigenen wrapper um den grafikteil, das ist dann aber schon wieder ein sdl-wrapper und kommt nicht mehr in diese kategorie.
-
asfdlol schrieb:
Singender Holzkübel schrieb:
asfdlol schrieb:
wieso c++ wenn man prozedural programmiert? das war damit gemeint.
Nur weil du eine prozedurale/C -Bibliothek verwendest, heißt das noch lange nicht, dass auch dein gesammter Programmcode prozedural geschrieben werden muss.
eigentlich schon, doch. (bzw. der restliche code ist stark davon gebrandmarkt dass deine grafikbibliothek prozedural ist) es sei denn du schreibst quasi einen eigenen wrapper um den grafikteil, das ist dann aber schon wieder ein sdl-wrapper und kommt nicht mehr in diese kategorie.
Ja, wenn die Library so feature-high-level programmiert wurde, als wäre sie quasi schon Endprodukt-Code, dann wird dein Code wohl stark nach Prozedural richen.
Ansonsten ist das aber kein Problem, kommt im Endeffekt auf die Bibliothek an.