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  · 

QGLShaderProgram

La classe QGLShaderProgram permet aux programmes shader OpenGL d'être liés et utilisés. Plus d'informations...

#include <QGLShaderProgram>

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 QGLShaderProgram permet aux programmes shaders OpenGL d'être liés et utilisés.

Introduction

Cette classe prend en charge les programmes shader é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.

L'exemple suivant crée un programme shader à partir d'un vertex shader en utilisant le code source contenu dans code. Une fois compilé et lié, le programme shader est activé dans le QGLContext courant par l'appel à la fonction QGLShaderProgram::bind():

 QGLShader shader(QGLShader::Vertex);
 shader.compileSourceCode(code);
 
 QGLShaderProgram program(context);
 program.addShader(shader);
 program.link();
 
 program.bind();

Écrire des shaders portables

Les programmes shader peuvent être difficilement réutilisables entre les différentes implémentations d'OpenGL à cause d'une prise en charge variable des attributs du vertex shader et des variables uniformes. En particulier, GLSL/ES ne dispose d'aucune des variables standards présentes dans les systèmes OpenGL pour bureau: gl_Vertex, gl_Normal, gl_Color, etc. OpenGL pour bureau ne dispose pas des qualificatifs pour les variables : highp, mediump et lowp.

La classe QGLShaderProgram facilite le processus d'écriture de shaders portables en rajoutant au début de tous les programmes shader lors d'une utilisation avec OpenGL pour bureau, les lignes suivantes :

 #define highp
 #define mediump
 #define lowp

Cela permet d'exécuter la majorité des programmes shader GLSL/ES sur les systèmes de bureau. Les programmeurs doivent se restreindre à l'utilisation des variables qui sont uniquement présentes dans GLSL/ES et éviter les noms de variables standards qui ne fonctionnent que sur les bureaux.

Exemple d'un simple shader

 program.addShaderFromSourceCode(QGLShader::Vertex,
     "attribute highp vec4 vertex;\n"
     "attribute mediump mat4 matrix;\n"
     "void main(void)\n"
     "{\n"
     "   gl_Position = matrix * vertex;\n"
     "}");
 program.addShaderFromSourceCode(QGLShader::Fragment,
     "uniform mediump vec4 color;\n"
     "void main(void)\n"
     "{\n"
     "   gl_FragColor = color;\n"
     "}");
 program.link();
 program.bind();
 
 int vertexLocation = program.attributeLocation("vertex");
 int matrixLocation = program.attributeLocation("matrix");
 int colorLocation = program.uniformLocation("color");

Avec le programme shader ci-dessus d'actif, nous pouvons dessiner un triangle vert comme suit :

 static GLfloat const triangleVertices[] = {
     60.0f,  10.0f,  0.0f,
     110.0f, 110.0f, 0.0f,
     10.0f,  110.0f, 0.0f
 };
 
 QColor color(0, 255, 0, 255);
 
 QMatrix4x4 pmvMatrix;
 pmvMatrix.ortho(rect());
 
 program.enableAttributeArray(vertexLocation);
 program.setAttributeArray(vertexLocation, triangleVertices, 3);
 program.setUniformValue(matrixLocation, pmvMatrix);
 program.setUniformValue(colorLocation, color);
 
 glDrawArrays(GL_TRIANGLES, 0, 3);
 
 program.disableAttributeArray(vertexLocation);

Shaders et programmes binaires

Les shaders binaires peuvent être spécifiés en utilisant glShaderBinary() sur la valeur retournée par la fonction QGLShader::shaderId(). L'instance de QGLShader contenant le binaire peut alors être ajoutée à un programme shader avec la fonction addShader() et liée, comme d'habitude, avec la fonction link().

Les programmes binaires peuvent être spécifiés en utilisant glProgramBinaryOES() sur la valeur retournée par programId(). Ensuite, l'application doit appeler la fonction link(), qui va remarquer que le programme a déjà été spécifié et lié, permettant de prochaines opérations sur ce programme shader.

Voir aussi QGLShader.

Fonctions membres

QGLShaderProgram::QGLShaderProgram ( QObject * parent = 0 )

Construit un nouveau programme shader et l'attache au parent. Le programme va être invalide tant que la fonction addShader() n'est pas appelée.

Le programme shader va être associé au QGLContext courant.

Voir aussi addShader().

QGLShaderProgram::QGLShaderProgram ( const QGLContext * context, QObject * parent = 0 )

Construit un nouveau programme shader et l'attache au parent. Le programme va être invalide tant que la fonction addShader() n'est pas appelée.

Le programme shader va être associé au contexte context.

Voir aussi addShader().

QGLShaderProgram::~QGLShaderProgram () [virtual]

Détruit ce programme shader.

bool QGLShaderProgram::addShader ( QGLShader * shader )

Ajoute un shader compilé à ce programme shader. Retourne true si le shader a pu être ajouté ; sinon retourne false.

L'appelant reste propriétaire de l'objet shader. Le shader ne va pas être détruit lorsque cette instance de QGLShaderProgram sera détruite. Cela permet à l'appelant d'ajouter le même shader à plusieurs programmes shader.

Voir aussi addShaderFromSourceCode(), addShaderFromSourceFile(), removeShader(), link() et removeAllShaders().

bool QGLShaderProgram::addShaderFromSourceCode ( QGLShader::ShaderType type, const char * source )

