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

Qt Discussion :

Qt 3D : prêt à être utilisé ?


Sujet :

Qt

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    IRIS, ATS, 3IL Rodez
    Inscrit en
    Juin 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : IRIS, ATS, 3IL Rodez

    Informations forums :
    Inscription : Juin 2014
    Messages : 27
    Points : 26
    Points
    26
    Par défaut Qt 3D : prêt à être utilisé ?
    Salut,

    Je travail avec Debian (jessie), QtCreator 3.6.0, et la version de Qt que j'utilise entreprise est actuellement la 5.6. (je suis vite perdu quand il s'agit de maintenir/installer des mises à jours et des paquets sous Unix)
    J'ai pour mission dans les jours à venir de tester un peu Qt3D pour apprendre à m'en servir. et présenter ça a mon service.

    Voici quelque petites questions :

    J'ai commencé par faire quelque recherches et ce que je lis chez Developpez.net m'inquiette un peu :

    https://qt.developpez.com/actu/14130...-au-programme/

    • La version 5.6 est réellement mal adaptée à la 3D ? Incomplète ???


    Dans le doute, j'ais téléchargé et extrait https://download.qt.io/archive/qt/5....-x64-5.9.0.run ainsi que l'exemple proposé à la fin de l'article de dourouc05.

    J'ais ajouté un kit Qt 5.9.0 lié au qmake trouvé dans "Qt5.9.0/5.9/gcc_64/bin/", et ouvert le projet... mais je n'ai pas réussi à le lancer pour rester ça.
    (Le programme lance une fenêtre grise et la console renvoie des tas de messages d'erreurs GLSL 1.40 is not supported).

    • Le contenu de l'archive installée par /qt-opensource-linux-x64-5.9.0.run suffit elle à réaliser des applications 3D avec Qt ?


    Je suis un peu perdu, et je ne peux pas utiliser les exemples Qt intégré à Creator pour m'aider (l'IDE ne les trouve simplement pas, je n'en ai aucun). Difficile aussi de trouver un tuto complet sur version particulière de Qt3D... heureusement que la Doc est bien faite.


    Bon weekend à vous !

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 631
    Points : 30 704
    Points
    30 704
    Par défaut
    Salut,

    Le message te dit que GLSL n'est pas supporté. Le plus vraisemblable, c'est parce que le paquetage qui fournit le support de cette fonctionnalité n'est pas installé sur ta machine.
    la comande glxinfo | grep OpenGL te permettra déjà de confirmer ou d'infirmer ce point, car elle devrait te sortir quelque chose comme
    OpenGL vendor string: Intel Open Source Technology Center # The manufacturer
    OpenGL renderer string: Mesa DRI Intel(R) Haswell Desktop # The type of the chip
    OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.3.2 # The OpenGL version fully supported, here 3.3 thanks to Mesa 10.3.2 .
    OpenGL core profile shading language version string: 3.30 # The GLSL version fully supported
    Si tu n'as pas cette ligne, tu devrais tenter d'installer le paquet manquant. la commande sudo apt-get install mesa-utils devrait faire l'affaire.

    Si, après cela, tu as toujours des problèmes, de GLSL non supporté, ce sera sans doute parce que les versions de GLSL utilisées d'un coté (le tien) et de l'autre (celui qui a créé le fichier .run) ne correspondent pas. Ce serait surprenant sous debian, mais pas impossible : le créateur du fichier .run utilise peut être la versin testing alors que tu utilises peut-être la version stable.

    La solution passerait alors par ... la compilation "a mano" de Qt-5.9. Ce n'est pas excessivement compliqué, mais c'est particulièrement long

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    IRIS, ATS, 3IL Rodez
    Inscrit en
    Juin 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : IRIS, ATS, 3IL Rodez

    Informations forums :
    Inscription : Juin 2014
    Messages : 27
    Points : 26
    Points
    26
    Par défaut
    Malheureusement tout est déjà à jour !

    QOpenGLShader::compile(Vertex): 0:1(10): error: GLSL 1.40 is not supported. Supported versions are: 1.10, 1.20, and 1.00 ES

    Je me renseigne sur cette histoire de compilation, mais je demande encore si Qt5.6 ne suffisait pas pour faire de la 3D

    Merci

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 919
    Points : 220 492
    Points
    220 492
    Billets dans le blog
    127
    Par défaut
    Bonjour,

    Vous pouvez faire de la 3D, même sans Qt3D (avec OpenGL directement). Qt3D apporte tout un tas d'outils (un moteur en réalité) pour faire de la 3D "facilement".
    La version de Qt3D dans Qt 5.6 était encore très balbutiante. Ils l'ont bien amélioré par la suite.

    Maintenant, la question est : quelle carte graphique avez-vous ? Car, il faut vraiment avoir un vieux PC (ou travailler dans une VM) pour ne supporter que 1.20.

  5. #5
    Membre confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2015
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 294
    Points : 558
    Points
    558
    Par défaut
    Bonjour tu peux toujours passer à debian 9 qui contient une version de mesa3d plus recente dans ses packages ou installer donc compiler à la main une version plus recente de mesa3d mais c'est un peu de travail pour l'avoir fait deja plusieurs fois....comme on te le dit tu peux aussi faire du Qt + opengl au lieu de Qt3D.mais il faut que tu te renseignes quelle version d'opengl supporte ta carte graphique et si tu as bien installé les drivers de ta carte sur linux (firmware non free sous debian pour amd)

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    IRIS, ATS, 3IL Rodez
    Inscrit en
    Juin 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : IRIS, ATS, 3IL Rodez

    Informations forums :
    Inscription : Juin 2014
    Messages : 27
    Points : 26
    Points
    26
    Par défaut
    Houla !

    Oui en effet, c'est tellement naturel de mon côté que j'ai oublié de préciser que j'étais sur VMware ! (et une intel HD graphic 4600) Désolé !

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 919
    Points : 220 492
    Points
    220 492
    Billets dans le blog
    127
    Par défaut
    Les capacités graphique d'une machine ne sont pas reflétées à travers la virtualisation dans une machine virtuelle (du moins, pour ce que j'en sais dans VirtualBox). Du coup, je vous conseille soit, de voir si on peut améliorer le support de la 3D dans la machine invitée, soit, travailler directement sur le poste (car même une Intel HD devrait suffire).

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    IRIS, ATS, 3IL Rodez
    Inscrit en
    Juin 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : IRIS, ATS, 3IL Rodez

    Informations forums :
    Inscription : Juin 2014
    Messages : 27
    Points : 26
    Points
    26
    Par défaut
    Nom : Capture.PNG
