Die bekommst du mit dem Treiber deiner Grafikkarte mitgeliefert!
_________________ Shareholder und Leitender Entwickler bei Pipedream-Games.
Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Nein. Nicht direkt. Die Grafikkarte liefert dir keine neue OpenGL32.dll. Diese DLL ist immer von Microsoft aber die greift intern auf den echten Grafikkartentreiber zu. Der holt sich aus einem Registryschlüssel den echten OpenGL-Treiber und mapped die Aufrufe dann auf diese DLL. Bei ATI zum Beispiel gibt es in System32 eine DLL Namens "atioglxx.dll". Diese implementiert die tatsächlichen Funktionen von OpenGL.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Ich sage mal nur 2 Grafikkarten (nicht 2 Monitore an einer Karte). Sondern 2 richtig echte unterschiedliche Karten. Wenn jeder davon die OpenGL32.DLL überscheiben dürfte könnte OpenGL nur auf Einer der Karten funktionieren. Speziell dann wenn es unterschiedliche Hersteller sind. So müssen sie sich registrieren und die OpenGL32.DLL wählt aus auf welcher Karte sich das Fenster befindet und benutzt den entsprechenden Treiber.
Falls kein passender Treiber gefunden wurde bietet die OpenGL32.DLL auch selber eine recht schlechte und alte Softwareimplementation von OpenGL.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Nicht, dass ich wüsste. Aber wenn du im Programmverzeichnis eine OpenGL32.DLL hast, dann wird zu erst immer die genommen. Also wenn du die MesaGL umbenennst dann ist es egal was für eine Monstergrafikkarte du im Rechner hast er würde immer die DLL nehmen.
[edit] Kommando zurück. Die MesaGL kann sich gar nicht als OpenGL Treiber registrieren, da die Schnittstellen zwar sehr ähnlich aber nicht gleich sind. Die Treibermethoden haben alle ein Drv als Prefix. Das bedeutet, dass die Treiber zwar eine Schnittstelle zu OpenGL haben aber nicht die die wir von OpenGL gewohnt sind. Aber darum kümmert sich ja auch die OpenGL32.DLL
Ich hab AFAIK mal auf der Seite von MesaGL gelesen, dass MesaGL auch ein genz klein wenig anders initilisiert werden muss, als das Standard-OpenGL. Ich hab gehofft, dass man einfach die MesaGL-DLL ins Programmverzeichniss legen kann und der Käse ist gegessen Laut Wiki sollte der DGL-Header aber auch mit einer MesaGL-DLL zurechtkommen, da die Funktionsaufrufe aus der dglopengl.pas ja dynamisch gedingst werden.
Kann man das so stehen lassen, oder stimmt das nicht?
_________________ "Für kein Tier wird so viel gearbeitet wie für die Katz'."
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Für die MesaGL musst du den Header anders initialisieren. Also die Methode InitOpenGL mit anderen Parametern aufrufen. Ich muss aber zu meiner Schande gestehen, dass ich das bisher noch nie ausprobiert habe.
Mitglieder in diesem Forum: 0 Mitglieder und 4 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.