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

 


Dernière réponse
Sujet : [3D] Système de coordonnées de texture
Alload 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.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Alload 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.
Alload 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
bjone

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

chrisbk

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

Alload 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...
bjone http://msdn.microsoft.com/library/ [...] 192001.asp
bjone 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 ;)
Alload Il y a pas de programmeur bon en math pour m'expliquer un peu et vérifier mes résultats?
Dj YeLL http://digischool.bart.nl/du/lexikon/afb/aspirin.jpg  
 
 
 
 
 :D
Alload

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

youdontcare personne n'a de geforce3 :D
 
mais tu devrais trouver ton bonheur sur le site de nvidia ...
Alload Personne n'aime l'éclairage par pixel?
 
P.S.: UP déguisé :D
Alload 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.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)