Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Die Anzahl der verwendbaren OpenGL-Lichtquellen ist hardwareabhängig, und liegt im Consumerbereich schon seit recht langer Zeit bei maximal 8 HW-Lichtern.
Daran wird sich auch nix ändern, denn jedes HW-Licht mehr stresst die Hardware (8 Lichter zerren ganz schön am Dreiecksdurchsatz), und zum anderen sind OpenGL-Lichter in ihrer Funktionalität zu beschränkt, als das man von ihnen oft Gebrauch machen könnte (ausser zur Unterstützung eines eigenen Beleuchtungsmodelles).
Die Zukunft der Beleuchtung liegt sowieso ganz klar in der Per-Pixel-Beleuchtung über Fragmentprogramme, denn OpenGL-Lichter arbeiten nur Per-Vertex und sind daher auf stark tesselierte Geometrie angewiesen.
P.S. : Mittels des Accumulation-Buffers kann man mehr als 8 Lichter über einen Trick nutzen.Allerdings wird dieser nur vom R300 in Hardware unterstützt, und ist z.B. auf GF4/FX viel zu langsam.
GL_LIGHT0 + x => Lichtquelle x+1. Wenn du also x>7 wählst, kansnt du auch mehr Lichtquellen ansprechen, aber die Zahl der OpenGl Implementationen, die das von Haus aus unterstützen dürfte eher gering sein.
Man kann eventuell die zusätzlichen Lichter auch über additives Blending auf die Szene aufaddieren,obwohl ein Accumulation Buffer oder idealerweise eine Texture im Gleitkommaformat das beste wäre. Auf einer Karte mit Vertex Programmen kann man sich sein eigenes Programm für mehr Lichter schreiben. Die GFFX unterstützt in dem Vertex Programmen (NV_vertex_program2) sogar richtige Schleifen, so daß man da einfach in einer Scheife durch alle Lichter gehen kann.
Ich stimme SoS aber zu, diese Richtung gar nicht mehr weiter zu verfolgen, daß die Lichter nur PerVertex sind und dementsprechend ungenau berechnet werden. Da ist es besser die Lichtgleichung im Fragmentprogram zu berechnen und die Lichter dann zu addieren.
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.