Eclairage, spot et surtout rendu des couleurs ??? [Résolu]

Signaler
Messages postés
10
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2007
-
Messages postés
10
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2007
-
Tout d'abord bonjour a tous... tous ceux qui vont lire ce message bien sur.
Après une petite journée d'apprentissage des lumières, je bloque sur deux petites choses (du moins j'espère). Et comme je rame depuis ce matin, et que je me dis que les forums, ça aide souvent les débutants, surtout que j'arrive plus a lire les lignes sur mon écran

La première:

J'ai dessiné une surface a éclairer (un carré) en utilisant des D3DPT_TRIANGLESTRIPs, j'ai donc utilisé un vertex buffer perso, déclaré comme suit:


struct VERTEX_PERSO {FLOAT x,y,z;
                                             FLOAT nx,ny,nz;
                                             FLOAT tx,ty;};



donc coordonnées vertex, normale et coordonnées texture.




La question que je me pose est celle de la déclaration des normales. Vu que ma surface est plane, j'ai déclaré toutes les normales de la meme façon (le meme vecteur) c'est a dire un vecteur normalisé perpendiculaire a la surface que j'ai mis pour mes trois vertices. Donc, c'est le meme vecteur pour les 3 et je me demandais si c'était bon ?.
Je trouve ça bizarre, car avant j'ai fait un peu d'OpenGL et je ne déclarait qu'une seule normale pour la surface (si je me souviens bien).

La deuxième:

Mon spot fontionne (ou ça en a l'air du moins), mais je trouve le rendu un peu pourri. lol . En fait mon spot a un spéculaire sur 1.0f (a fond) et son reflet sur la texture de la surface ajoute seulement du blanc aux couleurs, ça fait un peu effect brouillard, avec OpenGL, j'avais fait la même chose, mais ça me faisiait un vrai effet lumière, c'est a dire que la lumière ravivait les couleurs mais ne faisait pas juste un halo blanc. Je me demande si il n'y a pas d'options controlant le mélange des couleurs, car ce que je voudrais, c'est que mon spot fasse mieux ressortir les couleurs de la texture la ou il éclaire, et pas juste ajouter ce halo blanc sur la texture sans rien raviver du tout. D'ailleur, meme avec un éclairage faible, le halo de lumière grisâtre prend le dessus par rapport a ma texture, c'est moche quoi !!!

Enfin bref, si quelqu'un a des infos, je les prendrais volontier ...

Malgré tout, bon W-E a tous(toutes... vous etes fille et vous codez, contact meee lol, nan jrigole)








 

5 réponses

Messages postés
10
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2007

Réponse a mes questions: Pixel Shaders....
Bon bein la c'est pas de la tarte, j'essaie de trouver un tuto HLSL de base et bien expliqué, mais c'est pas évident.
En plus, j'ai mis une journée a comprendre qu'il y avait plusieurs langages de Shaders lol.
Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
T'as essayé en réduisant 'specular' et en augmentant 'diffuse' ?
Messages postés
10
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2007

Oui, j'ai essayé pas mal de réglage, en augmentatnt, diminuant specular et diffuse, que ce soit sur le material, ou le spot, toujours le meme résultat, je me demande si il n'y aurait pas une magouille du style multi texturing ou un truc comme ça...
Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
Normalement pas. Essaye de voir un des exemples du SDK qui traite de la lumière.
Messages postés
10
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2007

voila, je me disais que quelques images pourraient aider car je viens de remarquer que si je désactive le specular (D3DRS_SPECULARENABLE) j'obtenais un bon résultat, voici l'image:

Donc, la on a bien un éclairage progressif, sans halo blanc.
Maintenant, l'image, mais avec specular activé:

Je comprend bien que la où est écris CPPFrance.com, ce soit recouvert d'un hallo, j'ai mis a fond le specular, mais la ou la texture est noire, j'aurais aimé que les rayons lumineux soient absorbés, c'est a dire que ça reste noir .

c'est ça mon probleme en fait... mais peut etre que la gestion basique des lumieres ne permet pas ce que je veux non ???