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 Class Reference
[QtOpenGL module]

The QGLShader class allows OpenGL shaders to be compiled. More...

 #include <QGLShader>

This class is not part of the Qt GUI Framework Edition.

Inherits QObject.

This class was introduced in Qt 4.6.


Public Types

flags ShaderType
enum ShaderTypeBit { Vertex, Fragment }

Public Functions

QGLShader ( QGLShader::ShaderType type, QObject * parent = 0 )
QGLShader ( QGLShader::ShaderType type, const QGLContext * context, QObject * parent = 0 )
virtual ~QGLShader ()
bool compileSourceCode ( const char * source )
bool compileSourceCode ( const QByteArray & source )
bool compileSourceCode ( const QString & source )
bool compileSourceFile ( const QString & fileName )
bool isCompiled () const
QString log () const
GLuint shaderId () const
QGLShader::ShaderType shaderType () const
QByteArray sourceCode () const
  • 29 public functions inherited from QObject

Additional Inherited Members

  • 1 property inherited from QObject
  • 1 public slot inherited from QObject
  • 1 signal inherited from QObject
  • 5 static public members inherited from QObject
  • 7 protected functions inherited from QObject

Detailed Description

The QGLShader class allows OpenGL shaders to be compiled.

This class supports shaders written in the OpenGL Shading Language (GLSL) and in the OpenGL/ES Shading Language (GLSL/ES).

QGLShader and QGLShaderProgram shelter the programmer from the details of compiling and linking vertex and fragment shaders.

See also QGLShaderProgram.


Member Type Documentation

enum QGLShader::ShaderTypeBit
flags QGLShader::ShaderType

This enum specifies the type of QGLShader that is being created.

ConstantValueDescription
QGLShader::Vertex0x0001Vertex shader written in the OpenGL Shading Language (GLSL).
QGLShader::Fragment0x0002Fragment shader written in the OpenGL Shading Language (GLSL).

The ShaderType type is a typedef for QFlags<ShaderTypeBit>. It stores an OR combination of ShaderTypeBit values.


Member Function Documentation

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

Constructs a new QGLShader object of the specified type and attaches it to parent. If shader programs are not supported, QGLShaderProgram::hasOpenGLShaderPrograms() will return false.

This constructor is normally followed by a call to compileSourceCode() or compileSourceFile().

The shader will be associated with the current QGLContext.

See also compileSourceCode() and compileSourceFile().

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

Constructs a new QGLShader object of the specified type and attaches it to parent. If shader programs are not supported, then QGLShaderProgram::hasOpenGLShaderPrograms() will return false.

This constructor is normally followed by a call to compileSourceCode() or compileSourceFile().

The shader will be associated with context.

See also compileSourceCode() and compileSourceFile().

QGLShader::~QGLShader ()   [virtual]

Deletes this shader. If the shader has been attached to a QGLShaderProgram object, then the actual shader will stay around until the QGLShaderProgram is destroyed.

bool QGLShader::compileSourceCode ( const char * source )

Sets the source code for this shader and compiles it. Returns true if the source was successfully compiled, false otherwise.

See also compileSourceFile().

bool QGLShader::compileSourceCode ( const QByteArray & source )

This is an overloaded function.

Sets the source code for this shader and compiles it. Returns true if the source was successfully compiled, false otherwise.

See also compileSourceFile().

bool QGLShader::compileSourceCode ( const QString & source )

This is an overloaded function.

Sets the source code for this shader and compiles it. Returns true if the source was successfully compiled, false otherwise.

See also compileSourceFile().

bool QGLShader::compileSourceFile ( const QString & fileName )

Sets the source code for this shader to the contents of fileName and compiles it. Returns true if the file could be opened and the source compiled, false otherwise.

See also compileSourceCode().

bool QGLShader::isCompiled () const

Returns true if this shader has been compiled; false otherwise.

See also compileSourceCode() and compileSourceFile().

QString QGLShader::log () const

Returns the errors and warnings that occurred during the last compile.

See also compileSourceCode() and compileSourceFile().

GLuint QGLShader::shaderId () const

Returns the OpenGL identifier associated with this shader.

See also QGLShaderProgram::programId().

QGLShader::ShaderType QGLShader::shaderType () const

Returns the type of this shader.

QByteArray QGLShader::sourceCode () const

Returns the source code for this shader.

See also compileSourceCode().

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.6
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