Affichages : 494
Taille : 7,6 Ko

    J'ai réussi à récupérer les sources des exemples Qt 5.6 et 5.9 pour tester, mais dans les deux cas je me retrouve avec ces ombres noires qui shade toute l'applicationdeveloper@debian8-64-3g:~$ glxinfo | grep -i opengl

    OpenGL vendor string: VMware, Inc.

    OpenGL renderer string: Gallium 0.4 on SVGA3D; build: RELEASE;
    OpenGL version string: 2.1 Mesa 10.3.2
    OpenGL shading language version string: 1.20
    OpenGL extensions:
    OpenGL ES profile version string: OpenGL ES 2.0 Mesa 10.3.2
    OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16

  9. #9
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 919
    Points : 220 492
    Points
    220 492
    Billets dans le blog
    127
    Par défaut
    Et il n'y a pas d'erreur sur les shaders ? Comme ça, les formes sont bonnes, donc toute la partie C++ et vertex shader semblent correctes. Mais comme pas de couleur, c'est le fragment shader qui ne semble pas fonctionner.

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    IRIS, ATS, 3IL Rodez
    Inscrit en
    Juin 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : IRIS, ATS, 3IL Rodez

    Informations forums :
    Inscription : Juin 2014
    Messages : 27
    Points : 26
    Points
    26
    Par défaut
    Hmmmm, au démarrage l'application renvoie :

    Qt3D.Renderer.Backend: bool Qt3DRender::Render::GraphicsContext::beginDrawing(QSurface*, const QColor&) glGetError: 1282

    Puis régulièrement par la suite des erreurs du type :

    Xlib: sequence lost (0x1acf3 > 0xacf4) in reply type 0x23!
    Xlib: sequence lost (0x1af16 > 0xaf18) in reply type 0x23!
    Xlib: sequence lost (0x1d5e9 > 0xd5ea) in reply type 0x23!
    Xlib: sequence lost (0x1dbe1 > 0xdbe2) in reply type 0x23!
    Xlib: sequence lost (0x1e365 > 0xe367) in reply type 0x23!
    Xlib: sequence lost (0x1e7c0 > 0xe7c2) in reply type 0x23!
    Xlib: sequence lost (0x1eae7 > 0xeae9) in reply type 0x23!
    Xlib: sequence lost (0x21743 > 0x11744) in reply type 0x23!
    ... etc

  11. #11
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 919
    Points : 220 492
    Points
    220 492
    Billets dans le blog
    127
    Par défaut
    Je ne serai pas dire d'où ça vient avec un tel log.

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    IRIS, ATS, 3IL Rodez
    Inscrit en
    Juin 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : IRIS, ATS, 3IL Rodez

    Informations forums :
    Inscription : Juin 2014
    Messages : 27
    Points : 26
    Points
    26
    Par défaut
    En tout cas, merci pour votre aide !

    Je regrette de ne pas avoir plus d'informations, mais là je suis un peu perdu...

    Je cherche du côté de la Vm et des shaders, j'essaye de réinstaller la même version sous Windows pour voir si le problème persiste

    Certain composants sont soulignés en rouge dans le Qml, comme RenderPassFilter, qui affiche "prototype cycle, the last non-repeated component is Qt3DRender::QFrameGraphNode".(M303)" quand on le survole,
    ou encore RenderAttachment, FrameGraph, ClearBuffer... qui affichent tous : "Composant Inconnu (M300)"

    Je fait des recherche de ce côté là, je repasse par ici si je trouve quelque chose...

    Merci encore

Discussions similaires

  1. Comment savoir si un applet Java est prêt à être utilisé ?
    Par rambc dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 12/12/2010, 22h27
  2. Réponses: 11
    Dernier message: 06/11/2008, 10h49
  3. Réponses: 6
    Dernier message: 18/03/2008, 16h11
  4. REDEFINES peut-il être utilisé avec un 77 ?
    Par beegees dans le forum Cobol
    Réponses: 2
    Dernier message: 17/01/2008, 10h34
  5. Afficher un email outlook prêt à être envoyé
    Par Décibel dans le forum Access
    Réponses: 4
    Dernier message: 27/01/2006, 21h06

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