- class QOpenGLShader#
The
QOpenGLShader
class allows OpenGL shaders to be compiled. More…Synopsis#
Methods#
def
__init__()
def
isCompiled()
def
log()
def
shaderId()
def
shaderType()
def
sourceCode()
Static functions#
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description#
This class supports shaders written in the OpenGL Shading Language (GLSL) and in the OpenGL/ES Shading Language (GLSL/ES).
QOpenGLShader
andQOpenGLShaderProgram
shelter the programmer from the details of compiling and linking vertex and fragment shaders.See also
- class ShaderTypeBit#
(inherits
enum.Flag
) This enum specifies the type ofQOpenGLShader
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).
- __init__(type[, parent=None])#
- Parameters:
type – Combination of
ShaderTypeBit
parent –
QObject
Constructs a new
QOpenGLShader
object of the specifiedtype
and attaches it toparent
. If shader programs are not supported,hasOpenGLShaderPrograms()
will return false.This constructor is normally followed by a call to
compileSourceCode()
orcompileSourceFile()
.The shader will be associated with the current QOpenGLContext.
See also
- compileSourceCode(source)#
- Parameters:
source –
QByteArray
- Return type:
bool
This is an overloaded function.
Sets the
source
code for this shader and compiles it. Returnstrue
if the source was successfully compiled, false otherwise.See also
- compileSourceCode(source)
- Parameters:
source – str
- Return type:
bool
This is an overloaded function.
Sets the
source
code for this shader and compiles it. Returnstrue
if the source was successfully compiled, false otherwise.See also
- compileSourceCode(source)
- Parameters:
source – str
- Return type:
bool
Sets the
source
code for this shader and compiles it. Returnstrue
if the source was successfully compiled, false otherwise.See also
- compileSourceFile(fileName)#
- Parameters:
fileName – str
- Return type:
bool
Sets the source code for this shader to the contents of
fileName
and compiles it. Returnstrue
if the file could be opened and the source compiled, false otherwise.See also
- static hasOpenGLShaders(type[, context=None])#
- Parameters:
type – Combination of
ShaderTypeBit
context –
QOpenGLContext
- Return type:
bool
Returns
true
if shader programs of typetype
are supported on this system; false otherwise.The
context
is used to resolve the GLSL extensions. Ifcontext
isNone
, then QOpenGLContext::currentContext() is used.- isCompiled()#
- Return type:
bool
Returns
true
if this shader has been compiled; false otherwise.See also
- log()#
- Return type:
str
Returns the errors and warnings that occurred during the last compile.
See also
- shaderId()#
- Return type:
int
Returns the OpenGL identifier associated with this shader.
See also
- shaderType()#
- Return type:
Combination of
ShaderTypeBit
Returns the type of this shader.
- sourceCode()#
- Return type:
Returns the source code for this shader.
See also