Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Neben den Erweiterungen GLX_ARB_create_context und GLX_ARB_create_context_profile ist bereits seit der 3.0 des Header die Erweiterung WGL_ARB_create_context implementiert. Das Problem mit den ganzen Erweiterungen ist, dass man die Erweiterungen erst dann auslesen kann, wenn man einen Kontext besitzt. Die OpenGL32.dll ist eine Art BlackBox. Erst wenn ein Kontext erstellt wird geht diese dll her und lädt den eigentlichen OpenGL Treiber, der für den aktuellen Bildschirm zuständigen Grafikkarte. Sofern also niemand der opengl32.dll die Erweiterung WGL_ARB_create_context beibringt wird es wohl nicht funktionieren. Meiner Meinung nach ist das strukturbedingt so. In Linux wird es wohl auch nicht großartig anders laufen. Muss aber gestehen, dass OpenGL 3 unter Linux noch gar nicht getestet hatte.
Für Windows und meiner ATI 3850 hatte ich das mal ausprobiert ob es funktioniert, wenn man ohne Kontext die Methoden auslesen will. wglGetProcAddress lieferte mir aber nur nil zurück. Als ich dann einen Kontext erstellt hatte, dann ging es plötzlich. Um den ganzen Code deutlich zu vereinfachen kann man den DeviceContext aber weiter benutzen. Damit braucht man nur ein Fenster, einen DC und einen temporären RC. Was vom Code her recht übersichtlich ist.
Ich meine mal auf einer Seite (finde sie nicht mehr) gesehen zu haben wie es jemand ohne einen Kontext gemacht hat. Aber der hat nichts anderes gemacht als ich. Die Seite benutzte glaube ich NVidia. Aber ich kann mir nicht vorstellen wie das funktionieren sollte. Eben wegen der technischen Einschränkungen von der opengl32.dll.
Mitglieder in diesem Forum: 0 Mitglieder und 129 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.