Ich bastle an einem Lichtsystem für eine Engine und bin dabei auf etwas gestoßen das mir Probleme bereitet. Ich kann nur 8 Lichter verwenden - brauche aber mehr! In meiner GL.h sind GL_LIGHT0 bis GL_LIGHT7 definiert als 0x4000 bis 0x4007 ... wenn ich jetzt das 9te Licht verwenden willl (hab ich gemacht indem ich GL_LIGHT8 manuell als 0x4008 definiert habe) sehe ich keine Licht. Bei GL_LIGHT0 bis GL_LIGHT7 funktioniert alles einwandfrei und ich kann meine "Testkerze" durch den 3D-Raum bewegen und alles beleuchten.
Wie kann ich also mehr als 8 Lichter verwenden? (Meine GL.h ist Version 1.1 - ist ziemlich alt - gibts vielleicht irgendwo ein SDK wo eine aktuelle Version drin ist -> V1.5 ist ja soweit ich weiß die aktuelle)
ich denke mal das du da LightMaps benutzen musst, hab dies aber noch nie benutzt, evtl im www.gamedev.net forum nachfragen -- class God : public ChuckNorris { };
hmm - aber eine Lightmap hat (nach meinem Wissen zumindest) nicht wirklich viel mit "echtem" dynamischen Licht zu tun - es ist einfach nur ein vorberrechnetes Bild in dem Lichtinformationen für ein ganzes Level gespeichert werden (Quake 3, BF1942) ... ich halte Lightmaps für technisch veraltet
Also in Unreal Tournament kann man doch mit dem Editor auch mehr als 8 dynamische Lichter plazieren (mit dynamisch meine ich jetzt das man die wärend der Laufzeit beweegen könnte und die Lichtverhältnisse somit verändert) und UT läuft ja bekanntlich auch mit OGL ... Schlusssfolgerung dat muss irgendwie funktionieren ...
Mein aktuelles Lichtsystem funktioniert ähnlich wie in Unreal Tournament ...
Im Netz gibt es massig Tutorials für Licht ... jedech wird dort immer nur eins beutzt - GL_LIGHT1 z.B. bei den bekannten NeHe-Tutorials
ich glauch ich muss mal Herrn John Carmack fragen - der wird's schon wissen *gg*