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

Aktuelle Zeit: Fr Jul 18, 2025 04:23

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



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Probleme bei DPSM - Reichweite
BeitragVerfasst: Do Nov 17, 2011 11:03 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
Moinsen,

ich habs nun geschafft Dual Parabolide Schatten einzubauen.. Probleme hab ich nur mit der Reichweite der Schatten.
Im Tutorial wird ja über eine Konstate (15) die Entfernung geregelt.. doch ausreichend ist das leider nicht.. In meiner Scene kann ich da max. 20m Leuchtenreichweite realisieren.. Egal wie rum ich da probiere.. entweder ist der Nahbereich weg oder in der Ferne..
Was könnt ich da machen?

Grüße
Thomas


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Probleme bei DPSM - Reichweite
BeitragVerfasst: Do Nov 17, 2011 15:46 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
mhh, das problem scheint nicht an der Auflösung der Tiefenmap zu liegen, sondern an der Subtraktion des LightVektors im Vertex Shader.. Wenn nämlich die Lampe auf 0,0,0 steht kann der Raum extrem groß sein und die Objekte werden auch noch in 100m schattiert (pixelig)...

Hier mein Vertex Shader fürs die Shadowmaps.. LightPos.xyz ist in Weltkoordinaten (also feststehend) die ModelviewMatrix beim Rendern ist Identity.. Ich hab auch schon probiert die ModelView Matrix mittels translatef auf die Lampen Position zu bringen und die Subtraktion wegzulassen doch dann stimmen die Schattenpositionen nciht mehr.. warum auch immer..

Code:
  1.  
  2.   uniform int renderpass;
  3.   uniform vec3 lightPos;
  4.   uniform float sFar;
  5.   varying vec3 normal;
  6.   varying vec3 pos;
  7.    
  8.    void main(void){
  9.     gl_TexCoord[0]    = gl_MultiTexCoord0;
  10.     gl_Position = gl_ModelViewMatrix *  gl_Vertex  - vec4(lightPos.xyz,  1.0) ;
  11.      
  12.     float L= length (gl_Position.xyz);
  13.     gl_Position /=  -L;
  14.     if (renderpass == 1) gl_Position.z *=-1.0;
  15.     gl_Position.z += 1.0;
  16.     gl_Position.xy /= gl_Position.z;
  17.     if (gl_Position.z >= 0.01){
  18.           gl_Position.z =  L / sFar;//Todo: optimieren   
  19.           gl_Position.w = 1.0;
  20.         }
  21.     else{
  22.         gl_Position.z = -1.0;
  23.         gl_Position.w = -1.0;
  24.         }
  25.  
  26.           gl_Position.z = 2.0 * gl_Position.z  -1.0; //Todo: optimieren
  27.      
  28.     pos=gl_Position.xyz;
  29.     }
  30.  


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Probleme bei DPSM - Reichweite
BeitragVerfasst: Do Nov 17, 2011 19:10 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
ich muss vielleicht noch dazusagen das ich Deferred Shading nutze.. Allerdings müsste der Teil korrekt sein, denn Projektionen etc. funktionieren alle ohne Probleme..


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


Wer ist online?

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