Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Der Titel klingt evtl. etwas wirr, aber ich zweifle momentan echt an mir selbst. Irgendwie bekomm ich keine Beleuchtung für meine Hexfelder aktiviert (Normalen sind da und korrekt, via Shader getestet), aber die Beleuchtung lässt sich nicht aktivieren! Klingt komisch, iss aber so. Zum Test mal folgendes :
Code:
glEnable(GL_LIGHTING);
ifnot glIsEnabled(GL_LIGHTING)then
raise Exception.create('No lighting active...');
Theoretisch dürfe hier nie eine Exception auftreten, es sei denn ich würde es aus Versehen innerhalb eines glBegin...glEnd-Blockes aufrufen, was ich aber nicht tue. Karte ist ne Radeon HD 3850, Treiber der aktuelle Catalyst 8.6. An anderen Stellen lässt sich die Beleuchtung aktivieren, hier aber nicht, einziger Unterschied : obiges geschieht innerhalb des Aufbaus einer Displayliste...langsam verzweifel ich, evtl. sollt ichs an den Nagel hängen
Schreib ich den Code übrigens ausserhalb der Displayliste gehts. Kann das mal jemand mit dem 8.6er nachprüfen. Wär fast unglaublich wenn ATI sowas verbocken würden.
P.S. : Auf OpenGL-Fehler teste ich natürlich auch, da keiner ausgeworfen wird scheint mir dass alles als korrekt.
Registriert: Di Dez 27, 2005 12:44 Beiträge: 393 Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Hallo,
kein Wunder dass bei dir eine Exception auftritt, ich nehme mal an du benutzt glNewList(GL_COMPILE) statt GL_COMPILE_AND_EXECUTE.
Wenn du glNewList aufrufst wird glEnable(GL_LIGHTING) in die Display-Liste geladen, aber noch nicht ausgeführt, der Test danach führt dann zu nichts.
Wenn du glCallList aufrufst, wird allerdings dein Test nicht ausgeführt ( raise Exception ist ja kein OpenGL-Befehl ).
Mitglieder in diesem Forum: 0 Mitglieder und 3 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.