Compile le code source comme un shader du type spécifié et l'ajoute à ce programme shader. Retourne true si la compilation a réussi, sinon retourne false. Les erreurs de compilation et warnings sont disponibles via la fonction log().

Cette fonction est un raccourci afin d'ajouter un vertex ou fragment shader à un programme shader sans devoir créer une instance de QGLShader auparavant.

Voir aussi addShader(), addShaderFromSourceFile(), removeShader(), link(), log() et removeAllShaders().

bool QGLShaderProgram::addShaderFromSourceCode ( QGLShader::ShaderType type, const QByteArray & source )

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

Compile le code source comme un shader du type spécifié type et l'ajoute à ce programme shader. Retourne true si la compilation a réussi, sinon retourne false. Les erreurs de compilation et warnings sont disponibles via la fonction log().

Cette fonction est un raccourci afin d'ajouter un vertex ou fragment shader à un programme shader sans devoir créer une instance de QGLShader auparavant.

Voir aussi addShader(), addShaderFromSourceFile(), removeShader(), link(), log() et removeAllShaders().

bool QGLShaderProgram::addShaderFromSourceCode ( QGLShader::ShaderType type, const QString & source )

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

Compile le code source comme un shader du type spécifié type et l'ajoute à ce programme shader. Retourne true si la compilation a réussi, sinon retourne false. Les erreurs de compilation et warnings sont disponibles via la fonction log().

Cette fonction est un raccourci afin d'ajouter un vertex ou fragment shader à un programme shader sans devoir créer une instance de QGLShader auparavant.

Voir aussi addShader(), addShaderFromSourceFile(), removeShader(), link(), log() et removeAllShaders().

bool QGLShaderProgram::addShaderFromSourceFile ( QGLShader::ShaderType type, const QString & fileName )

Compile le code source contenu dans le fichier fileName comme un shader du type spécifié type et l'ajoute à ce programme shader. Retourne true si la compilation a réussi, sinon retourne false. Les erreurs de compilation et warnings sont disponibles via la fonction log().

Cette fonction est un raccourci afin d'ajouter un vertex ou fragment shader à un programme shader sans devoir créer une instance de QGLShader auparavant.

Voir aussi addShader() et addShaderFromSourceCode().

int QGLShaderProgram::attributeLocation ( const char * name ) const

Retourne l'emplacement dans la liste de paramètres du programme shader de la variable attribut name. Retourne -1 si name n'est pas un attribut valide pour ce programme shader.

Voir aussi uniformLocation() et bindAttributeLocation().

int QGLShaderProgram::attributeLocation ( const QByteArray & name ) const

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

Retourne l'emplacement dans la liste de paramètres du programme shader de la variable attribut name. Retourne -1 si name n'est pas un attribut valide pour ce programme shader.

Voir aussi uniformLocation() et bindAttributeLocation().

int QGLShaderProgram::attributeLocation ( const QString & name ) const

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

Retourne l'emplacement dans la liste de paramètres du programme shader de la variable attribut name. Retourne -1 si name n'est pas un attribut valide pour ce programme shader.

Voir aussi uniformLocation() et bindAttributeLocation().

bool QGLShaderProgram::bind ()

Lie ce programme shader au QGLContext actif et définit ce programme shader comme courant. Le programme shader précédemment en place est délié. Cette fonction est équivalente à appeler glUseProgram() sur programId(). Retourne true si le programme a été lié avec succès ; sinon retourne false. Si le programme shader n'a pas été lié, ou doit être relié, cette fonction appelera link().

Voir aussi link() et release().

void QGLShaderProgram::bindAttributeLocation ( const char * name, int location )

Lie l'attribut name à l'emplacement location spécifié. Cette fonction peut être appelée avant ou après que le programme ait été lié. Toute autre variable attribut qui n'a pas été explicitement liée lorsque le programme est lié aura un emplacement défini automatiquement.

Lorsque cette fonction est appelée après que le programme soit lié, le programme devra être relié pour prendre en compte les changements.

Voir aussi attributeLocation().

void QGLShaderProgram::bindAttributeLocation ( const QByteArray & name, int location )

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

Lie l'attribut name à l'emplacement location spécifié. Cette fonction peut être appelée avant ou après que le programme ait été lié. Toute autre variable attribut qui n'a pas été explicitement liée lorsque le programme est lié aura un emplacement défini automatiquement.

Lorsque cette fonction est appelée après que le programme soit lié, le programme devra être relié pour prendre en compte les changements.

Voir aussi attributeLocation().

void QGLShaderProgram::bindAttributeLocation ( const QString & name, int location )

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

Lie l'attribut name à l'emplacement location spécifié. Cette fonction peut être appelée avant ou après que le programme ait été lié. Toute autre variable attribut qui n'a pas été explicitement liée lorsque le programme est lié aura un emplacement défini automatiquement.

Lorsque cette fonction est appelée après que le programme soit lié, le programme devra être relié pour prendre en compte les changements.

Voir aussi attributeLocation().

void QGLShaderProgram::disableAttributeArray ( int location )

Désactive le tableau d'attributs à l'emplacement location de ce programme shader qui a été activé par un précédent appel à la fonction enableAttributeArray().

Voir aussi enableAttributeArray(), setAttributeArray(), setAttributeValue() et setUniformValue().

void QGLShaderProgram::disableAttributeArray ( const char * name )

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

Désactive le tableau d'attributs appelé name de ce programme shader qui a été activé par un précédent appel à la fonction enableAttributeArray().

