Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ne. So wie ich die Funktion vestanden habe hast du den ersten durchgang wenn überhaupt gesehen.
Die erste Variable gibt an wie die hinzukommenden Farbinfos verrechnet werden und die zweite Variable wie die bereits im Speicher liegenden verrechnet werden sollen.
Das problem ist, dass (GL_ONE, GL_ONE) zur überbelichtung führt. Aber wenn deine Szene sehr dunkel ist, könnte das gehen.
Außerdem sind 8 Lichter meißt recht ausreichend. 8 Lichter gleichzeitig bedeutet, dass alle 8 Lichter die selben Flächen beleuchten. Wenn du Räume hast, dann leuchten die meisten Lichter eh nur einen Teil des Raums aus. Der einfluss auf die anderen Bereiche ist eher minimal.
Idealerweise solltest du versuchen deine Szene so aufzuteilen, dass du immer weniger als 8 Lichter nutzt.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Also du musst dafür unterschiedliche Blendmodies benutzen. Und zwar musst du für den ersten Durchgang alles zeichnen für alle nachfolgenden musst du nur die zusätzlichen Lichter (erleuchteten Stellen) zeichnen. Dein Farbinformationen des Grundobjektes existieren dann ja schon.
Schau dafür auch mal bei Tom Nuydens vorbei. Dort kannst du recht weit unten ein lightaccum.zip finden. Dort wird genau so etwas gemacht.
Nichts destro trotz hat Flash recht. Wenn möglich solltest du immer mit den 8 Lichtern auskommen.
Zuerst alle Lichter mit glBlendFunc(GL_ONE,GL_ONE) aufaddieren und danach die Texture mit glBlendFunc(GL_DST_COLOR,GL_ZERO) oder glBlendFunc(GL_DST_COLOR,GL_SRC_COLOR) multiplizieren.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Lossy hat das ganz gut geschrieben. Einfach die Szene in den folge durchgängen so rendern, dass nur die beleuchteten Stellen sichtbar sind. Das kannst du machen indem du Bereich ohne Beleuchtung nicht renderst.
Die ergebnisse kannst du dann zusammensammeln und am Ende zusammen addieren.
PS: So ein kleines Multipass-Beispiel mit >8 Lichtern wäre mal ne nette Techdemo fürs Wiki.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: 0 Mitglieder und 6 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.