[3D] Une question sur les cube maps

Une question sur les cube maps [3D] - Programmation

Marsh Posté le 10-07-2002 à 10:11:28    

Comment le cube maps récupère un texel à partir des coordonnées que l'on transmet?
 
Disons qu'on veut accèder au texel correspondant à (x; y; z), va-t-il tracer une droite de vecteur directeur (x; y; z) à partir du centre du cube (0.5; 0.5; 0.5) et trouver le texel correspondant lorsque la droite rencontre le cube?
 
Si c'est autre chose, alors j'ai aucune idée.
:)
 
Merci.

Reply

Marsh Posté le 10-07-2002 à 10:11:28   

Reply

Marsh Posté le 10-07-2002 à 12:57:05    

chaque texel represente ce que l'on peut voir
dans la direction du point correspondant sur le cube.
 
C'est a dire que chaque face du cube est une projection
dans chaque direction principale (haut, bas, gauche, droite, avant, arriere).
 
LeGreg

Reply

Marsh Posté le 10-07-2002 à 12:57:38    

un peu comme une skybox, si tu as déjà codé ca..
 
LeGreg

Reply

Marsh Posté le 11-07-2002 à 09:46:59    

Oui je sais. En fait ce que je voulais savoir, c'est lorsqu'on l'utilise par exemple pour faire des réflections sur un objet, on dispose d'un vecteur de reflexion, comment est utilisé ce vecteur pour obtenir le texel du cube map?

Reply

Marsh Posté le 11-07-2002 à 11:39:10    

ben qu'est-ce que tu veux savoir exactement??
 
imagine que tu aies ton point de vue
centré à l'origine du cube et tu as un vecteur direction (x,y,z).
Ce vecteur designe un point, dont tu vas chercher la projection
sur le cube.
 
La premiere tache c'est de trouver la face du cube  
qui correspond a ton point projete, en fait tu le determines en cherchant la plus grande (en valeur absolue) des coordonnées x, y ou z (ce qui va te donner la direction principale).
 
Ensuite, tu effectues la projection sur la face correspondante,  
ca consiste a amener la plus grande des coordonnées a 1 donc si c'est x:
les coordonnées sur la face du cube sont 1, u=y/x et v=z/x.
ce qui te donne deux coordonnées des texels correspondants entre [-1,1].
 
LeGreg

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed