Salut, c'est possible de faire du morphing avec OpenGl ? ou avec une autre librairie ? du genre un thore (en mouvement) se transforme en carré... voilà si vous avez des infos je suis preneur...
[Silk]
Salut, c'est possible de faire du morphing avec OpenGl ? ou avec une autre librairie ? du genre un thore (en mouvement) se transforme en carré... voilà si vous avez des infos je suis preneur...
[Silk]
aucun rapport avec OpenGL... mais bien sur que c'est possible
i te suffit d'ppliquer le bon algorithme à l'ensemble des veteurs décrivant ta surface pour que celes çi se modifient...
Après qu'elles soit affichée par OpenGL, Direct3D ou un renderer homemade, le résultat sera le même...
l'exemple le plus simple mais surement pas le plus joli serait de réaliser une interpolation linéaire entre tes deux vecteurs :
tu as un vecteur i et un vecteur f, à chaque frame tu calcul un vecteur temp += i + (f - i) * dt, ou dt est minuscule (temps écoulé entre deux frames, par exemple)...
ainsi, tu pars bien d'un ensemble de vecteurs décrivant un tore (par exemple) à un ensemble de vecteurs décrivants un cube (par exemple)
attention cela dit, le résultat risque d'être plutot moche !
je te laisse approfondir les recherches avec google pour connaitre d'autres techniques à vrai dire, je n'y connais rien dans ce domaine
mais bon, pour répondre à ta question, avec opengl, c'est faisable !
ok merci pour ces explicationsmais bon sa a l'air compliqué surtout si jutilise Glut pour créer mon tore comment je vais pouvoir faire pour manipuler les vecteurs ???
![]()
Sinon je vais essayer de me renseigner
[Silk]
si tu me donnes la taille du grand rayon, celle du petit rayon, le diamètre du tore ainsi que le nombre de vertice que tu veux qu'il ait, je te le fais sous gmax et j'importe la liste des vertice dans un tableau... à toi de le récupérer avec un glInterleavedArray, par exemple...
c'est tout ce qu eje peux faire pour toi si tu veux !
et aussi te déconseiller de bosser avec les primitives GLUT, c'est bien pour les essais, mais quand tu veux faire un programme sérieu, mieux vaut tout dessiner à la main...
Re
Envoyé par Antickriszt
![]()
ola y va falloir que je bosse dur alor parce que moi en math les vecteurs simples sa va mais dès qu'il yen a un peu trop je suis perdu...
(et soit dit en passant toute la partie vecteur d'OpenGl, que je suppose quand meme assez importante, reste très obscure pour moi)
pour l'instant je veux juste tester ce que peut donner un morphing pour après l'utiliser sur des objets plus complexes... mais pour info mon thore c'est :
le nombres de slices ou de vertices(je voi pas trop ce que c'est) ce n'est pas vraiment important si sa varie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 GlutSolidTorus(1.0,2.0,30,30);
@++
[Silk]
attention avec l'interpolation lineaire, il faut que la forme de depart contienne le même nombre de vertex que la forme d'arrivée (on peut en mettre plusieurs au même endroit pour donner cette impression...), sinon comment detecter a quel moment un vertex (et donc potentiellement plusieurs faces) doivent disparaitre ?
* Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
* pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
Mes articles
Sa voudrait donc dire que certains morphings ne sont pas possible avec l'interpolation linéaire ?![]()
On fait comment dans ce cas là alors ?
(Sa y va sur ce topic ojourd'hui)
[Silk]
si c'est possible, mais il faut utiliser des "truc" pour que ca marche.
en gros si ti a un tore de 300 vertex, il faudra regrouper tes vertex en 8 points pour former un carré (ou alors former des grilles sur les coté du carré (tesselation)) afin que le carré utilise bien les 300 vertex...
* Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
* pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
Mes articles
Partager