QOpenGLShader

The QOpenGLShader class allows OpenGL shaders to be compiled. More

Inheritance diagram of PySide6.QtOpenGL.QOpenGLShader

New in version 5.0.

Synopsis

Functions

Static functions

Detailed Description

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

QOpenGLShader and QOpenGLShaderProgram shelter the programmer from the details of compiling and linking vertex and fragment shaders.

class PySide6.QtOpenGL.QOpenGLShader(type[, parent=None])
Parameters

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

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

The shader will be associated with the current QOpenGLContext .

PySide6.QtOpenGL.QOpenGLShader.ShaderTypeBit

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

Constant

Description

QOpenGLShader.Vertex

Vertex shader written in the OpenGL Shading Language (GLSL).

QOpenGLShader.Fragment

Fragment shader written in the OpenGL Shading Language (GLSL).

QOpenGLShader.Geometry

Geometry shaders written in the OpenGL Shading Language (GLSL) (requires OpenGL >= 3.2 or OpenGL ES >= 3.2).

QOpenGLShader.TessellationControl

Tessellation control shaders written in the OpenGL shading language (GLSL) (requires OpenGL >= 4.0 or OpenGL ES >= 3.2).

QOpenGLShader.TessellationEvaluation

Tessellation evaluation shaders written in the OpenGL shading language (GLSL) (requires OpenGL >= 4.0 or OpenGL ES >= 3.2).

QOpenGLShader.Compute

Compute shaders written in the OpenGL shading language (GLSL) (requires OpenGL >= 4.3 or OpenGL ES >= 3.1).

PySide6.QtOpenGL.QOpenGLShader.compileSourceCode(source)
Parameters

sourcePySide6.QtCore.QByteArray

Return type

bool

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.

PySide6.QtOpenGL.QOpenGLShader.compileSourceCode(source)
Parameters

source – str

Return type

bool

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.

PySide6.QtOpenGL.QOpenGLShader.compileSourceCode(source)
Parameters

source – str

Return type

bool

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

PySide6.QtOpenGL.QOpenGLShader.compileSourceFile(fileName)
Parameters

fileName – str

Return type

bool

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.

static PySide6.QtOpenGL.QOpenGLShader.hasOpenGLShaders(type[, context=None])
Parameters
Return type

bool

Returns true if shader programs of type type are supported on this system; false otherwise.

The context is used to resolve the GLSL extensions. If context is None, then currentContext() is used.

PySide6.QtOpenGL.QOpenGLShader.isCompiled()
Return type

bool

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

PySide6.QtOpenGL.QOpenGLShader.log()
Return type

str

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

PySide6.QtOpenGL.QOpenGLShader.shaderId()
Return type

int

Returns the OpenGL identifier associated with this shader.

See also

programId()

PySide6.QtOpenGL.QOpenGLShader.shaderType()
Return type

ShaderType

Returns the type of this shader.

PySide6.QtOpenGL.QOpenGLShader.sourceCode()
Return type

PySide6.QtCore.QByteArray

Returns the source code for this shader.