gibt es einen gescheiten weg zu berechnen wie weit ein licht reicht? Im Deferred Rendering will ich gern nur das light volume zeichnen und kein Fullscreen Quad.. beim SpotLight mache ich das einfach indem ich ein "undendlich" langen cone zeichne, beim point light laeuft es bei einer unendlich grossen sphere allerdings auf das Fullscreen Quad hinaus...
Daher, wie berechnet man wie weit das licht geht, bzw ab wann es z.B. eine intensitaet von weniger als 0.1 hat, komplett null wird es ja vermutlich niemals werden.
Registriert: Mo Nov 08, 2010 18:41 Beiträge: 769
Programmiersprache: Gestern
Ich geh mal davon aus das du wissen willst wie Groß das Licht auf der Projektionsebene ist. Um das zu errechnen stell dir einfach dein Pointlight als Würfel vor und schick für die 4 unteren Punkte jeweils einen Strahl zur Kameraposition, der Schnittpunkt mit der Projektionsebene ist dabei deine Pixelposition, die höhen des Würfels errechnen sich aus den Abständen ..... mehr infos findest du hier
Die Formel für die entfernungsabhängige Beleuchtungsstärke ist
1/(C+dist*L+dist*dist*Q)*Light
Wobei C, L und Q für die Werte von GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION und GL_QUADRATIC_ATTENUATION stehen. Wenn die Farbe eines Pixels um weniger als 1/255 durch das Licht angehoben wird, wird auf 0 abgerundet, wodurch dort quasi kein Licht mehr zu sehen ist. Also muss man einfach die Formel umstellen. Je nachdem wie die Farbe des Lichtes ist kann das auch noch variieren. Ansonsten einfach die quadratische Gleichung lösen.
Mitglieder in diesem Forum: 0 Mitglieder und 20 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.