IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

Le module QtOpenGL

Le module QtOpenGL offre des classes qui rendent simple l'utilisation d'OpenGL dans les applications Qt.

Espaces de noms

QGL Spécifie divers identificateurs utilisés dans le module OpenGL de Qt.

Classes

QGLBuffer Fonctions pour créer et gérer des objets GL buffer
QGLColormap Utilisée pour l'installation de palettes de couleurs personnalisées dans un QGLWidget.
QGLContext Encapsule un contexte de rendu OpenGL.
QGLFormat Spécifie le format d'affichage d'un contexte de rendu OpenGL.
QGLFramebufferObject Encapsule un objet de tampon de frame OpenGL.
QGLFramebufferObjectFormat Spécifie le format d'un objet de tampon de frame OpenGL.
QGLPixelBuffer Encapsule un pixel buffer OpenGL.
QGLShader Permet aux shaders OpenGL d'être compilés.
QGLShaderProgram Permet aux programmes de shaders OpenGL d'être liés et utilisés.
QGLWidget Widget pour le rendu des éléments graphiques d'OpenGL.
QWSGLWindowSurface La zone de dessin pour les fenêtres Qt de haut niveau pour Embedded Linux sous EGL/OpenGL ES. Cela fournit également la zone de dessin pour les QGLWidget s'ils sont des fenêtres de haut-niveau ou bien des enfants d'autres QWidget.

OpenGL est l'API standard de rendu d'éléments graphiques en 3D. OpenGL agit uniquement avec des rendus 3D et fournit peu ou aucun support pour les questions de programmation en GUI. L'interface utilisateur d'une application OpenGL doit donc être créée avec un autre kit d'outils, tel que Motif sous la plateforme X, les classes de fondation Microsoft (MFC, Microsoft Foundation Classes) sous Windows ou Qt sur les deux plateformes.

Note : OpenGL est une marque déposée de Silicon Graphics, Inc. aux États-Unis et dans d'autres pays.

Le module OpenGL de Qt rend simple l'utilisation d'OpenGL dans les applications Qt. Il fournit une classe de widgets OpenGL qui peut être utilisée tout comme un autre widget de Qt, excepté le fait qu'elle ouvre un tampon d'affichage là où vous souhaitez utiliser l'API OpenGL pour effectuer des rendus de divers contenus.

Pour inclure les définitions des classes du module, utilisez la directive suivante :

#include <QtOpengl>

Pour créer un lien sur le module, ajoutez cette ligne à votre fichier qmake .pro :

 QT += opengl

Le module OpenGL de Qt est implémenté en tant que wrapper Qt/C++ indépendant de la plateforme autour des API GLX (version 1.3 ou postérieure), WGL ou des API AGL C, dépendants de la plateforme. Bien que les fonctionnalités basiques fournies soient très similaires à la bibliothèque GLUT de Mark Kilgard, les applications utilisant le module OpenGL de Qt peuvent tirer avantage de l'API Qt complet pour les fonctionnalités GUI non spécifiques à OpenGL.

Le module QtOpenGL est disponible sous Windows, X11 et Mac OS X. Qt pour Embedded Linux et OpenGL supporte OpenGL ES (OpenGL pour les Systèmes Embarqués).

Note : pour pouvoir utiliser l'API OpenGL avec Qt pour Embedded Linux, celui-ci doit être intégré avec le Système Q de Fenêtrage (QWS). Voir la documentation de Qt pour Embedded Linux et OpenGL pour plus de détails.

Remerciements

Merci à Louis du Verdier pour la traduction, ainsi qu'à Thibaut Cuvelier et Maxime Gault pour la relecture !

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 4.7
Copyright © 2024 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !