Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1649 connectés 

  FORUM HardWare.fr
  Programmation

  [3D] Système de coordonnées de texture

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[3D] Système de coordonnées de texture

n°143677
Alload
Posté le 24-05-2002 à 07:07:13  profilanswer
 

Pour faire du per pixel lighting, j'ai besoin de pouvoir mettre le vecteur de direction d'une lumière dans le même système de coordonnées que celui des normales contenues dans la texture servant pour le bumb mapping.
 
J'ai lu sur www.direct3d.net qu'il fallait  obtenir pour chaque sommet un triple d'axe U, V et W avec lesquels on pouvait obtenir la transformation amenant le vecteur lumière du système monde au système de la texture de normales.
 
Mais voilà, à part pour l'axe W qui (je pense) est équivalent à la normale de chaque sommet, je ne sais pas comment obtenir les deux axes tangeants U et V. Pourriez-vous m'indiquer comment les obtenir?
 
Merci.

mood
Publicité
Posté le 24-05-2002 à 07:07:13  profilanswer
 

n°143946
Alload
Posté le 24-05-2002 à 14:29:42  profilanswer
 

Personne n'aime l'éclairage par pixel?
 
P.S.: UP déguisé :D

n°143971
youdontcar​e
Posté le 24-05-2002 à 14:46:47  profilanswer
 

personne n'a de geforce3 :D
 
mais tu devrais trouver ton bonheur sur le site de nvidia ...

n°144273
Alload
Posté le 24-05-2002 à 19:20:30  profilanswer
 

youdontcare a écrit a écrit :

personne n'a de geforce3 :D
 
mais tu devrais trouver ton bonheur sur le site de nvidia ...  



J'ai trouvé de la doc sur le site de nVidia, c'est quand même une mine de renseignement leur site!
 
Alors voilà, pour créer la matrice monde->système de la texture, ils disent de résoudre 3 équations de plan du type:
 
Ax + Bs + Ct + D = 0
Ay + Bs + Ct + D = 0
Az + Bs + Ct + D = 0
 
où x, y et z représentent les coordonnées des vertex, et s et t les coordonnées de texture du bump mapping (comme u et v donc).
 
Ils disent qu'il faut sortir de ces équations 6 dérivées:
 
dsdx
dsdy
dsdz
 
dtdx
dtdy
dtdz
 
Alors j'ai pris un papier et un crayon et j'ai pu les résoudre si on admet à chaque fois que ds ou dt est nul dans chaque équation (j'ai lu ça sur un www.direct3d.net, mais je comprends pas pourquoi on pose ça, si quelqu'un pouvait m'expliquer), mais voilà ce que je trouve:
 
dsdx = - A / B
dsdy = - A / B
dsdz = - A / B
 
dtdx = - A / C
dtdy = - A / C
dtdz = - A / C
 
Mais est-ce juste? :D

n°144282
Dj YeLL
$question = $to_be || !$to_be;
Posté le 24-05-2002 à 19:36:23  profilanswer
 

http://digischool.bart.nl/du/lexikon/afb/aspirin.jpg
 
 
 
 
 :D


---------------
Gamertag: CoteBlack YeLL
n°144363
Alload
Posté le 24-05-2002 à 21:43:02  profilanswer
 

Il y a pas de programmeur bon en math pour m'expliquer un peu et vérifier mes résultats?

n°144446
bjone
Insert booze to continue
Posté le 25-05-2002 à 00:47:01  profilanswer
 

là désolé j'ai pas joué avec ça encore....
même si j'y compte bien...
 
sinon tu les as trouvé les sous-titres pour fast & furious :D ;)

n°144451
bjone
Insert booze to continue
Posté le 25-05-2002 à 01:09:58  profilanswer
 
n°144477
Alload
Posté le 25-05-2002 à 08:27:55  profilanswer
 

Merci pour le lien bjone, je vais aller lire ça.
 
Ben piur Fast and Furious, nan j'ai pas trouvé les sous-titres alors j'ai regardé le film en français :D Bien que les voix soient pas terrible...

n°144543
chrisbk
-
Posté le 25-05-2002 à 13:07:15  profilanswer
 

Alload a écrit a écrit :

Merci pour le lien bjone, je vais aller lire ça.
 
Ben piur Fast and Furious, nan j'ai pas trouvé les sous-titres alors j'ai regardé le film en français :D Bien que les voix soient pas terrible...



 
pas pb, le film est a chier, alors ca passe tres bien :D

mood
Publicité
Posté le 25-05-2002 à 13:07:15  profilanswer
 

n°144626
bjone
Insert booze to continue
Posté le 25-05-2002 à 16:50:12  profilanswer
 

chrisbk a écrit a écrit :

 
 
pas pb, le film est a chier, alors ca passe tres bien :D  




 
:lol:
 
moa j'ai regardé les 5 premières minutes en divx....
j'ai fait "oki ça me fera de la plaçe..."
:D

n°144632
Alload
Posté le 25-05-2002 à 17:06:55  profilanswer
 

Bon, j'ai pigé comment ça marchait grâce à un programme de nVidia dont j'ai regardé le code source.
 
Mais pour le moment je suis pas chez moi, alors j'expliquerais demain soir.
 
Stay tunned :D En attendant vous avez qu'à regarder Fast And Furious, ça vous changera :D

n°145033
Alload
Posté le 26-05-2002 à 18:45:18  profilanswer
 

Bon alors voilà ce que j'ai compris.
 
On sait que le vecteur S^T pour un sommet est le même vecteur que celui de la normale à ce sommet.
 
Donc si on pose: S^T (A, B, C)
 
On peut en déduire une équation de plan du type: Ax + By + Cz + D = 0.
 
Ensuite, on peut remplacer ces coordonnées par:
 
_ x, s, t -> Ax + Bs + Ct + D = 0
_ y, s, t -> Ay + Bs + Ct + D = 0
_ z, s, t -> Az + Bs + Ct + D = 0
 
Là j'ai pas compris pourquoi mais bon, on admet que c'est bon :D
 
Ensuite en posant par exemple:
Ax0 + Bs0 + Ct0 + D = Ax1 + Bs1 + Ct1 + D
 
et ce pour les trois types d'équations, on peut trouver la valeur de dsdx, dsdy, dsdz, dtdx, dtdy, dtdz.
 
Et comme la matrice pour transformer le vecteur lumière en vecteur lumière dans le repère de texture est:
 
dsdx  dsdx  S^T.x
dsdy  dsdy  S^T.y
dsdz  dsdz  S^T.z
 
Ben le problème est résolu.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [3D] Système de coordonnées de texture

 

Sujets relatifs
[java] recuperer la date systeme !!![c] Prog système sous LINUX !
[ prog systeme Unix inside !] help !! mémoire partagée, je galère ![PHP] système de whois
[ PHP ] Pb avec système de news :/[C] Comment ca marche un systeme de listes et pointeurs?
[JAVA] comment recuperer le navigateur par defaut du systeme ???info systeme sous dos
[C] Systeme de listes et pointeurs[C++] Utiliser une police externe non système
Plus de sujets relatifs à : [3D] Système de coordonnées de texture


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR