Système de coordonnées de texture [3D] - Programmation
Marsh Posté le 24-05-2002 à 14:46:47
personne n'a de geforce3
mais tu devrais trouver ton bonheur sur le site de nvidia ...
Marsh Posté le 24-05-2002 à 19:20:30
youdontcare a écrit a écrit : personne n'a de geforce3 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?
Marsh Posté le 24-05-2002 à 21:43:02
Il y a pas de programmeur bon en math pour m'expliquer un peu et vérifier mes résultats?
Marsh Posté le 25-05-2002 à 00:47:01
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
Marsh Posté le 25-05-2002 à 08:27:55
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 Bien que les voix soient pas terrible...
Marsh Posté le 25-05-2002 à 13:07:15
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 Bien que les voix soient pas terrible... |
pas pb, le film est a chier, alors ca passe tres bien
Marsh Posté le 25-05-2002 à 16:50:12
chrisbk a écrit a écrit : pas pb, le film est a chier, alors ca passe tres bien |
moa j'ai regardé les 5 premières minutes en divx....
j'ai fait "oki ça me fera de la plaçe..."
Marsh Posté le 25-05-2002 à 17:06:55
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 En attendant vous avez qu'à regarder Fast And Furious, ça vous changera
Marsh Posté le 26-05-2002 à 18:45:18
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
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.
Marsh Posté le 24-05-2002 à 07:07:13
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.