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

Aktuelle Zeit: Fr Jul 18, 2025 04:34

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



Ein neues Thema erstellen Auf das Thema antworten  [ 68 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5
Autor Nachricht
BeitragVerfasst: Fr Okt 15, 2010 10:48 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Zitat:
Sieht auch super aus, doch je näher meine Lichtquelle an eine fläche kommt desto dunkler wirds..

Du hast vergessen die Normale oder den Lichtvektor im Fragmentshader (also nach dem interpolieren) zu normalisieren.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Okt 15, 2010 11:18 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
nää hab ich gemacht:

Code:
         N = normalize(normal);
    lightDir = vec3(LightPos[i].xyz - posEye.xyz);
    L = normalize(lightDir);
    lambertTerm = dot(N, L);   
    if (lambertTerm >= 0)
    final_color += ProjMapColor * LampColors[i] * lambertTerm;


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Okt 15, 2010 12:05 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
hier noch ein Screenshot, welcher das problem verdeutlicht...


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


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Okt 15, 2010 12:43 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Sorry, meine Glaskugel ist gerade in der Reinigung. Ich kenne doch deinen Code/Shader nicht und ich weiß auch nicht wie die Geometrie auf deinem Screenshot aussieht und wo das Licht sein soll. Wahrscheinlich steht der hier irgendwo im Thread, aber ich bin nicht bereit mir jetzt auf 5 Seiten zusammen zu suchen wie dein Shader gerade aussieht. :)

P.S. Ich glaube in der Shadersammlung gibt es gleich zwei Per-Pixel-Light-Shader...ggf. schaust du dir die mal an.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Okt 15, 2010 14:29 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Hast du eventuell Light oder Normal nicht normalisiert?

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Okt 15, 2010 14:52 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
Lord Horazont hat geschrieben:
Hast du eventuell Light oder Normal nicht normalisiert?

greetings


guckst du weiter oben, da is der betreffende shadercode.. Also is normalisiert..

Die Grünen linen sind die richtungen der Lichtquellen. Die eine ist fast parralel zum boden daher wird das licht irgendwie dunkler. Die 2. ist steiler dann wirds heller..


EDIT: bei einer normalen OpenGL Lichtquelle welche ich auf eine ebene fläche zu bewege siehts genauso aus.. Je näher ich ran komme desto dunkler wird diese..


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Okt 15, 2010 15:34 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Mit "je näher meine Lichtquelle an eine fläche kommt" meinst du den Winkel und nicht den Abstand? Je flacher ein Lichtstrahl auf eine Oberfläche scheint desto dunkler wird es weil die Fläche größer wird. Genau dafür sorgt doch das dot-Produkt....
Dateianhang:
licht.png


Deine Szene auf dem Screenshot wirkt etwas surreal weil das Licht mit der Entfernung nicht dunkler wird. Mit der Entfernung wird die Fläche nämlich genauso größer, d.h. weniger Lichtstrahlen auf dem gleichen Raum => Der auf dem Screenshot helle Lichtfleck müsste viel dunkler sein. Natürlich sollte deine Lichtquelle allgemein etwas heller sein, ggf. musst du mehr als 1.0 Licht geben...ist im Shader ja kein Problem....die Farbe wird am Ende automatisch auf 0.0...1.0 beschränkt.


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

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Okt 18, 2010 12:18 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
hast recht. Hab jetzt die Abnahme mit implementiert. Jetzt siehts aufjedenfall realistischer aus. Mercie für den Tipp


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 68 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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.007s | 14 Queries | GZIP : On ]