Developpez.com - Qt
X

Choisissez d'abord la catégorieensuite la rubrique :

Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QGLShader

La classe QGLShader permet aux shaders OpenGL d'être compilés. Plus d'informations...

#include <QGLShader>

Voir la position dans l'arbre des classes.

  

Héritage

Hérite de QObject.

Cette classe a été introduite dans Qt 4.6.

Description détaillée

La classe QGLShader permet aux shaders OpenGL d'être compilés.

La classe prend en charge les shaders écrits en OpenGL Shading Language (GLSL) et en OpenGL/ES Shading Language (GLSL/ES).

QGLShader et QGLShaderProgram abritent le programmeur des détails de la compilation et de l'édition des liens des vertex et fragment shaders.

Voir aussi QGLShaderProgram.

Type

enum QGLShader::ShaderTypeBitflags QGLShader::ShaderType

Cette enum spécifie le type de QGLShader qui doit être créé.

Constante Valeur Description
QGLShader::Vertex 0x0001 Vertex shader écrit en OpenGL Shading Language (GLSL).
QGLShader::Fragment 0x0002 Fragment shader écrit en OpenGL Shading Language (GLSL).
QGLShader::Geometry 0x0004 Géométrie shader écrit en OpenGL Shading Language (GLSL), basé sur l'extension GL_EXT_geometry_shader4.

Le type ShaderType est un typedef pour QFlags<ShaderTypeBit>. Il contient une combinaison avec l'opérateur OU logique des valeurs de ShaderTypeBit.

Fonctions membres

QGLShader::QGLShader ( QGLShader::ShaderType type, QObject * parent = 0 )

Construit un nouvel objet QGLShader du type spécifié et l'attache au parent. Si les programmes shader ne sont pas pris en charge, la fonction QGLShaderProgram::hasOpenGLShaderPrograms() retournera false.

Ce constructeur est normalement suivi d'un appel à compileSourceCode() ou compileSourceFile().

Le shader va être associé au QGLContext courant.

Voir aussi compileSourceCode() et compileSourceFile().

QGLShader::QGLShader ( QGLShader::ShaderType type, const QGLContext * context, QObject * parent = 0 )

Construit un nouvel objet QGLShader du type spécifié et l'attache au parent. Si les programmes shader ne sont pas pris en charge, la fonction QGLShaderProgram::hasOpenGLShaderPrograms() retourne false.

Ce constructeur est normalement suivi par un appel à compileSourceCode() ou compileSourceFile().

La shader va être associé au contexte context.

Voir aussi compileSourceCode() et compileSourceFile().

QGLShader::~QGLShader () [virtual]

Détruit ce shader. Si le shader a été attaché à un objet QGLShaderProgram, alors ce shader existera tant que le QGLShaderProgram ne sera pas détruit.

bool QGLShader::compileSourceCode ( const char * source )

Définit le code source pour ce shader et le compile. Retourne true si la compilation est réussie, sinon false.

Voir aussi compileSourceFile().

bool QGLShader::compileSourceCode ( const QByteArray & source )

Il s'agit d'une fonction surchargée.

Définit le code source pour ce shader et le compile. Retourne true si la compilation est réussie, sinon false.

Voir aussi compileSourceFile().

bool QGLShader::compileSourceCode ( const QString & source )

Il s'agit d'une fonction surchargée.

Définit le code source pour ce shader et le compile. Retourne true si la compilation est réussie, sinon false.

Voir aussi compileSourceFile().

bool QGLShader::compileSourceFile ( const QString & fileName )

Définit le code source pour ce shader et le compile. Retourne true si le fichier a pu être ouvert et que la compilation est réussie, sinon false.

Voir aussi compileSourceCode().

bool QGLShader::hasOpenGLShaders ( ShaderType type, const QGLContext * context = 0 ) [static]

Retourne true si les programmes shader du type specifié sont pris en charge par ce système ; sinon retourne false.

Le context est utilisé pour trouver les extensions GLSL. Si le paramètre context est null, alors QGLContext::currentContext() est utilisé.

Cette fonction a été introduite dans Qt 4.7.

bool QGLShader::isCompiled () const

Retourne true si ce shader a été compilé ; sinon false.

Voir aussi compileSourceCode() et compileSourceFile().

QString QGLShader::log () const

Retourne les erreurs et warnings qui ont été trouvés lors de la dernière compilation.

Voir aussi compileSourceCode() et compileSourceFile().

GLuint QGLShader::shaderId () const

Retourne l'identifiant OpenGL associé à ce shader.

Voir aussi QGLShaderProgram::programId().

QGLShader::ShaderType QGLShader::shaderType () const

Retourne le type de ce shader.

QByteArray QGLShader::sourceCode () const

Retourne le code source de ce shader.

Voir aussi compileSourceCode().

Remerciements

Merci à Alexandre Laurent pour la traduction ainsi qu'à Lo?c Leguay, Jonathan Courtois et Claude Leloup pour leur relecture !

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 64
  2. Apercevoir la troisième dimension ou l'utilisation multithreadée d'OpenGL dans Qt, un article des Qt Quarterly traduit par Guillaume Belz 0
  3. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. BlackBerry 10 : premières images du prochain OS de RIM qui devrait intégrer des widgets et des tuiles inspirées de Windows Phone 0
  5. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. La rubrique Qt a besoin de vous ! 1
Page suivante

Le Qt Labs au hasard

Logo

Utiliser OpenCL avec Qt

Les Qt Labs sont les laboratoires des développeurs de Qt, où ils peuvent partager des impressions sur le framework, son utilisation, ce que pourrait être son futur. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

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 © 2012 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 !
 
 
 
 
Partenaires

Hébergement Web

Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -