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

Aktuelle Zeit: Do Mär 28, 2024 14:57

Foren-Übersicht » DGL » Feedback
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Shadersammlung: Phong per Pixel 2
BeitragVerfasst: Do Mai 10, 2012 12:54 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
Code:
  1. lightAmbientDiffuse     += gl_FrontLightProduct[i].diffuse * max(dot(normal, lightDir), 0.0) * attenFactor;
sieht ganz so aus, als ob hier nicht beachtet worden wäre, dass normal durch die linearinterpolation nicht mehr normiert ist. Dadurch sieht das diffuse Licht genauso aus, als ob es per Vertex berechnet worden wäre. (Beim specular wurde es beachtet, weswegen es eigentlich nur auffällt, wenn sehr wenige Vertices verwendet werden)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa Jun 02, 2012 15:59 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wenn das ein Fehler ist, (was ich nicht abschätzen kann) dann bist du gern eingeladen den Code in der Shadersammlung zu korrigieren.
Hätte aber gern noch eine 2. Meinung.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Jun 03, 2012 09:49 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Flash hat geschrieben:
Hätte aber gern noch eine 2. Meinung.

Ja, ist ein Fehler und sollte korrigiert werden.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Jun 04, 2012 21:44 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Sharkman, du solltst dich mit deinem Account im Wiki anmelden können. Du weißt am Besten was wo geändert gehört

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Jun 05, 2012 17:30 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
nachdem ich mich anzumelden versucht habe:
Zitat:
Du bist nicht berechtigt die Seite zu bearbeiten. Grund:

Diese Aktion ist auf Benutzer beschränkt, die der Gruppe „Benutzer“ angehören.

Du kannst den Quelltext dieser Seite betrachten und kopieren:


edit: nachdem ich mich ein zweites mal anzumelden versucht habe, um die Fehlermeldung zu reproduzieren, die ich beim ersten mal ignoriert habe, kam stattdessen folgende Meldung:
Zitat:
Fehler bei der Anmeldung
Das Passwort ist falsch. Bitte versuche es erneut.
Ich habe es dreimal versucht, und kann mir nicht vorstellen, dass ich es dreimal nicht geschafft habe, mein Passwort einzutippen.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Jun 06, 2012 22:38 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
@Sascha, Lord, iFlo oder gar Phobeus: Könnt ihr Sharkman die heiligen Weihen des Wiki Zugriffs erteilen. Ich glaube er ist kein Bot. 8)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Jun 07, 2012 10:16 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Hab grad mal geschaut, und sharkman ist definitiv Teil der Wiki-Gruppe, sollte sich dort also problemlos einloggen können. Probiers bitte mal und wenns jetzt nich geht schildere mal bitte genau was du gemacht hast, bzw. was nicht ging.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Jun 07, 2012 13:11 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
was ich mache ist folgendes: ich gehe ins Wiki, drücke rechts oben auf anmelden, gebe benutzername und Passwort ein, und bekomme das:
Dateianhang:
Unbenannt.jpg


„Click here to create an account“ gibt mir das:
Zitat:
Objekt nicht gefunden!

Der angeforderte URL konnte auf dem Server nicht gefunden werden. Der Link auf der verweisenden Seite scheint falsch oder nicht mehr aktuell zu sein. Bitte informieren Sie den Autor dieser Seite über den Fehler.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 404
wiki.delphigl.com
Thu Jun 7 14:14:18 2012
Apache


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


Zuletzt geändert von sharkman am Do Jun 07, 2012 13:15, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Jun 07, 2012 13:15 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Hm. komisch. Du bist definitiv fürs Wiki freigeschaltet und dein Forenpasswort sollte gehen. Kannst du evtl. mal dein Passwort hier im Forum zurücksetzen und es dann mit einem neuen nochmal im Wiki probieren?

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Jun 07, 2012 13:38 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
ok, mit dem neuen Passwort (hab ein etwas sichereres genommen) funktioniert es.
ich habe jetzt einfach mal ein normalize eingefügt, eventuell sollte ich es noch aus der Schleife rausziehen, damit es nicht bei jedem Durchlauf ausgeführt wird, wobei dann meines erachtens auch
Code:
  1. vec3 r      = normalize(reflect(-lightDir, normal));