Voir aussi enableAttributeArray(), setAttributeArray(), setAttributeValue() et setUniformValue().

void QGLShaderProgram::enableAttributeArray ( int location )

Active le tableau d'attributs à l'emplacement location de ce programme shader, ainsi la valeur définie par la fonction setAttributeArray() sur l'emplacement location va être utilisée par le programme shader.

Voir aussi disableAttributeArray(), setAttributeArray(), setAttributeValue() et setUniformValue().

void QGLShaderProgram::enableAttributeArray ( const char * name )

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

Active le tableau d'attributs appelé name de ce programme shader, ainsi la valeur définie par la fonction setAttributeArray() sur name va être utilisée par le programme shader.

Voir aussi disableAttributeArray(), setAttributeArray(), setAttributeValue() et setUniformValue().

GLenum QGLShaderProgram::geometryInputType () const

Retourne le type d'entrée du geometry shader, si actif.

Ce paramètre prend effet à la prochaine édition des liens du programme.

Cette fonction a été introduite dans Qt 4.7.

Voir aussi setGeometryInputType().

GLenum QGLShaderProgram::geometryOutputType () const

Retourne le type de sortie du geometry shader, si actif.

Ce paramètre prend effet à la prochaine édition des liens du programme.

Cette fonction a été introduite dans Qt 4.7.

Voir aussi setGeometryOutputType().

int QGLShaderProgram::geometryOutputVertexCount () const

Retourne le nombre maximum de vertex que le programme geometry shader va produire, si actif.

Ce paramètre prend effet à la prochaine édition des liens du programme.

Cette fonction a été introduite dans Qt 4.7.

Voir aussi setGeometryOutputVertexCount().

bool QGLShaderProgram::hasOpenGLShaderPrograms ( const QGLContext * context = 0 ) [static]

Retourne true si les programmes shader écrits en OpenGL Shading Language (GLSL) sont pris en charge sur ce système ; sinon retourne false.

Le contexte context est utilisé pour trouver les extensions GLSL. Si le contexte context est NULL, alors QGLContext::currentContext() est utilisé.

bool QGLShaderProgram::isLinked () const

Retourne true si ce programme shader a été lié ; sinon retourne false.

Voir aussi link().

Lie ensemble les shaders qui ont été ajoutés dans ce programme avec la fonction addShader(). Retourne true si le linkage a été réussi, sinon false. Si le linkage a échoué, les messages d'erreurs peuvent être récupérés avec la fonction log().

Les sous-classes peuvent surcharger cette fonction pour initialiser les variables attributs et les variables uniformes pour l'utilisation de programmes shader spécifiques.

Si le programme shader a déjà été lié, l'appel de cette fonction force le programme à être relié.

Voir aussi addShader() et log().

QString QGLShaderProgram::log () const

Retourne les erreurs et warnings qui ont été trouvés lors du dernier link() ou addShader() avec le code source spécifié explicitement.

Voir aussi link().

int QGLShaderProgram::maxGeometryOutputVertices () const

Retourne la limite matérielle du nombre maximale de vertex qu'un geometry shader peut renvoyer.

Cette fonction a été introduite dans Qt 4.7.

Voir aussi setGeometryOutputVertexCount().

GLuint QGLShaderProgram::programId () const

Retourne l'identifiant OpenGL associé à ce programme shader.

Voir aussi QGLShader::shaderId().

void QGLShaderProgram::release ()

Libère le programme shader actif du QGLContext courant. Cette fonction est équivalente à appeler glUseProgram(0).

Voir aussi bind().

void QGLShaderProgram::removeAllShaders ()

Retire tous les shaders qui ont été précédemment ajoutés à ce programme. Les objets QGLShader pour les shaders ne vont pas être détruits s'ils ont été construits extérieurement. Les objets QGLShader qui ont été construits en interne par QGLShaderProgram vont être détruits.

Voir aussi addShader() et removeShader().

void QGLShaderProgram::removeShader ( QGLShader * shader )

Retire le shader de ce programme shader. L'objet n'est pas détruit.

Voir aussi addShader(), link() et removeAllShaders().

void QGLShaderProgram::setAttributeArray ( int location, const GLfloat * values, int tupleSize, int stride = 0 )

Définit un tableau de vertex values sur l'attribut à l'emplacement location dans ce programme shader. Le paramètre tupleSize indique le nombre de composants par vertex (1, 2, 3 ou 4) et le paramètre stride indique le nombre d'octets entre chaque vertex. Une valeur par défaut de zéro pour le stride indique que les vertex sont stockés en continu dans le tableau de valeurs.

Le tableau deviendra actif lors de l'appel à la fonction enableAttributeArray() sur l'emplacement location. Sinon la valeur spécifiée avec la fonction setAttributeValue() pour l'emplacement location va être utilisée.

Voir aussi setAttributeValue(), setUniformValue(), enableAttributeArray() et disableAttributeArray().

void QGLShaderProgram::setAttributeArray ( int location, const QVector2D * values, int stride = 0 )

Définit un tableau de vecteurs 2D values sur l'attribut à l'emplacement location dans ce programme shader. Le paramètre stride indique le nombre d'octets entre chaque vertex. Une valeur par défaut de zéro pour le stride indique que les vertex sont stockés en continu dans le tableau de valeurs.

Le tableau deviendra actif lors de l'appel à la fonction enableAttributeArray() sur l'emplacement location. Sinon la valeur spécifiée avec la fonction setAttributeValue() pour l'emplacement location va être utilisée.

