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

Aktuelle Zeit: Do Mär 28, 2024 12:06

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



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Phong Modell - Punktlichtquelle
BeitragVerfasst: Mi Jul 09, 2014 17:57 
Offline
DGL Member

Registriert: Mi Jul 09, 2014 16:43
Beiträge: 4
Programmiersprache: javaScript
Hallo Leute,

Ich benutzte das Phong Beleuchtungsmodell. Wenn ich die Punktlichtquelle innerhalb der Teekanne positioniere , also im Innenholraum, dann ist die Teekanne größenteils schwarz, aber die Tülle und der obere Rand der Kanne sind weiterhin beleuchtet. Wieso ist das so? und wie nennt man diesen Effekt?
Danke im Voraus!!!

Grüße


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Phong Modell - Punktlichtquelle
BeitragVerfasst: Do Jul 10, 2014 13:07 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Hi das ist voellig Normal, im wahrsten Sinne des Wortes. Bei einfachen Beleuchtungsmodellen wird halt das Punktprodukt (Kosinus) von Normale (Senkrechte auf der Flaeche) und der Richtung deines Lichtstrahls berechnet. Sprich du weisst halt nur in welchen Winkel dein Licht auftrifft aber nicht ob der Strahl eventuell durch eine andere Oberflaeche unterbrochen wird und halt einen Schatten erzeugen muss. Um dieses Problem gibt es im Prinzip drei Ansaetze:

- Man geht einfach Brutal alle Oberflaechen durch die moeglicherweise vom Licht getroffen werden und berechnet daraus die Maximale Laenge eines Lichtstrahls. Der typische Vertreter fuer diesen Ansatz ist das Shadow Mapping. Hier wird halt die Szene aus Sicht der Lichtquelle gerendert und die Tiefe in einer Textur gespeichert. Der grosse Nachteil dabei ist halt das Finetuning extrem nervig ist.

- Der zweite Ansatz ist halt das man sich ein Objekt nimmt und einfach die abgewandten Oberflaechen entlang der Lichtrichtung verschiebt. Dieses neue Objekt beschreibt dann den Bereich der schattiert werden soll. In OpenGL kann man dann zum Beispiel den Stenciltest verwenden um diesen Bereich komplett vom Rendering auszuschliessen. Das Ganze ergibt dann diese harten Schatten der 200x Spiele wie zum Beispiel Doom 3. Dafuer sind hier aber auch die wenigsten Probleme.

- Als letztes bleibt noch die globale Beleuchtung. Das ist im Prinzip genau der umgekehrte Weg zum ersten Ansatz. Der Unterschied ist halt das man schaut was die jeweilige Oberflaeche von der Szene "sehen" kann. Ohne Licht ist hier natuerlich alles Schwarz. Wenn du aber nun deine Lichtquelle zum Beispiel als farbige Kugel zeichnest, dann "siehst" auch einige farbige Pixel. Aber bestimmte Bereiche von dieser Kugel werden dann moeglicherweise verdeckt. Dadurch weisst du dann wo und wieviel Licht auf deine Oberflaeche trifft und kannst das dann einfach zum Beispiel in einer Textur speichern. Dieses Verfahren bietet mit Abstand die beste Qualitaet (bis Fotorealistisch).

Die Geschwindigkeit der einzelnen Verfahren sind natuerlich Abhaengig davon was du eigentlich machen willst. Nummer 1 hat halt den Vorteil das man sehr einfach alles komplett auf der Grafikkarte machen kann und dadurch in der Regel schneller als Nummer 2 ist. Dafuer eignet sich Nummer 2 besser wenn man mit anderen volumetrischen Objekten statt nur der Oberflaeche arbeiten will. Nummer 3 hingegen lohnt sich eigentlich nur ab einer bestimmte Masse von Lichtquellen. Stell dir zum Beispiel vor du willst eine Leuchtreklame als Lichtquelle benutzen. Das waeren dann sonst tausende von Punktlichtern + Schatten und zwingt jeden Rechner bei den anderen Verfahren gnadenlos in die Knie. Am besten faehrt man wenn man die 3 auf unterschiedliche Weisen kombiniert. Zum Beispiel um Gruppen von Lichtquellen zu bilden.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Phong Modell - Punktlichtquelle
BeitragVerfasst: Do Jul 10, 2014 16:37 
Offline
DGL Member

Registriert: Mi Jul 09, 2014 16:43
Beiträge: 4
Programmiersprache: javaScript
ich glaub jetzt hab ichs kapiert. :D Danke dir!!!!!!!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Phong Modell - Punktlichtquelle
BeitragVerfasst: Do Jul 10, 2014 18:06 
Offline
DGL Member

Registriert: Mi Jul 09, 2014 16:43
Beiträge: 4
Programmiersprache: javaScript
ehm was mir noch einfällt.

Bei lokalen Beleuchtungsmodellen werden doch Verdeckungen von anderen Objekten und Schattierungen (und Selbstverdeckung) nicht berücksichtigt,...dachte ich?

Oder verwechsele ich irgendetwas :roll:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Phong Modell - Punktlichtquelle
BeitragVerfasst: Do Jul 10, 2014 18:23 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Richtig. yunharla hat 3 Methoden aufgezählt mit denen man die Schattenberechnung realisieren kann. Eben weil es keine Schatten gibt ist die Tülle noch beleuchtet. Kann auch sein, das wir dich falsch verstanden haben. Kannst du mal ein Bild mit anhängen wie es aussieht und was genau du meinst?

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Phong Modell - Punktlichtquelle
BeitragVerfasst: Do Jul 10, 2014 21:56 
Offline
DGL Member

Registriert: Mi Jul 09, 2014 16:43
Beiträge: 4
Programmiersprache: javaScript
Also im Anhang befindet sich das Bild.
Es handelt sich hierbei um ein Phong Modell. Die Teekanne wird mittels Gourad-Shading beleuchtet.
Jetzt habe ich die Lichtquelle in der Teekanne platztiert.


Dateianhänge:
Unbenannt.png [57.13 KiB]
Noch nie heruntergeladen
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Phong Modell - Punktlichtquelle
BeitragVerfasst: Do Jul 10, 2014 22:28 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Jup, da fehlen definitiv nur die Schatten. Und ja wie du schon richtig sagtest. Bei lokalen Beleuchtungsmodellen sind die halt nicht mit drinne (jedenfalls nicht so wie man es erwartet).

Wir haben hier ein paar nette Tutorials dafür im Wiki zum Thema Schatten und co. Schau dir einfach mal an was dir dort am besten gefällt. Ich empfehle für den Anfang erst einmal die Stencil Schatten. Die kann man am leichtesten umsetzen und später halt auch sehr leicht durch bessere Methoden ersetzen.

_________________
Meine Homepage


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 » Shader


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 14 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.048s | 18 Queries | GZIP : On ]