hier das normalize aus der Schleife rausziehen könnte (reflect ändert schließlich nicht die Länge). hab nur grad kein soweit fehlerfreies Programm zur Verfügung, dass ich es testen könnte.

Hier der Code mit den Optimierungen (falls es tatsächlich welche sind):
Code:
  1. uniform sampler2D Texture0;
  2. uniform int ActiveLights;
  3.  
  4. varying vec3 position;
  5. varying vec3 normal;
  6.  
  7. void main(void)
  8. {
  9.   vec3 lightDir;
  10.   float  attenFactor;
  11.   vec3 eyeDir           = normalize(-position); // camera is at (0,0,0) in ModelView space
  12.   vec4 lightAmbientDiffuse  = vec4(0.0,0.0,0.0,0.0);
  13.   vec4 lightSpecular        = vec4(0.0,0.0,0.0,0.0);
  14.   vec3 Normal = normalize(normal);  //-----------------------------------------------------------------------hier wurde geändert
  15.  
  16.   // iterate all lights
  17.   for (int i=0; i<ActiveLights; ++i)
  18.   {
  19.     // attenuation and light direction
  20.     if (gl_LightSource[i].position.w != 0.0)
  21.     {
  22.         // positional light source
  23.         float dist  = distance(gl_LightSource[i].position.xyz, position);
  24.         attenFactor = 1.0/( gl_LightSource[i].constantAttenuation +
  25.                     gl_LightSource[i].linearAttenuation * dist +
  26.                     gl_LightSource[i].quadraticAttenuation * dist * dist );
  27.         lightDir    = normalize(gl_LightSource[i].position.xyz - position);
  28.     }      
  29.     else
  30.     {          
  31.         // directional light source        
  32.         attenFactor = 1.0;         
  33.         lightDir    = gl_LightSource[i].position.xyz;      
  34.     }      
  35.     // ambient + diffuse       
  36.     lightAmbientDiffuse     += gl_FrontLightProduct[i].ambient*attenFactor;    
  37.     lightAmbientDiffuse     += gl_FrontLightProduct[i].diffuse * max(dot(Normal, lightDir), 0.0) * attenFactor;  //----------------hier wurde geändert
  38.     // specular    
  39.     vec3 r      = reflect(-lightDir, Normal);     //------------------------------------------------------------------------------hier wurde geändert
  40.     lightSpecular   += gl_FrontLightProduct[i].specular *
  41.                   pow(max(dot(r, eyeDir), 0.0), gl_FrontMaterial.shininess) *
  42.                   attenFactor; 
  43.   }    
  44.   // compute final color   
  45.   vec4 texColor = gl_Color;// * texture2D(Texture0, gl_TexCoord[0].xy);
  46.   gl_FragColor  = texColor * (gl_FrontLightModelProduct.sceneColor + lightAmbientDiffuse) + lightSpecular;
  47.  
  48.   float fog = (gl_Fog.end - gl_FogFragCoord) * gl_Fog.scale;    // Intensität berechnen
  49.   fog       = clamp(fog, 0.0, 1.0);                 // Beschneiden
  50.   gl_FragColor  = mix(gl_Fog.color, gl_FragColor, fog);         // Nebelfarbe einmischen
  51. }


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Jun 07, 2012 13:53 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Die Benennung kann man noch verbessern. Normal <-> normal ist keine gute Variablennamen benennung (verwechslungsgefahr). Eher normalizedNormal oder so verwenden. Oder normNormal. Oder normalized oder so.

grüße

_________________
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  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Foren-Übersicht » DGL » Feedback


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 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.056s | 17 Queries | GZIP : On ]