9
votes

Utiliser QT avec DirectX?

Quelles sont exactement mes options? J'ai des programmes que j'ai besoin d'écrire dans OpenGL et DirectX , et j'aimerais utiliser QT pour OpenGL, et ne doit pas réapprouiller la moitié de mon programme pour les composants DirectX de ma tâche.

J'ai regardé sur Google et j'ai trouvé des références à des personnes se plaindre de Direct3D étant un Dépendance de QT, et les gens parlent de la mise en œuvre de QWidget QWidget QW3DWidget Sous-Classing de la même manière à Qglwidget, mais personne n'a parlé de la manière de le mettre en œuvre ou de l'emplacement des exemples.

J'ai besoin d'aide. Je veux savoir si c'est possible? Que devrais-je faire pour le faire fonctionner? A-t-il été fait avant?


1 commentaires

Je sais que c'est vraiment vieux post, mais quand je voulais faire cela, j'ai cherché juste comme vous et n'a pas trouvé beaucoup d'informations. J'ai donc créé ce projet pour prendre en charge Direct3D tout en utilisant QT: github.com/giladreich/qtdirect3d espère que cela va Aidez tous ceux qui vont chercher la même chose à l'avenir.


3 Réponses :


1
votes

Pour toute sa valeur, Voici comment obtenir la sortie d'Ogre3D à une fenêtre Qt 4.5 . Fondamentalement, vous attrapez une surface de rendu et vous l'utilisez pour rendre la sortie. Ceci est un "QT dans l'approche d'application D3D / OpenGL".

Voici des exemples OpenGL avec Qt 4.5 Utilisation de OpenGL Fenêtre .

Si je comprends bien, le support Direct3D est expérimental et est Utilisé uniquement pour la peinture de Windows .


0 commentaires

2
votes

Liste des modifications:

QT 4.6 introduit de nombreuses nouvelles fonctionnalités et améliorations ainsi que des bugs sur la série 4.5.x.

..........................

  • Le moteur de peinture Direct3D expérimental a été supprimé. La raison pour C'est que Nokia se concentre sur OpenGL pour le matériel de bureau accéléré le rendu.

    ..........................


0 commentaires

16
votes

C'est assez simple que je pensais, xxx

merci,

cv


3 commentaires

Est-ce que cela fonctionne dans le dernier Qt? Les deux autres réponses disent que le soutien DirectX était expérimental et a été supprimé


Bonjour Tom, j'ai essayé cela et travaille parfaitement. J'ai pu exécuter un Directx Qwidget et un Qwidget OpenGL dans le même QmainWindow.


@Tom J Nowell: Vous n'avez besoin d'aucun support ni d'intégration dans la boîte à outils pour utiliser Direct3D par lui-même, tout ce dont vous avez besoin est une poignée de fenêtre natale et de dire à la boîte à outils d'éviter de nettoyer cette fenêtre. Le "soutien expérimental supprimé" est aussi loin que je comprends un backend de rendu accéléré pour QT, qui est toute une chose différente.