Voir aussi setAttributeValue(), setUniformValue(), enableAttributeArray() et disableAttributeArray().

void QGLShaderProgram::setAttributeArray ( int location, const QVector3D * values, int stride = 0 )

Définit un tableau de vecteurs 3D values sur l'attribut à l'emplacement location dans ce programme shader. Le paramètre stride indique le nombre d'octets entre chaque vertex. Une valeur par défaut de zéro pour le stride indique que les vertex sont stockés en continu dans le tableau de valeurs.

Le tableau deviendra actif lors de l'appel à la fonction enableAttributeArray() sur l'emplacement location. Sinon la valeur spécifiée avec la fonction setAttributeValue() pour l'emplacement location va être utilisée.

Voir aussi setAttributeValue(), setUniformValue(), enableAttributeArray() et disableAttributeArray().

void QGLShaderProgram::setAttributeArray ( int location, const QVector4D * values, int stride = 0 )

Définit un tableau de vecteurs 4D values sur l'attribut à l'emplacement location dans ce programme shader. Le paramètre stride indique le nombre d'octets entre chaque vertex. Une valeur par défaut de zéro pour le stride indique que les vertex sont stockés en continu dans le tableau de valeurs.

Le tableau deviendra actif lors de l'appel à la fonction enableAttributeArray() sur l'emplacement location. Sinon la valeur spécifiée avec la fonction setAttributeValue() pour l'emplacement location va être utilisée.

Voir aussi setAttributeValue(), setUniformValue(), enableAttributeArray() et disableAttributeArray().

void QGLShaderProgram::setAttributeArray ( int location, GLenum type, const void * values, int tupleSize, int stride = 0 )

Définit un tableau de vertex values sur l'attribut à l'emplacement location dans ce programme shader. Le paramètre stride indique le nombre d'octets entre chaque vertex. Une valeur par défaut de zéro pour le stride indique que les vertex sont stockés en continu dans le tableau de valeurs.

Le paramètre type indique le type des éléments dans le tableau de valeurs values, tel que GL_FLOAT, GL_UNSIGNED_BYTE, etc. Le paramètre tupleSize indique le nombre de composants d'un vertex : 1, 2, 3 ou 4.

Le tableau deviendra actif lors de l'appel à la fonction enableAttributeArray() sur l'emplacement location. Sinon la valeur spécifiée avec la fonction setAttributeValue() pour l'emplacement location va être utilisée.

La fonction setAttributeBuffer() peut être utilisée pour définir un tableau d'attributs avec un décalage dans le vertex buffer.

Cette fonction a été introduite dans Qt 4.7.

Voir aussi setAttributeValue(), setUniformValue(), enableAttributeArray(), disableAttributeArray() et setAttributeBuffer().

void QGLShaderProgram::setAttributeArray ( const char * name, const GLfloat * values, int tupleSize, int stride = 0 )

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

Définit un tableau de vertex values sur l'attribut appelé name dans ce programme shader. Le paramètre tupleSize indique le nombre de composants par vertex (1, 2, 3 ou 4) et le paramètre stride indique le nombre d'octets entre chaque vertex. Une valeur par défaut de zéro pour le stride indique que les vertex sont stockés en continu dans le tableau de valeurs.

Le tableau deviendra actif lors de l'appel à la fonction enableAttributeArray() sur le nom name. Sinon la valeur spécifiée avec la fonction setAttributeValue() pour le nom name va être utilisée.

Voir aussi setAttributeValue(), setUniformValue(), enableAttributeArray() et disableAttributeArray().

void QGLShaderProgram::setAttributeArray ( const char * name, const QVector2D * values, int stride = 0 )

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

Définit un tableau de vecteurs 2D values sur l'attribut appelé name dans ce programme shader. Le paramètre stride indique le nombre d'octets entre chaque vertex. Une valeur par défaut de zéro pour le stride indique que les vertex sont stockés en continu dans le tableau de valeurs.

Le tableau deviendra actif lors de l'appel à la fonction enableAttributeArray() sur le nom name. Sinon la valeur spécifiée avec la fonction setAttributeValue() pour le nom name va être utilisée.

Voir aussi setAttributeValue(), setUniformValue(), enableAttributeArray() et disableAttributeArray().

void QGLShaderProgram::setAttributeArray ( const char * name, const QVector3D * values, int stride = 0 )

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

Définit un tableau de vecteurs 3D values sur l'attribut appelé name dans ce programme shader. Le paramètre stride indique le nombre d'octets entre chaque vertex. Une valeur par défaut de zéro pour le stride indique que les vertex sont stockés en continu dans le tableau de valeurs.

Le tableau deviendra actif lors de l'appel à la fonction enableAttributeArray() sur le nom name. Sinon la valeur spécifiée avec la fonction setAttributeValue() pour le nom name va être utilisée.

Voir aussi setAttributeValue(), setUniformValue(), enableAttributeArray() et disableAttributeArray().

void QGLShaderProgram::setAttributeArray ( const char * name, const QVector4D * values, int stride = 0 )

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

Définit un tableau de vecteur 4D values sur l'attribut appelé name dans ce programme shader. Le paramètre stride indique le nombre d'octets entre chaque vertex. Une valeur par défaut de zéro pour le stride indique que les vertex sont stockés en continu dans le tableau de valeurs.

