[OpenGL / GLUT] Appliquer une texture à une sphère

Appliquer une texture à une sphère [OpenGL / GLUT] - C++ - Programmation

Marsh Posté le 14-12-2003 à 20:28:17    

Salut,
 
Voilà, j'essaie de faire un prog assez simple en opengl, qui dessine des sphères avec les fonctions glu/glut, et j'aimerais appliquer une texture sur un de ces sphères.
Le problème étant que pour une sphère, je vois pas comment utiliser les fonctions glTexCoord2d qu'on utilise pour des surfaces planes...
 
Quelqu'un pourrait me donner un bout de code décrivant ce genre de truc svp ? ou au moins me donner la/les méthodes à utiliser svp ?
 
Merci d'avance :jap:

Reply

Marsh Posté le 14-12-2003 à 20:28:17   

Reply

Marsh Posté le 14-12-2003 à 21:30:00    

Reply

Marsh Posté le 14-12-2003 à 22:07:55    

oui mais toujours la mm chose, on parle d'appliquer une texture sur un polygone, donc des faces plates...
mais sur une sphère, on ne peut pas donner de points délimitant les coins de placage de la texture (ou alors en faisant une sphère très très moche)...
 
mais merci, le tutorial est très bien par contre :)

Reply

Marsh Posté le 15-12-2003 à 10:27:39    

p'tit up du matin :)

Reply

Marsh Posté le 15-12-2003 à 12:44:48    

et ta sphère, elle est pas construite à partir de polygones ?

Reply

Marsh Posté le 15-12-2003 à 12:51:41    

Ben en utilisant les méthodes gluSphere ou glutWireSphere (ou glutSolidSphere), on a aucun accès aux polygones qui la composent.  
 
Y'a pas de méthodes qui permettent d'appliquer une texture sur ce type de sphère ?? Faut vraiment se les taper à la main ? ça me semble bizarre...

Reply

Marsh Posté le 15-12-2003 à 13:03:41    

bah je sais pas trop :D
 
sinon si il te génère les normales, tu dois pouvoir faire générer les coordonnées de texture au vol pour une environnement map ou une cubemap ;)
 
sinon tu la refais la routine pour générer la liste de vertexs/triangles, ça te fera un bon exercice...

Reply

Marsh Posté le 16-12-2003 à 10:27:44    

projection planaire, coordonnées de textures dépendant de X (-1..1) et Z (-1..1). Ne permet de mapper correctement qu'un seul coté de la sphère.
 
projection conique, coordonnées de textures dépendant linéairement de Théta (0..2*pi) et de Z (-1,1). Parfait à l'équateur mais forte déformation aux poles.
 
projection spherique, coordonnées de textures dépendant linéairement de Theta (0..2*pi) et Phi (-Pi/2, Pi/2), les deux coordonnées sphériques. Conserve un peu plus de précision aux poles mais conserve deux points singulier.
 
texture volumétrique, coordonnées de textures dépendant linéairement de X, Y, Z (-1..1 chacune). Grosses textures en perspective, du coup ça marche mieux si c'est procédural (non stocké en dur mais calculé à la volée)
 
Coordonnées cubiques (cube map), projection d'un cube sur la sphère selon le rayon. Nécéssite six plans au lieu d'un seul.
 
LeGreg

Reply

Marsh Posté le 16-12-2003 à 12:33:34    

utilise la fonction glTexGeni qui genere des coordonnées de textures
si tu veu ya un tuto sur nehe sur le sphere mapping
http://nehe.gamedev.net/data/lesso [...] ?lesson=23
 
ca devrai etre un reflexe d'aller voir sur nehe pour ce genre de probleme

Reply

Marsh Posté le 16-12-2003 à 12:53:37    

Merci bcp je v voir ça :)
 
et oui, honte sur moi, ça fait un bail que j'ai pas été voir sur nehe :(

Reply

Marsh Posté le 16-12-2003 à 12:53:37   

Reply

Marsh Posté le 16-12-2003 à 13:09:37    

c'etait juste pour dir que si tu avait ete sur nehe au lieu de poster ce topic t'aurai gagner du temps  :jap:

Reply

Sujets relatifs:

Leave a Replay

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