bonjour,
tout d'abord pardon de pas être plus précis dans l'intitule je ne sait même pas si ca viens d'un shader ou même de l'architecture de mon code... alors dans le doute je vous met le tout a disposition :
svn checkout http://black-death-revenger-raytrace...com/svn/trunk/ black-death-revenger-raytracer-read-only (linux + sfml 1.6, makefile inclu...)
(j'etait pas tres inspirer pour le nom)
mes symptomes :
dans Fdefuse.glsl (le fragment shader)
les lignes
m'affiche tout bonnement du noir... mais chose intéressante quand j'essaye ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 final_color = gl_LightSource[0].diffuse * cosNL; gl_FragColor = final_color;
sur mon laptop (nvidia nvs 5100m) mon triangle est blanc (oui oui ... il rentre dans ce else qui n'a même pas lieu d'exister...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if (cosNL == 0.0) gl_FragColor = vec4(1,0,0,0); else if (cosNL < 0.0) gl_FragColor = vec4(0,1,0,0); else if (cosNL > 0.0) gl_FragColor = vec4(0,0,1,0); else gl_FragColor = vec4(1,1,1,0);) et sur mon desktop (ati 6870) il est rouge ...
donc voila je suis un peut démuni devant ceci... je présume que la normal ou la position de la light arrive mal (sinon le produit vectoriel serait bon) mai pourquoi ?
ps : je sait que gl_LightSource[0].diffuse * cosNL; ne me donnera pas une couleur comme on en attendrait d'une light... je cherche seulement a chopper le "dégrader" et a comprendre openGL avant de m'attaquer aux math.
et dernier truc: mon clavier est qwerty le peut d'accent qu'il y a c'est le correcteur orthographique qui me les prêtes![]()
Partager