Shader "Normal Map"

Généralités sur la programmation 3D
kelebrindae
Messages : 579
Inscription : ven. 11/mai/2007 15:21

Shader "Normal Map"

Message par kelebrindae »

Bonjour,

Toujours dans mon odyssée à la découverte des Shaders, j'ai tenté d'adapter un shader créé par Evolved (pour DarkBasic) afin de gérer des Normal Maps.

J'ai encore un peu galéré, notamment pour référencer des "texture_units" définies dans le Material depuis le PixelShader, mais ça c'est bon, ça affiche quelque chose d'assez proche de ce que ça devrait afficher.

Seul souci: l'effet de "relief" généré par le shader semble être inversé => il apparait quand la lumière est derrière l'objet, et disparaît quand la lumière est devant. :(

Voici une archive avec le code, le shader et le material:
http://keleb.free.fr/pb/normalMap_shader.zip

Je n'ai fait quasiment aucune modif' dans le shader: j'ai juste interverti les paramètres des instructions "mul" quand on multipliait une matrice par un vecteur (recommandation trouvée dans la doc d'Ogre"), et ajouté le calcul de la binormale des vertex, qui n'est pas prise en charge dans le mesh au format Ogre:

Code : Tout sélectionner

 	float3 binormal = cross(IN.Tangent, IN.Normal);
ça viendrait de là ? Ou alors des paramètres que je passe depuis le Material? :?
(je peux fournir le code du shader d'origine, si vous voulez comparer).

Merci d'avance si vous pouvez me donner une piste!
Les idées sont le souvenir de choses qui ne se sont pas encore produites.
eddy
Messages : 67
Inscription : mer. 09/avr./2008 2:08

Re: Shader "Normal Map"

Message par eddy »

J'ai trouvé un exemple de NormalMap qui fonctionne avec les shaders.
http://www.purebasic.fr/english/viewtop ... ial+shader

Ca m'a permis de comprendre comment fonctionne les matériaux du moteur 3D.

Pendant mes tests, j'ai constate 2 points vraiment limitant dans PB:
- on ne peut pas créer de mesh basic (sphère, cube, tore...)
- on ne peut pas appliquer les matériaux créés par script sur des "Entity" nouvellement créés.
C'est chiant, on peut pas s'amuser à faire des tests 3D. Pourtant il y a tellement de possibilités. :twisted:
kelebrindae
Messages : 579
Inscription : ven. 11/mai/2007 15:21

Re: Shader "Normal Map"

Message par kelebrindae »

Super Eddy, je vais jeter un oeil à tout ça. :)

Ceci dit, ça ne me dit pas pourquoi mon shader à moi ne marche pas...
Je vais continuer à chercher, parce que je suis tombé sur le même problème en tentant d'utiliser un shader "refraction", et si j'arrive à comprendre exactement pourquoi, ça m'aidera pour les prochains... :?
Les idées sont le souvenir de choses qui ne se sont pas encore produites.
kelebrindae
Messages : 579
Inscription : ven. 11/mai/2007 15:21

Re: Shader "Normal Map"

Message par kelebrindae »

Bon, ça a l'air de marcher 8) :
Image

Le dessus des cubes m'a l'air encore un peu plat; je ne suis pas sûr que ce soit normal... :?

Code, shader, material, textures, ici:
http://keleb.free.fr/pb/normalMap_shader.zip

A+
Les idées sont le souvenir de choses qui ne se sont pas encore produites.
Répondre