Bonjour,
J'ai une question concernant les coordonnées de textures. Je le fais en of mais c'est une question de 3D générale.
J'ajoute des vertices dans l'espace, puis je fais un tableau d'index, pour dire "comment tu dois dessiner" et pour pas multiplier mes points car ils sont utilisés plusieurs fois.
Le blem c'est que pour placer les textures c'est en fonction des points et pas des index; du coup je ne peux pas avoir des coordonées de texture différentes pour le même point.
La question est : est ce possible de définir les coordonées de texture en fonction des Index et pas des points ?
Si non, ça veut dire que je multiplie tous mes points ?
merci de m'avoir lu.
Hors ligne
Salut,
ouais alors je sais pas si ça peut t'aider mais par exemple le modèle de fichier .obj est foutu de la sorte :
1ère partie : liste des points
2ème partie : liste des faces
la liste des faces reprends donc l'index des points, en les associant par 3 (pour faire une face)
tu pourrais faire pareil : au lieu d'associer les cordonnées de texture directement aux points.uvcoords[] les affecter plutôt aux faces.points.uvcoords[]
Hors ligne
Hors ligne
Ouai ok dans ton exemple effectivement il y a plus de coordonnées de texture que de points, donc il doit y avoir moyen quelque part de dire à mon vbo "voila les coordonnées de texture, n'utilise pas celles de tes points".
Je dois sûrement utiliser la mauvaise des deux méthodes "setTextCoords" de http://www.openframeworks.cc/documentat … ofVbo.html La deuxième semble faire ce que tu décris.
J'essaie ce soir, et tiens au courant. merci.
Dernière modification par Turboconnard (2012-11-26 16:29:34)
Hors ligne
Non mais après une nuit de sommeil je me rends compte que je disais des grosses conneries...
Un point dans l'espace aura forcément toujours la même coordonnée de texture... peu importe le nombre de fois qu'il sera utilisé.
Hors ligne
Turboconnard a écrit:
Ouai ok dans ton exemple effectivement il y a plus de coordonnées de texture que de points, donc il doit y avoir moyen quelque part de dire à mon vbo "voila les coordonnées de texture, n'utilise pas celles de tes points".
oui, c'est pas qu'il y a plus de coordonnées de textures, c'est juste que les mêmes sont utilisées plusieurs fois...
ce que je voulais dire c'est : à partir de ton tableau d'index de points tu crées un autre tableau d'index des faces, qui sera constitué des vertex de tes faces avec leurs UVCoords et tu te sert de ça pour mapper tes faces, ça devrait le faire non ?...
Comment tu construis tes objets 3D avec OF, comment tu mappes tes textures ? T'as un bout de code à montrer ?
Hors ligne
ben la, j'ai réussi à obtenir ce que je voulais.
ya deux jours ça ressemblait à ça : un gros ver : https://vimeo.com/54246055
Le nombre de segments de son corps et le nombre de points pour le périmètre sont dynamiques et ça marche très bien. J'utilise effectivement un tableau d'index pour éviter de définir les points de connexion de chaque cylindre en double.
Par contre, quand j'ai voulu texturer je me suis dit que j'allais avoir besoin de définir les coordonnées de texture en fonction des index et pas des points mais c'était faux. Enfin, pas tout à fait car le problème s'est posé au moment de la re-fermeture du cylindre : (la texture dernier point / premier point ne marchait pas car la coordonnée du premier point est bien (0,y) et pas (1,y)).
Du coup j'ai juste rajouté 2 points supplémentaires par cylindre pour le fermer correctement et pour pouvoir définir une coordonnée (1,0)
Dernière modification par Turboconnard (2012-11-28 09:44:19)
Hors ligne
Bon, j'en ai chié avec la lumière mais ça commence à ressembler à quelque chose,
ou du moins à quelque chose que me plait,
je mettrai les sources quelque part, ça peut servir à quelqu'un...
Hors ligne
Cool que ça marche
C'est du OF only ou tu utilises d'autres libs ?
(perso je suis en train de me battre avec blender pour faire de jolis modèles qui me plaisent, et surtout pouvoir les exporter et texturer proprement dans Pd/Gem, et blender autant c'est pas facile, autant c'est vraiment puissant ! La je viens enfin de comprendre comment on peut déterminer avec précision comment sa texture est 'dépliée'... Ouf)
Hors ligne
Pages: 1