Bonjour, je vous expose mon problème :
Je dois, dans le cadre d'un stage en dev 3D, essayer de simuler un flux sur un pipe. Je travail sous OpenSceneGraph, mais la n'est pas forcément le problème, ça reste de l'OpenGL.
On m'a orienté vers les shader, et j'ai donc testé avec un cylindre tout fait de OpenSceneGraph. Ca marche bien, j'utilise les coordonnées de texture de l'objet (qui ont sûrement du être précalculées), avec une variable temporelle, et ça me donne des bandes de couleur qui défilent le long du tube. Jusque la tout va bien.
Ensuite, et c'est la où ça se corse, on me demande de faire la même chose, mais sur des modèles importé, sur lesquelles on à aucune maîtrise, on ne peu pas faire de pré-traitement (ou très peu). Donc l'objet n'a pas forcément de texture, ni de coordonnées de texture, ni de forme bien défini (à part celle d'un tube, mais ça peut aller dans tout les sens ces bêtes la).
Je me suis donc tourné vers le glTexGen(qui est court-circuité par le shader, mais c'est une autre affaire) pour générer des coordonnées de texture, et continuer a utiliser mon déplacement de coordonnées. J'ai fait quelque essai (donc sans le shader avec un texture toute faite), mais soit j'ai quelque problèmes à appréhender la fonction, soit elle n'est tout simplement pas approprié à mon besoin. La texture est plaqué un peu comme elle peut, mais je ne m'attendais pas à des miracles non plus.
Auriez-vous des idées, peut-être en utilisant d'autres techniques pour réaliser cette effet de flux? car la je sèche totalement.
Merci d'avance
Partager