Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
In der OpenGL.pas sind die Funktionen statisch gebunden. Die sind also da sobald die Unit OpenGL eingebungen ist (und das Programm läuft). Das die OpenGL.pas sich nicht an die normale Konvention halt ist was anderes. Bei den Standardmethoden wie glColor etc. denke ich mal nicht, dass es großartig Probleme geben dürfte. Ich will es aber auch nicht ausschließen.
Was sich aber auf jeden Fall ändern kann sind alle Methoden die zu irgendwelchen Extensions gehören. Dazu zählen auch die Methoden die zum OpenGL Core hinzugefügt werden. Als einfachste Beispiel Multitexturing wurde in OpenGL 1.2 (meine ich jedenfalls) zum Core hinzugefügt. Und die kann bei einigen RC's nicht existieren. Am Besten ist an der Stelle halt OpenGL Initialisieren, die Extension laden und dann ein Flag setzen das alles initialisiert wurde. Das an kritischen Stellen dann abfragen.
Der Aufruf von glColor bei nicht initialisiertem OpenGL sollte normal ignoriert werden. Allerdings habe ich schon einige komische OpenGL Implementationen gehabt. Ich würde nicht immer davon ausgehen, dass es so ist wie es sein sollte. Ich denke ein bisschen Paranoia kann dabei manchnmal nicht schaden.
@Lossy eX :
Mit dglOpenGl den Vollbildmodus einzuschalten ist kein Problem mit den hier beschriebenen Maßnahmen.
Leider bleibt es bei mir ein "Bildschirmausschnitt" ! Ich habe auch ein template ausprobiert und "threeD" compiliert - immer das selbe Ergebnis. Es liegt also wahrscheinlich weder an den Headern noch am Quelltext.. sondern an irgendwelchen grafikkartenmäßigen OpenGL Einstellungen ?
Denn ich könnte schwören bis vor wenigen Tagen liefen OpenGL Programme einwandfrei im fullscreen modus !
Weis jemand vielleicht mit den Gfx/OpenGL Einstellungen bescheid ?
Ich habe eine Radeon 9100 Pro, WinXP und alte Treiber
Grüße
-----------------------
.. denn bis vorgestern funktionierte alles ganz gut.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Könnte es sein, dass wenn du in den Vollbildmodus schaltest zwar der ganze Biildschirm benutzt wird, aber nur in der Oberen Linken ecke tatsächlich gezeichnet wird?
Wenn dem so ist, dann ruf nochmal FormResize (das hast du doch entsprechend implementiert oder?) auf. Dadurch wird OpenGL dann die neue Größe der Zeichenfläche mitgeteilt.
(PS: Für den Fall du möchtest wissen was da alles reingehört, kannst du ja mal ein Template von hier runterladen.)
_________________ Blog: kevin-fleischer.de und fbaingermany.com
bei mir funktioniert auch kein fullscreen.
ich habe ein template das funktioniert compiliert mit fpc 1.9.4 einwandfrei (auch fullscreen)
Das selbe mit fpc 1.9.6. aber dann nicht mehr, keine Ahnung warum
das fpc-template von tak2004 funkioniert bei mir zumindest auch nicht im fullscreen
Registriert: Do Dez 30, 2004 14:49 Beiträge: 71 Wohnort: STADT Kirchen
Ich weiß zwar, dass das Thema mittlerweile zu genüge durchgenudelt wurde, aber da ich immernoch Probleme damit habe, muss ich einfach nochmal nachfragen
Bisher habe ich unter FPC immer einfach den OpenGL Header von Delphi 7 genommen (ja einfach ins Units Verzeichnis kopiert). Das hat auch immer gut gefunzt. Aber da ich jetzt vorhabe mit Extensions zu arbeiten hat sich das Thema erübrigt. Aus diesem Grund habe ich die dglopengl.pas geladen und eingebunden. Nach ein bisschen Codeanpassen kann ich die fehlerfrei kompilieren. Nach dem Start kam allerdings dann schon die erste AccessViolation. Trotz dem InitOpenGL.
Nach etwas Suchen hier im Board hab ich dann den Bool eingebaut. Mit dem Resultat, dass ich mittlerweile zwar wieder eine AccessViolation bekomme, aber glücklicherweise/unglücklicherweise eine ganz andere.
Wäre sehr dankbar, wenn sich jemand die Mühe machen würde und mal bei meiner Initialisierung kucken kann. Ich hab schon alles gekuckt, was mir einfiel. Aber ich komm da nich weiter.
Mal noch eine andere Frage: gibt es auch einen Debugger für FPC? Wohl eher nicht, oder?
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.