Le tableau deviendra actif lors de l'appel à la fonction enableAttributeArray() sur le nom name. Sinon la valeur spécifiée avec la fonction setAttributeValue() pour le nom name va être utilisée.

Voir aussi setAttributeValue(), setUniformValue(), enableAttributeArray() et disableAttributeArray().

void QGLShaderProgram::setAttributeArray ( const char * name, GLenum type, const void * values, int tupleSize, int stride = 0 )

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

Définit un tableau de vertex values sur l'attribut appelé name dans ce programme shader. Le paramètre stride indique le nombre d'octets entre chaque vertex. Une valeur par défaut de zéro pour le stride indique que les vertex sont stockés en continu dans le tableau de valeurs.

Le paramètre type indique le type des éléments dans le tableau de valeurs values, tel que GL_FLOAT, GL_UNSIGNED_BYTE, etc. Le paramètre tupleSize indique le nombre de composants pour chaque vertex : 1, 2, 3 ou 4.

Le tableau deviendra actif lors de l'appel à la fonction enableAttributeArray() sur le nom name. Sinon la valeur spécifiée avec la fonction setAttributeValue() pour le nom name va être utilisée.

La fonction setAttributeBuffer() peut être utilisée pour définir le tableau d'attributs à un décalage dans le vertex buffer.

Cette fonction a été introduite dans Qt 4.7.

Voir aussi setAttributeValue(), setUniformValue(), enableAttributeArray(), disableAttributeArray() et setAttributeBuffer().

void QGLShaderProgram::setAttributeBuffer ( int location, GLenum type, int offset, int tupleSize, int stride = 0 )

Définit un tableau de variables attributs pour l'emplacement location dans ce programme shader, en commençant au décalage offset du vertex buffer actuellement lié. Le paramètre stride indique le nombre d'octets entre chaque vertex. Une valeur par défaut de zéro pour le stride indique que les vertex sont stockés en continu dans le tableau de valeurs.

Le paramètre type indique le type d'éléments dans le tableau de variables attributs, tel que GL_FLOAT, GL_UNSIGNED_BYTE, etc. Le paramètre tupleSize indique le nombre de composants par vertex : 1, 2, 3 ou 4.

Le tableau va devenir actif lors de l'appel à la fonction enableAttributeArray() sur l'emplacement location. Sinon la valeur spécifiée avec la fonction setAttributeValue() pour l'emplacement location va être utilisée.

Cette fonction a été introduite dans Qt 4.7.

Voir aussi setAttributeArray().

void QGLShaderProgram::setAttributeBuffer ( const char * name, GLenum type, int offset, int tupleSize, int stride = 0 )

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

Définit un tableau de variables attributs pour le nom name dans ce programme shader, en commençant au décalage offset du vertex buffer actuellement lié. Le paramètre stride indique le nombre d'octets entre chaque vertex. Une valeur par défaut de zéro pour le stride indique que les vertex sont stockés en continu dans le tableau de valeurs.

Le paramètre type indique le type d'éléments dans le tableau de variables attributs, tel que GL_FLOAT, GL_UNSIGNED_BYTE, etc. Le paramètre tupleSize indique le nombre de composants par vertex : 1, 2, 3 ou 4.

Le tableau deviendra actif lors de l'appel à la fonction enableAttributeArray() sur le nom name. Sinon la valeur spécifiée avec la fonction setAttributeValue() pour le nom name va être utilisée.

Cette fonction a été introduite dans Qt 4.7.

Voir aussi setAttributeArray().

void QGLShaderProgram::setAttributeValue ( int location, GLfloat value )

Définit l'attribut à l'emplacement location dans le contexte courant à la valeur value

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( int location, GLfloat x, GLfloat y )

Définit l'attribut à l'emplacement location dans le contexte courant au vecteur 2D (x, y).

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( int location, GLfloat x, GLfloat y, GLfloat z )

Définit l'attribut à l'emplacement location dans le contexte courant au vecteur 3D (x, y, z).

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( int location, GLfloat x, GLfloat y, GLfloat z, GLfloat w )

Définit l'attribut à l'emplacement location dans le contexte courant au vecteur 4D (x, y, z, w).

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( int location, const QVector2D & value )

Définit l'attribut à l'emplacement location dans le contexte courant au vecteur 2D value

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( int location, const QVector3D & value )

Définit l'attribut à l'emplacement location dans le contexte courant au vecteur 3D value

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( int location, const QVector4D & value )

Définit l'attribut à l'emplacement location dans le contexte courant au vecteur 4D value

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( int location, const QColor & value )

Définit l'attribut à l'emplacement location dans le contexte courant à la couleur value

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( int location, const GLfloat * values, int columns, int rows )

Définit l'attribut à l'emplacement location dans le contexte courant aux valeurs values, contenant un nombre columns de colonnes, chacune contenant un nombre rows de lignes. La valeur de rows doit être 1, 2, 3 ou 4. Cette fonction est normalement utilisée pour définir les valeurs d'une matrice ou d'une colonne de vecteurs.

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( const char * name, GLfloat value )

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

Définit l'attribut appelé name dans le contexte courant à la valeur value.

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( const char * name, GLfloat x, GLfloat y )

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

Définit l'attribut appelé name dans le contexte courant au vecteur 2D (x, y).

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( const char * name, GLfloat x, GLfloat y, GLfloat z )

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

Définit l'attribut appelé name dans le contexte courant au vecteur 3D (x, y, z).

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( const char * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w )

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

