IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

Question à propos de VTK


Sujet :

OpenGL

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut Question à propos de VTK
    Je fais une application 3D en utilisant OpenGL et JOGL (Java). J'aimerai savoir:
    1) Les possiblités que peut offrir la bibliothèque VTK en terme d'intéraction visuelle (picking, sélection, éffets avancés...).
    2) Est ce que je peux l'utiliser avec le même code utilisant openGL ou je dois reprogrammer tout?
    3) Est ce qu'il y a des sources de documentation de VTK?
    4) Qu'elle la meilleure bibliothèque : VTK, OpenSceneGraph ou autre?
    Merci.

  2. #2
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Merci raptor70 , mais j'ai déjà lu cette introduction sur VTK, je cherche plutôt les spécifications techniques de VTK.

  4. #4
    Membre émérite

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Par défaut
    Et bien il me semble qu'il y a tout ce qu'il te faut dans mon introduction ou alors je me suis peut-être mal exprimé ?

    1) Les possiblités que peut offrir la bibliothèque VTK en terme d'intéraction visuelle (picking, sélection, éffets avancés...).
    Ce n'est pas explicite dans mon article ? Que te manque-t-il ?

    2) Est ce que je peux l'utiliser avec le même code utilisant openGL ou je dois reprogrammer tout?
    Je ne comprends pas trop ta question, que veux-tu faire ?

    3) Est ce qu'il y a des sources de documentation de VTK?
    Il y a une documentation de l'API de VTK sur le site officiel.

    4) Qu'elle la meilleure bibliothèque : VTK, OpenSceneGraph ou autre?
    Merci.
    J'en parle un peu dans mon article des avantages et inconvénients, que voudrais-tu savoir d'autre ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Merci TanEk.
    Citation Envoyé par TanEk Voir le message
    Et bien il me semble qu'il y a tout ce qu'il te faut dans mon introduction ou alors je me suis peut-être mal exprimé ?
    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....

    Citation Envoyé par TanEk Voir le message
    Ce n'est pas explicite dans mon article ? Que te manque-t-il ?
    En fait je me demande si je pourrai par exemple sélectionné des surfaces, faire des traitments, 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...
    Citation Envoyé par TanEk Voir le message
    Je ne comprends pas trop ta question, que veux-tu faire ?
    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?
    Citation Envoyé par TanEk Voir le message
    Il y a une documentation de l'API de VTK sur le site officiel.
    Mais la documentation est payante, il y a pas de la documentation gratuite sur le net comme celle d'OpenGL?
    Citation Envoyé par TanEk Voir le message
    J'en parle un peu dans mon article des avantages et inconvénients, que voudrais-tu savoir d'autre ?
    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?

    Merci beaucoup.

  6. #6
    Membre émérite

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Par défaut
    Citation Envoyé par choko83 Voir le message
    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.

    En fait je me demande si je pourrai par exemple sélectionné des surfaces, faire des traitments,
    VTK est tout à fait adapté pour ça.

    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

    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.

    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....

    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.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Merci TanEk pour ta réponse détaillée.
    VTK s'avère être performante pour mon cas. Mais, est ce qu'il y a d'autres bibliothèques plus simples à utiliser en fournissant les mêmes fonctionnalités (genre OpenScèneGraph...)?

  8. #8
    Membre émérite

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Par défaut
    Cela dépendra de ce que tu recherches vraiment. Au niveau rendu y'a plus simple et plus rapide (bien que personnellement je n'ai utilisé que VTK). Au niveau interaction et manipulation de données, VTK est la plus avancée (sélection et traitement sur le maillage par exemple décimation, etc.).

    Ensuite tu auras toujours un pipeline de rendu auquel tu devras insérer du code OpenGL si tu veux optimiser un peu plus le rendu (en héritant de la classe représentant un objet 3D comme pour VTK).

    Enfin VTK dispose d'une grosse communauté derrière (la mailing list est très active donc si tu bloques un jour sur un problème d'implémentation ils seront là pour t'aider) et d'une entreprise très active donc a un avenir assuré contrairement aux autres bibliothèques qui sont plus basées sur une communauté.

    Que comptes-tu faire exactement comme logiciel ? Tu comptes modéliser 50 à 100 bâtiments détaillés mais :
    • est-ce que tu comptes développer un logiciel qui te permettra de les modéliser
    • est-ce que tu comptes faire un logiciel qui visualise ces bâtiments et qui permette de faire du post-processing (rajouter des infos, annoter, etc. pas modeler ou alors de façon très limité)
    • autre ?

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Citation Envoyé par TanEk Voir le message
    • est-ce que tu comptes développer un logiciel qui te permettra de les modéliser
    • est-ce que tu comptes faire un logiciel qui visualise ces bâtiments et qui permette de faire du post-processing (rajouter des infos, annoter, etc. pas modeler ou alors de façon très limité)
    • autre ?
    En fait, je vais développer une application sur le net (Applet Java) permettant la gestion et la manipulation des bâtiments en 3D dont les informations géométriques et sémantiques sont enregistrées dans une base de données. Aprés, l'utilisateur doit pouvoir intéragir avec les objets 3D, les modifer, interroger la base de données, avoir des résultats graphiques et/ou alphanumériques...

  10. #10
    Membre émérite

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Par défaut
    VTK est un bon choix alors.

    Attention : je ne suis pas expert en dev applet java mais il me semble que l'utilisateur devra avoir installé VTK sur sa machine... ce qui enlève un peu l'intérêt de l'applet Java. Sinon il faudra lui installer et VTK fait environ 60 Mo compilé il me semble (je dis peut-être une grosse ânerie), enfin c'est du lourd quoi... Donc ceci risque de te poser problème. Donc je te conseille de voir de suite ce point là avant de commencer un dev.

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Citation Envoyé par TanEk Voir le message
    Attention : je ne suis pas expert en dev applet java mais il me semble que l'utilisateur devra avoir installé VTK sur sa machine... ce qui enlève un peu l'intérêt de l'applet Java. Sinon il faudra lui installer et VTK fait environ 60 Mo compilé il me semble (je dis peut-être une grosse ânerie), enfin c'est du lourd quoi... Donc ceci risque de te poser problème. Donc je te conseille de voir de suite ce point là avant de commencer un dev.
    En cas où il faut installer VTK sur la machine l'utilisateur, qu'est ce que je dois faire pour diffuser mon application (utilisant OpenGl et VTK) pour qu'elle soit exploitable via Internet? Je veux dire, y a t-il d'autre alternatives?

    De plus, comment insérer du code VTK dans le code OpenGL ? (J'ai des modèles 3D modélisés par OpenGL, comment je peux les manipuler par VTK?).

  12. #12
    Membre émérite

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Par défaut
    Citation Envoyé par choko83 Voir le message
    En cas où il faut installer VTK sur la machine l'utilisateur, qu'est ce que je dois faire pour diffuser mon application (utilisant OpenGl et VTK) pour qu'elle soit exploitable via Internet? Je veux dire, y a t-il d'autre alternatives?
    Je ne suis pas un spécialiste là-dessus. Il faut que tu te renseignes sur le principe Java Web Start : http://fr.wikipedia.org/wiki/Java_Web_Start. Pose des questions sur le forum Java si jamais.

    De plus, comment insérer du code VTK dans le code OpenGL ? (J'ai des modèles 3D modélisés par OpenGL, comment je peux les manipuler par VTK?).
    Ce que tu dis n'a pas vraiment de sens et montre ton incompréhension sur les données que tu manipules. D'abord demande-toi ce que représentent ces modèles 3D que tu as. Parce que OpenGL ne modélise pas des modèles 3D il ne fait que les afficher. Je ne sais pas dans quel cadre se porte ton travail mais demande des renseignements à ton boulot/école/autre sur le type de ces données.

    Une fois que tu auras compris comment est fait ton modèle, il te suffira de l'envoyer à un vtkPolyData (qui pour résumé reçoit un tableau de point qui définit la géométrie de ton modèle et un tableau d'indice qui définit la topologie, je te laisse le soin de chercher sur le net ce que veulent dire tous ces termes).

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Citation Envoyé par TanEk Voir le message
    Je ne sais pas dans quel cadre se porte ton travail mais demande des renseignements à ton boulot/école/autre sur le type de ces données.
    Les données que j'ai sont des données numériques correspondant aux coordonnées des points sommets des surfaces composant les solides. Voilà.

  14. #14
    Membre émérite

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Par défaut
    Dans ce cas il ne te reste plus qu'à lire l'API de VTK pour voir comment envoyer ces données dans un vtkPolyData :

    http://www.vtk.org/doc/nightly/html/...kPolyData.html

    Tu as un exemple d'utilisation assez explicite dans la liste :

    http://public.kitware.com/cgi-bin/vi...ype=text/plain

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Merci TanEk pour tes réponses trés intéressantes

Discussions similaires

  1. Question à propos des compilateurs
    Par elf dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 20/07/2005, 17h00
  2. Question à propos des niveaux de transaction
    Par davy.g dans le forum Oracle
    Réponses: 3
    Dernier message: 18/01/2005, 15h31
  3. Petite question à propos du redbook...
    Par Michaël dans le forum OpenGL
    Réponses: 3
    Dernier message: 04/11/2004, 12h54
  4. Petite question à propos d'une requete
    Par ViBy dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/09/2004, 12h21
  5. Une question à propos des thread
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2003, 14h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo