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

Aktuelle Zeit: Fr Jul 18, 2025 08:16

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



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Lightquellen
BeitragVerfasst: Mi Aug 10, 2011 20:43 
Offline
DGL Member

Registriert: Di Aug 09, 2011 07:33
Beiträge: 163
Programmiersprache: C/C++
Hey,

Habe ein Problem mit den Lichtquellen (siehe Bild).
Die Lichtquelle ist weit entfernt und es wird an einigen Stellen Licht angezeigt wo eig. garkeins sein dürfte.
Kann man dieses Problem irgendwie lösen?

Außerdem wüsste ich gerne, ob man das Licht irgendwie begrenzen kann, also das es z.B. max. 10 Meter weit scheint.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Lightquellen
BeitragVerfasst: Mi Aug 10, 2011 21:38 
Offline
DGL Member

Registriert: Di Okt 13, 2009 17:25
Beiträge: 365
Programmiersprache: C++
Warum dürfte denn dort kein Licht sein? Wenn du Schatten willst, musst du diese extra implementieren. OpenGL prüft von alleine nicht, ob schon etwas zwischen der Lichtquelle und dem beleuchtetem Objekt ist (wie sollte das auch gehen, wenn man bedenkt, dass der dazwischen liegende Gegenstand u.U. noch gar nicht gerendert wurde?).

Eine maximale Reichweite kann man afaik nicht einstellen, wohl aber die Abschwächung (über die ATTENUATION-Parameter). Wenn das Licht so weit weg ist, dass es durch die Abschwächung quasi keinen Einfluss auf ein Objekt nimmt, schalte das Licht einfach vor dem Rendern ab.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Lightquellen
BeitragVerfasst: Mi Aug 10, 2011 22:43 
Offline
DGL Member

Registriert: Di Aug 09, 2011 07:33
Beiträge: 163
Programmiersprache: C/C++
OpenGL weiss ja scheinbar auch, dass auf der Rückseite von der Mauer kein Licht sein kann, dann hätte das ja auch für den anderen Teil zählen können.
Kann mir gerade auch nicht vorstellen wie ich das großen einbinden soll... bei den wenigigen Zeilen Code von einer Lichtquelle kann ich ja nicht sehr viel einfluss nehmen... naja mal schauen :|

Das mit dem Parameter probier ich mal aus, danke.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Lightquellen
BeitragVerfasst: Mi Aug 10, 2011 23:25 
Offline
DGL Member

Registriert: Di Okt 13, 2009 17:25
Beiträge: 365
Programmiersprache: C++
OpenGL berechnet das Punktprodukt aus der Vertexnormalen und dem Verbindungsverktor zur Lichtquelle. Kommt dabei etwas > 0 heraus, zeigt der Normalenvektor in Richtung der Lichtquelle. Daraus folgert OpenGL, dass die Seite dem Licht zugewandt ist und beleuchtet werden muss. Flächen, die dem Licht laut dieser Berechnung abgewandt sind, werden nicht beleuchtet. Ich hoffe doch, du setzt die Normalen richtig?

Die Berechnung von Schatten ist ein eher fortgeschrittenes Thema. Es gibt verschiedene Methoden (Statisches & dynamisches Shadowmapping, Stencilschatten und noch mehr), viele davon mit Shadern. Wenn man sowas implementiert, arbeitet man eigentlich auch nicht mehr mit den von OpenGL bereitgestellten Beleuchtungsmethoden... und das werden dann auch ein paar mehr Zeilen Code. :wink:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Lightquellen
BeitragVerfasst: Do Aug 11, 2011 14:27 
Offline
DGL Member

Registriert: Di Aug 09, 2011 07:33
Beiträge: 163
Programmiersprache: C/C++
Die Normalen sollten - soweit ich das einschätzen kann - richtig gesetzt werden.

Welche Methode würdest du denn bei Schatten empfehlen? Und nun bitte nicht die wählen welche am schönsten ist sondern vllt. erstmal eine was nicht so kompliziert ist :D
Tendiere da ja zu den Stencilschatten.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Lightquellen
BeitragVerfasst: Do Aug 11, 2011 14:53 
Offline
DGL Member

Registriert: Fr Okt 03, 2008 13:32
Beiträge: 367
Stencilschatten kommen auch ohne Shader aus. Falls du da in die Richtung noch nichts gemacht hast, währe das auf jeden Fall die schnellste Variante. Bei Shadowmaps kommt man um Shader wohl nicht herum, außerdem gibt es da zig Varianten, die alle Vor- und Nachteile haben. Bis man da ein ordentliches Ergebnis ohne irgendwelche Artefakte hat, vergeht schon einige Zeit.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Lightquellen
BeitragVerfasst: Do Aug 11, 2011 15:00 
Offline
DGL Member

Registriert: Di Okt 13, 2009 17:25
Beiträge: 365
Programmiersprache: C++
Ich denke, wenn man noch nie was mit Shadern gemacht hat, sind Stencilschatten vermutlich wirklich das einfachste. Allerdings ist man dann soweit ich weiß (man korrigiere mich, wenn das nicht stimmt) auf eine schattenwerfende Lichtquelle beschränkt.

Übrigens wenn ich mir dein Bild ansehe, sehen die Normalen gut aus, dass einzige was etwas seltsam erscheint, ist der linke Rand der Straße.


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


Wer ist online?

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.

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