Définit l'attribut appelé name dans le contexte courant au vecteur 4D (x, y, z, w).

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( const char * name, const QVector2D & value )

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

Définit l'attribut appelé name dans le contexte courant au vecteur 2D value.

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( const char * name, const QVector3D & value )

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

Définit l'attribut appelé name dans le contexte courant au vecteur 3D value.

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( const char * name, const QVector4D & value )

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

Définit l'attribut appelé name dans le contexte courant au vecteur 4D value.

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( const char * name, const QColor & value )

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

Définit l'attribut appelé name dans le contexte courant à la couleur value.

Voir aussi setUniformValue().

void QGLShaderProgram::setAttributeValue ( const char * name, const GLfloat * values, int columns, int rows )

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

Définit l'attribut appelé name dans le contexte courant aux valeurs values, contenant un nombre columns de colonnes, chacune contenant un nombre rows de lignes. La valeur de rows doit être 1, 2, 3 ou 4. Cette fonction est normalement utilisée pour définir les valeurs d'une matrice ou d'une colonne de vecteurs.

Voir aussi setUniformValue().

void QGLShaderProgram::setGeometryInputType ( GLenum inputType )

Définit le type d'entrée à inputType.

Ce paramètre prend effet à la prochaine édition des liens du programme.

Voir aussi geometryInputType().

void QGLShaderProgram::setGeometryOutputType ( GLenum outputType )

Définit le type de sortie, à outputType du geometry shader, si actif.

Ce paramètre prend effet à la prochaine édition des liens du programme.

Cette fonction a été introduite dans Qt 4.7.

Voir aussi geometryOutputType().

void QGLShaderProgram::setGeometryOutputVertexCount ( int count )

Définit le nombre maximal de vertex au nombre count, que le geometry shader courant va produire, si actif.

Ce paramètre prend effet à la prochaine édition des liens du programme.

Cette fonction a été introduite dans Qt 4.7.

Voir aussi geometryOutputVertexCount().

void QGLShaderProgram::setUniformValue ( int location, GLfloat value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la valeur value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QPointF & point )

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

Définit la variable uniforme associée au nom name dans le contexte courant aux coordonnées x et y du point.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QSize & size )

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

Définit la variable uniforme associée au nom name dans le contexte courant à la largeur et hauteur de la taille size donnée.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QSizeF & size )

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

Définit la variable uniforme associée au nom name dans le contexte courant à la largeur et hauteur de la taille size donnée.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QMatrix2x2 & value )

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

Définit la variable uniforme appelée name dans le contexte courant à la matrice 2 × 2 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QMatrix2x3 & value )

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

Définit la variable uniforme appelée name dans le contexte courant à la matrice 2 × 3 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QMatrix2x4 & value )

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

Définit la variable uniforme appelée name dans le contexte courant à la matrice 2 × 4 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QMatrix3x2 & value )

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

Définit la variable uniforme appelée name dans le contexte courant à la matrice 3 × 2 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QMatrix3x3 & value )

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

Définit la variable uniforme appelée name dans le contexte courant à la matrice 3 × 3 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QMatrix3x4 & value )

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

Définit la variable uniforme appelée name dans le contexte courant à la matrice 3 × 4 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QMatrix4x2 & value )

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

Définit la variable uniforme appelée name dans le contexte courant à la matrice 4 × 2 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QMatrix4x3 & value )

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

Définit la variable uniforme appelée name dans le contexte courant à la matrice 4 × 3 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QMatrix4x4 & value )

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

Définit la variable uniforme appelée name dans le contexte courant à la matrice 4 × 4 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const GLfloat[2][2] value )

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

Définit la variable uniforme à l'emplacement location dans le contexte courant à la matrice 2 × 2 value. Les éléments de la matrice doivent être spécifiés dans le sens des colonnes.

Cette fonction a été introduite dans Qt 4.7.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const GLfloat[3][3] value )

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

Définit la variable uniforme à l'emplacement location dans le contexte courant à la matrice 3 × 3 value. Les éléments de la matrice doivent être spécifiés dans le sens des colonnes.

Cette fonction a été introduite dans Qt 4.7.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const GLfloat[4][4] value )

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

Définit la variable uniforme à l'emplacement location dans le contexte courant à la matrice 4 × 4 value. Les éléments de la matrice doivent être spécifiés dans le sens des colonnes.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const GLfloat[2][2] value )

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

Définit la variable uniforme appelée name dans le contexte courant à la matrice 2 × 2 value. Les éléments de la matrice doivent être spécifiés dans le sens des colonnes.

Cette fonction a été introduite dans Qt 4.7.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const GLfloat[3][3] value )

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

Définit la variable uniforme appelée name dans le contexte courant à la matrice 3 × 3 value. Les éléments de la matrice doivent être spécifiés dans le sens des colonnes.

Cette fonction a été introduite dans Qt 4.7.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const GLfloat[4][4] value )

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

Définit la variable uniforme appelée name dans le contexte courant à la matrice 4 × 4 value. Les éléments de la matrice doivent être spécifiés dans le sens des colonnes.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QTransform & value )

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

Définit la variable uniforme appelée name dans le contexte courant à la matrice de transformation 3 × 3 qui est spécifié sous la forme d'un QTransform.

Pour définir un QTransform comme matrice 4 × 4 dans un shader, utiliser setUniformValue(name, QMatrix4x4(value)).

