Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 19, 2025 16:28

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Multi-pass Hardware Beleuchtung?
BeitragVerfasst: Mi Okt 24, 2007 01:43 
Offline
DGL Member

Registriert: Di Okt 23, 2007 10:20
Beiträge: 84
erledigt


Zuletzt geändert von elektrokrach am Di Nov 27, 2007 11:35, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 24, 2007 08:39 
Offline
Guitar Hero
Benutzeravatar

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 24, 2007 08:46 
Offline
DGL Member
Benutzeravatar

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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 24, 2007 10:40 
Offline
DGL Member

Registriert: Di Okt 23, 2007 10:20
Beiträge: 84
erledigt


Zuletzt geändert von elektrokrach am Di Nov 27, 2007 11:35, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 24, 2007 11:45 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 24, 2007 12:04 
Offline
DGL Member

Registriert: Di Okt 23, 2007 10:20
Beiträge: 84
danke


Zuletzt geändert von elektrokrach am Di Nov 27, 2007 11:35, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 24, 2007 14:20 
Offline
Guitar Hero
Benutzeravatar

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 24, 2007 14:29 
Offline
DGL Member

Registriert: Di Okt 23, 2007 10:20
Beiträge: 84
erledigt


Zuletzt geändert von elektrokrach am Di Nov 27, 2007 11:35, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 24, 2007 18:53 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Eine Demo mit Quelltext, bei der jeweils 8 Lichter aufaddiert werden.

http://www.delphi3d.net/download/lightaccum.zip


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 24, 2007 19:14 
Offline
DGL Member

Registriert: Di Okt 23, 2007 10:20
Beiträge: 84
erledigt


Zuletzt geändert von elektrokrach am Di Nov 27, 2007 11:36, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 25, 2007 14:28 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
Die einzige Lösung ist die Lichter dunkler zu machen....


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 25, 2007 22:23 
Offline
DGL Member

Registriert: Di Okt 23, 2007 10:20
Beiträge: 84
erledigt


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.017s | 18 Queries | GZIP : On ]