Citation:
Envoyé par
choko83
Merci TanEk.
Ton introduction et bien faite, mais elle donne une idée générale sur VTK. A partir de laquelle on peut pas estimer si elle est bien adaptée pour traiter certain cas, comme par exemple : des modèle B-Rep, CSG....
Elle peut très bien être utilisée pour afficher des modèles B-Rep seulement elle ne le gère pas en natif. Il te faudra donc coder l'importation. J'ai travaillé sur un mailleur libre LGPL codé en Java qui utilise VTK pour la visualisation :
http://jcae.sourceforge.net
Il permet d'ouvrir des CAOs au format BRep de OpenCascade (http://www.opencascade.org/). Ca peut en même temps te donner une idée des perfs de VTK.
Après si j'ai bien compris le B-Rep ce n'est pas qu'un format c'est aussi une structure de donnée, VTK ne la gère pas.
Citation:
En fait je me demande si je pourrai par exemple sélectionné des surfaces, faire des traitments,
VTK est tout à fait adapté pour ça.
Citation:
afficher des sous menus sur ces surface, afficher du texte sur ls surfaces, les relier avec des boites de dialogue, afficher des tableaux sur le modèle...
Pour l'affichage de menus c'est possible dans l'API graphique que tu utilises (win32, Qt, AWT pour Java, etc.) ou alors je n'ai pas trop saisi ta question. VTK ne permet pas faire des GUIs en OpenGL si c'est ta question.
Qu'entends-tu par afficher des tableaux sur le modèle ? VTK permet d'associer à chaque point d'un maillage une valeur et ensuite de faire un rendu en couleur suivant la valeur à chaque point au moyen d'une loukup table.
Ensuite VTK gère très bien les labels, il possède même des classes qui permettent de générer des labels automatiquement. Par exemple si tu as un modèle 3D qui contient des valeurs pour chaque point du maillage (par exemple un modèle 3D où on connaît sachaleur en chaque point), tu peux afficher la valeur de la chaleur par un label qui sera positionné automatiquement à l'endroit où se situe le point. Tu peux afficher les indices des points, etc. N'importe quoi en fait.
Un autre truc qu'a VTK est les widgets, ça permet de manipuler les objets 3D facilement (déplacement, etc.) mais je n'ai pas trop approfondi la chose, je te conseille de voir la doc officielle pour plus d'infos et l'introduction ici :
http://www.vtk.org/Wiki/VTKWidgets
Citation:
Je veux dire, j'ai commencé à programmer avec OpenGL. Est ce que je peux intégrer du code VTK dans le même code OpenGL?
Non, tu dois intégrer ton code dans le pipeline de rendu de VTK (qui est assez compliqué je dois l'avouer, tu peux avoir une doc sur le pipeline de rendu ici : http://www.vtk.org/Wiki/VTK/Painters). Le plus simple étant de surcharger la méthode de rendu de la classe vtkActor.
Citation:
Mais la documentation est payante, il y a pas de la documentation gratuite sur le net comme celle d'OpenGL?
Non : http://www.vtk.org/doc/nightly/html/classes.html tu as la documentation de toutes les classes avec en général un ou plusieurs exemples montrant comment utiliser cette classe. Tu as ensuite des tutoriels d'introduction :
http://www.vtk.org/Wiki/VTK_Online_Tutorials
Après il n'y a pas de "livres" comme le red book d'opengl en ligne....
Citation:
Je compte réaliser un modèle 3D de 50 à 100 bâtiments (dont certains parmi eux sont trés détaillés). Est ce que les performance de calcul peuvent se dégrader en utilisant cette bibliothèque?
Normalement non. Si tu fais 50 à 100 objets ça devrait aller normalement. Par contre si tes bâtiments sont constitués de plusieurs objets 3D alors là.... En pratique il ne faut pas dépasser les 700 objets dans VTK et si tel est le cas les performances sont correctes.