- 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
可以为程序员屏蔽编译和链接顶点着色器和片段着色器的细节。另请参阅
- 类 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])#
- 参数:
type –
ShaderTypeBit
组合parent –
QObject
构建一个新的指定的《code class="xref py py-class docutils literal notranslate">QOpenGLShader》类型的《code class="docutils literal notranslate">QOpenGLShader》对象,并将其附加到《code class="docutils literal notranslate">parent》。如果不支持着色器程序,则《code class="xref py py-meth docutils literal notranslate">hasOpenGLShaderPrograms()》将返回 false。
此构造函数通常随后调用《code class="xref py py-meth docutils literal notranslate">compileSourceCode()》或《code class="xref py py-meth docutils literal notranslate">compileSourceFile()》。
着色器将与当前 QOpenGLContext 相关联。
另请参阅
compileSourceCode
/compileSourceFile
- compileSourceCode(source)#
- 参数:
source – 《code class="xref py py-class docutils literal notranslate">QByteArray》
- 返回类型::
bool
这是一个重载函数。
为此着色器设置源代码并对其进行编译。如果源代码成功编译,返回
true
,否则返回false
。另请参阅
- compileSourceCode(source)
- 参数:
source – str
- 返回类型::
bool
这是一个重载函数。
为此着色器设置源代码并对其进行编译。如果源代码成功编译,返回
true
,否则返回false
。另请参阅
- compileSourceCode(source)
- 参数:
source – str
- 返回类型::
bool
为此着色器设置源代码并对其进行编译。如果源代码成功编译,返回
true
,否则返回false
。另请参阅
- compileSourceFile(fileName)#
- 参数:
fileName – str
- 返回类型::
bool
将此着色器的源代码设置为
fileName
中的内容并对其进行编译。如果文件可以打开且源代码已编译,返回true
,否则返回false
。另请参阅
- static hasOpenGLShaders(type[, context=None])#
- 参数:
type –
ShaderTypeBit
组合context – 《code class="xref py py-class docutils literal notranslate">QOpenGLContext》
- 返回类型::
bool
如果此系统支持类型为
type
的着色器程序,则返回true
;否则返回false
。使用
context
解析 GLSL 扩展。如果context
是None
,则使用QOpenGLContext::currentContext
。- isCompiled()#
- 返回类型::
bool
如果此着色器已编译,返回
true
;否则返回 false。另请参阅
compileSourceCode
/compileSourceFile
- log()#
- 返回类型::
str
返回最后编译过程中出现的错误和警告。
另请参阅
compileSourceCode
/compileSourceFile
- shaderId()#
- 返回类型::
int
返回与此着色器关联的 OpenGL 标识符。
另请参阅
- shaderType()#
- 返回类型::
是
ShaderTypeBit
的组合
返回此着色器的类型。
- sourceCode()#
- 返回类型::
返回此着色器的源代码。
另请参阅