void QGLShaderProgram::setUniformValue ( int location, GLint value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la valeur value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, GLuint value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la valeur value. Cette fonction doit être utilisée lors de la définition de valeurs d'échantillon.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, GLfloat x, GLfloat y )

Définit la variable uniforme à l'emplacement location dans le contexte courant au vecteur 2D (x, y).

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, GLfloat x, GLfloat y, GLfloat z )

Définit la variable uniforme à l'emplacement location dans le contexte courant au vecteur 3D (x, y, z).

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, GLfloat x, GLfloat y, GLfloat z, GLfloat w )

Définit la variable uniforme à l'emplacement location dans le contexte courant au vecteur 4D (x, y, z, w).

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QVector2D & value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la valeur value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QVector3D & value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la valeur value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QVector4D & value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la valeur value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QColor & color )

Définit la variable uniforme à l'emplacement location dans le contexte courant aux composantes rouge, vert, bleu et alpha de la couleur color.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QPoint & point )

Définit la variable uniforme à l'emplacement location dans le contexte courant aux coordonnées x et y de point.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QPointF & point )

Définit la variable uniforme à l'emplacement location dans le contexte courant aux coordonnées x et y de point.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QSize & size )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la largeur et hauteur de la taille size donnée.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QSizeF & size )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la largeur et hauteur de la taille size donnée.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QMatrix2x2 & value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la matrice 2 × 2 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QMatrix2x3 & value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la matrice 2 × 3 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QMatrix2x4 & value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la matrice 2 × 4 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QMatrix3x2 & value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la matrice 3 × 2 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QMatrix3x3 & value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la matrice 3 × 3 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QMatrix3x4 & value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la matrice 3 × 4 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QMatrix4x2 & value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la matrice 4 × 2 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QMatrix4x3 & value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la matrice 4 × 3 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QMatrix4x4 & value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la matrice 4 × 4 value.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( int location, const QTransform & value )

Définit la variable uniforme à l'emplacement location dans le contexte courant à la matrice de transformation 3 × 3 value qui est spécifiée sous la forme d'un QTransform.

Pour définir un QTransform comme matrice 4 × 4 dans un shader, utiliser setUniformValue(location, QMatrix4x4(value)).

void QGLShaderProgram::setUniformValue ( const char * name, GLfloat value )

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

Définit la variable uniforme appelée name dans le contexte courant à la valeur valeur.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, GLint value )

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

Définit la variable uniforme appelée name dans le contexte courant à la valeur valeur.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, GLuint value )

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

Définit la variable uniforme appelée name dans le contexte courant à la valeur valeur. Cette fonction doit être utilisée lors de la définition des valeurs des échantillons.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, GLfloat x, GLfloat y )

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

Définit la variable uniforme appelée name dans le contexte courant au vecteur 2D (x, y).

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, GLfloat x, GLfloat y, GLfloat z )

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

Définit la variable uniforme appelée name dans le contexte courant au vecteur 3D (x, y, z).

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w )

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

Définit la variable uniforme appelée name dans le contexte courant au vecteur 4D (x, y, z, w).

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QVector2D & value )

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

Définit la variable uniforme appelée name dans le contexte courant au vecteur 2D valeur.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QVector3D & value )

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

Définit la variable uniforme appelée name dans le contexte courant au vecteur 3D valeur.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QVector4D & value )

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

Définit la variable uniforme appelée name dans le contexte courant au vecteur 4D valeur.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QColor & color )

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

Définit la variable uniforme appelée name dans le contexte courant aux composantes rouge, vert, bleu et alpha de la couleur color.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValue ( const char * name, const QPoint & point )

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

Définit la variable uniforme associée au nom name dans le contexte courant aux coordonnées x et y de point.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( int location, const GLfloat * values, int count, int tupleSize )

Définit le tableau de variables uniformes à l'emplacement location dans le contexte courant du nombre count d'éléments aux valeurs values. Chaque élément a une taille tupleSize. Le paramètre tupleSize doit être 1, 2, 3 ou 4.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( int location, const GLint * values, int count )

Définit le tableau de variables uniformes à l'emplacement location dans le contexte courant du nombre count d'éléments aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( int location, const GLuint * values, int count )

Définit le tableau de variables uniformes à l'emplacement location dans le contexte courant du nombre count d'éléments aux valeurs values. Cette fonction surchargée doit être utilisée lors de la définition des valeurs d'un tableau d'échantillons.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( int location, const QVector2D * values, int count )

Définit le tableau de variables uniformes à l'emplacement location dans le contexte courant du nombre count d'éléments de vecteurs 2D aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( int location, const QVector3D * values, int count )

Définit le tableau de variables uniformes à l'emplacement location dans le contexte courant du nombre count d'éléments de vecteurs 3D aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( int location, const QVector4D * values, int count )

Définit le tableau de variables uniformes à l'emplacement location dans le contexte courant du nombre count d'éléments de vecteurs 4D aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( int location, const QMatrix2x2 * values, int count )

Définit le tableau de variables uniformes à l'emplacement location dans le contexte courant du nombre count d'éléments de matrices 2 × 2 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( int location, const QMatrix2x3 * values, int count )

Définit le tableau de variables uniformes à l'emplacement location dans le contexte courant du nombre count d'éléments de matrices 2 × 3 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( int location, const QMatrix2x4 * values, int count )

