PySide6.QtOpenGL.QOpenGLShader¶
- class QOpenGLShader¶
QOpenGLShader
类允许编译 OpenGL 着色器。更多…概要¶
方法¶
def
__init__()
def
isCompiled()
def
log()
def
shaderId()
def
shaderType()
def
sourceCode()
静态函数¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
该类支持使用OpenGL着色语言(GLSL)和OpenGL/ES着色语言(GLSL/ES)编写的着色器。
QOpenGLShader
和QOpenGLShaderProgram
使程序员无需了解编译和链接顶点和片段着色器的细节。另请参阅
- class ShaderTypeBit¶
(继承自
enum.Flag
) 此枚举指定正在创建的QOpenGLShader
的类型。常量
描述
QOpenGLShader.Vertex
用OpenGL着色语言(GLSL)编写的顶点着色器。
QOpenGLShader.Fragment
使用OpenGL着色语言(GLSL)编写的片段着色器。
QOpenGLShader.Geometry
使用OpenGL着色语言(GLSL)编写的几何着色器(需要OpenGL >= 3.2或OpenGL ES >= 3.2)。
QOpenGLShader.TessellationControl
使用OpenGL着色语言(GLSL)编写的曲面细分控制着色器(需要OpenGL >= 4.0或OpenGL ES >= 3.2)。
QOpenGLShader.TessellationEvaluation
使用OpenGL着色语言(GLSL)编写的细分评估着色器(需要OpenGL >= 4.0或OpenGL ES >= 3.2)。
QOpenGLShader.Compute
使用OpenGL着色语言(GLSL)编写的计算着色器(需要OpenGL >= 4.3或OpenGL ES >= 3.1)。
- __init__(type[, parent=None])¶
- Parameters:
type –
ShaderTypeBit
的组合parent –
QObject
构造一个新的
QOpenGLShader
对象,其类型为指定的type
,并将其附加到parent
。如果不支持着色器程序,hasOpenGLShaderPrograms()
将返回false。此构造函数通常后跟对
compileSourceCode()
或compileSourceFile()
的调用。着色器将与当前的 QOpenGLContext 关联。
- compileSourceCode(source)¶
- Parameters:
源 –
QByteArray
- Return type:
布尔
这是一个重载函数。
设置此着色器的
source
代码并编译它。如果源代码成功编译,则返回true
,否则返回false。另请参阅
- compileSourceCode(source)
- Parameters:
source – str
- Return type:
布尔
这是一个重载函数。
设置此着色器的
source
代码并编译它。如果源代码成功编译,则返回true
,否则返回false。另请参阅
- compileSourceCode(source)
- Parameters:
source – str
- Return type:
布尔
设置此着色器的
source
代码并编译它。如果源代码成功编译,则返回true
,否则返回false。另请参阅
- compileSourceFile(fileName)¶
- Parameters:
fileName – str
- Return type:
布尔
将此着色器的源代码设置为
fileName
的内容并编译它。如果文件可以打开并且源代码可以编译,则返回true
,否则返回false。另请参阅
- static hasOpenGLShaders(type[, context=None])¶
- Parameters:
type –
ShaderTypeBit
的组合context –
QOpenGLContext
- Return type:
布尔
如果此系统支持类型为
type
的着色器程序,则返回true
;否则返回 false。context
用于解析 GLSL 扩展。如果context
是None
,则使用 QOpenGLContext::currentContext()。- isCompiled()¶
- Return type:
布尔
如果此着色器已编译,则返回
true
;否则返回false。- log()¶
- Return type:
字符串
返回上次编译期间发生的错误和警告。
- shaderId()¶
- Return type:
整数
返回与此着色器关联的OpenGL标识符。
另请参阅
- shaderType()¶
- Return type:
ShaderTypeBit
的组合
返回此着色器的类型。
- sourceCode()¶
- Return type:
返回此着色器的源代码。
另请参阅