Définit le tableau de variables uniformes à l'emplacement location dans le contexte courant du nombre count d'éléments de matrices 2 × 4 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( int location, const QMatrix3x2 * values, int count )

Définit le tableau de variables uniformes à l'emplacement location dans le contexte courant du nombre count d'éléments de matrices 3 × 2 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( int location, const QMatrix3x3 * values, int count )

Définit le tableau de variables uniformes à l'emplacement location dans le contexte courant du nombre count d'éléments de matrices 3 × 3 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( int location, const QMatrix3x4 * values, int count )

Définit le tableau de variables uniformes à l'emplacement location dans le contexte courant du nombre count d'éléments de matrices 3 × 4 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( int location, const QMatrix4x2 * values, int count )

Définit le tableau de variables uniformes à l'emplacement location dans le contexte courant du nombre count d'éléments de matrices 4 × 2 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( int location, const QMatrix4x3 * values, int count )

Définit le tableau de variables uniformes à l'emplacement location dans le contexte courant du nombre count d'éléments de matrices 4 × 3 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( int location, const QMatrix4x4 * values, int count )

Définit le tableau de variables uniformes à l'emplacement location dans le contexte courant du nombre count d'éléments de matrices 4 × 4 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( const char * name, const GLint * values, int count )

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

Définit le tableau de variables uniformes appelé name dans le contexte courant du nombre count d'éléments aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( const char * name, const GLuint * values, int count )

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

Définit le tableau de variables uniformes appelé name dans le contexte courant du nombre count d'éléments aux valeurs values. Cette surcharge doit être utilisée lors de la définition des valeurs d'un tableau d'échantillons.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( const char * name, const GLfloat * values, int count, int tupleSize )

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

Définit le tableau de variables uniformes appelé name dans le contexte courant du nombre count d'éléments aux valeurs values. Chaque élément à une taille tupleSize. Le paramètre tupleSize doit être 1, 2, 3 ou 4.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( const char * name, const QVector2D * values, int count )

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

Définit le tableau de variables uniformes appelé name dans le contexte courant du nombre count d'éléments de vecteur 4D aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( const char * name, const QVector3D * values, int count )

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

Définit le tableau de variables uniformes appelé name dans le contexte courant du nombre count d'éléments de vecteur 3D aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( const char * name, const QVector4D * values, int count )

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

Définit le tableau de variables uniformes appelé name dans le contexte courant du nombre count d'éléments de vecteur 4D aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( const char * name, const QMatrix2x2 * values, int count )

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

Définit le tableau de variables uniformes appelé name dans le contexte courant du nombre count d'éléments de matrices 2 × 2 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( const char * name, const QMatrix2x3 * values, int count )

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

Définit le tableau de variables uniformes appelé name dans le contexte courant du nombre count d'éléments de matrices 2 × 3 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( const char * name, const QMatrix2x4 * values, int count )

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

Définit le tableau de variables uniformes appelé name dans le contexte courant du nombre count d'éléments de matrices 2 × 4 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( const char * name, const QMatrix3x2 * values, int count )

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

Définit le tableau de variables uniformes appelé name dans le contexte courant du nombre count d'éléments de matrices 3 × 2 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( const char * name, const QMatrix3x3 * values, int count )

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

Définit le tableau de variables uniformes appelé name dans le contexte courant du nombre count d'éléments de matrices 3 × 3 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( const char * name, const QMatrix3x4 * values, int count )

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

Définit le tableau de variables uniformes appelé name dans le contexte courant du nombre count d'éléments de matrices 3 × 4 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( const char * name, const QMatrix4x2 * values, int count )

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

Définit le tableau de variables uniformes appelé name dans le contexte courant du nombre count d'éléments de matrices 4 × 2 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( const char * name, const QMatrix4x3 * values, int count )

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

Définit le tableau de variables uniformes appelé name dans le contexte courant du nombre count d'éléments de matrices 4 × 3 aux valeurs values.

Voir aussi setAttributeValue().

void QGLShaderProgram::setUniformValueArray ( const char * name, const QMatrix4x4 * values, int count )

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

Définit le tableau de variables uniformes appelé name dans le contexte courant du nombre count d'éléments de matrices 4 × 4 aux valeurs values.

Voir aussi setAttributeValue().

QList<QGLShader *> QGLShaderProgram::shaders () const

Retourne une liste de tous les shaders qui ont été ajoutés à ce programme shader avec la fonction addShader().

Voir aussi addShader() et removeShader().

int QGLShaderProgram::uniformLocation ( const char * name ) const

Retourne l'emplacement dans la liste de paramètres du programme shader de la variable uniforme name. Retourne -1 si name n'est pas une variable uniforme valide pour ce programme shader.

Voir aussi attributeLocation().

int QGLShaderProgram::uniformLocation ( const QByteArray & name ) const

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

Retourne l'emplacement dans la liste de paramètres du programme shader de la variable uniforme name. Retourne -1 si name n'est pas une variable uniforme valide pour ce programme shader.

Voir aussi attributeLocation().

int QGLShaderProgram::uniformLocation ( const QString & name ) const

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

Retourne l'emplacement dans la liste de paramètres du programme shader de la variable uniforme name. Retourne -1 si name n'est pas une variable uniforme valide pour ce programme shader.

Voir aussi attributeLocation().

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 Developer Network au hasard

Logo

Comment fermer une application

Le Qt Developer Network est un réseau de développeurs Qt anglophone, où ils peuvent partager leur expérience sur le framework. 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