class QShaderProgramBuilder#

从加载的图中生成着色器程序内容。 更多

Inheritance diagram of PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder

概述#

属性#

方法#

#

信号#

说明

此文档可能包含从 C++ 自动翻译成 Python 的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,您也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来让我们知道。

详细描述#

着色程序构建器由用于生成着色代码的几个不同着色器图组成。

维护一个生成的着色代码缓存。默认情况下,生成的着色器保存在 QStandardPaths::writableLocation(QStandardPaths::TempLocation))。可以通过设置环境变量 QT3D_WRITABLE_CACHE_PATH 为一个有效的可写路径来覆盖此路径。

通过设置环境变量 QT3D_DISABLE_SHADER_CACHE 可以禁用缓存的使用。

在大多数情况下,对图的更改会被 Qt 3D 检测到,并将生成新的缓存条目。不会发生这种情况的一个例子是当一个图包含的代码片段被更改时。要解决此问题,可以使用清除缓存目录或设置环境变量 QT3D_REBUILD_SHADER_CACHE 来强制重新生成着色代码。

说明

可以在使用 from __feature__ import true_property 时直接使用属性,否则通过访问函数使用。

属性computeShaderCodeˈ: QByteArray#

存储生成的计算着色器代码。

访问函数
属性computeShaderGraphˈ: QUrl#

存储此着色程序构建器所使用的计算着色器图的 URL。

访问函数
属性enabledLayersˈ: 字符串列表#

存储此构建器在代码生成期间将在着色器图上激活的层列表。

访问函数
属性 fragmentShaderCode: QByteArray#

保存生成的片段着色器代码。

访问函数
属性 fragmentShaderGraph: QUrl#

保存由该着色器程序构建器使用的片段着色器图的URL。

访问函数
属性 geometryShaderCode: QByteArray#

保存生成的几何着色器代码。

访问函数
属性 geometryShaderGraph: QUrl#

保存由该着色器程序构建器使用的几何着色器图的URL。

访问函数
属性 shaderProgram: QShaderProgram#

保存该构建器生成代码的着色器程序。

访问函数
属性 tessellationControlShaderCode: QByteArray#

保存生成的细分控制着色器代码。

访问函数
属性 tessellationControlShaderGraphᅟ: QUrl#

保留由该着色器程序构建器使用的网格控制着色器图的URL。

访问函数
属性 tessellationEvaluationShaderCodeᅟ: QByteArray#

保留生成的网格评估着色器代码。

访问函数
属性 tessellationEvaluationShaderGraphᅟ: QUrl#

保留由该着色器程序构建器使用的网格评估着色器图的URL。

访问函数
属性 vertexShaderCodeᅟ: QByteArray#

保留生成的顶点着色器代码。

访问函数
属性 vertexShaderGraphᅟ: QUrl#

保留由该着色器程序构建器使用的顶点着色器图的URL。

访问函数
__init__([parent=None])#
参数:

parentQNode

computeShaderCode()#
返回类型:

QByteArray

属性computeShaderCode 的获取器。

computeShaderCodeChanged(computeShaderCode)#
参数:

computeShaderCode - QByteArray

属性computeShaderCode 的通知信号。

computeShaderGraph()#
返回类型:

QUrl

请参阅

setComputeShaderGraph()

属性computeShaderGraph 的获取器。

computeShaderGraphChanged(computeShaderGraph)#
参数:

computeShaderGraph - QUrl

属性computeShaderGraph 的通知信号。

enabledLayers()#
返回类型:

字符串列表

请参阅

setEnabledLayers()

属性enabledLayers 的获取器。

enabledLayersChanged(layers)#
参数:

layers - 字符串列表

属性enabledLayers 的通知信号。

fragmentShaderCode()#
返回类型:

QByteArray

属性fragmentShaderCode 的获取器。

fragmentShaderCodeChanged(fragmentShaderCode)#
参数:

fragmentShaderCode - QByteArray

属性fragmentShaderCode 的通知信号。

fragmentShaderGraph()#
返回类型:

QUrl

请参阅

setFragmentShaderGraph()

属性 fragmentShaderGraph 的获取器。

fragmentShaderGraphChanged(fragmentShaderGraph)#
参数:

fragmentShaderGraphQUrl

属性 fragmentShaderGraph 的通知信号。

geometryShaderCode()#
返回类型:

QByteArray

属性 geometryShaderCode 的获取器。

geometryShaderCodeChanged(geometryShaderCode)#
参数:

geometryShaderCodeQByteArray

属性 geometryShaderCode 的通知信号。

geometryShaderGraph()#
返回类型:

QUrl

请参阅

setGeometryShaderGraph()

属性 geometryShaderGraph 的获取器。

geometryShaderGraphChanged(geometryShaderGraph)#
参数:

geometryShaderGraphQUrl

属性 geometryShaderGraph 的通知信号。

setComputeShaderGraph(computeShaderGraph)#
参数:

computeShaderGraph - QUrl

请参阅

computeShaderGraph()

属性 computeShaderGraph 的设置器。

setEnabledLayers(layers)#
参数:

layers - 字符串列表

请参阅

enabledLayers()

属性 enabledLayers 的设置器。

setFragmentShaderGraph(fragmentShaderGraph)#
参数:

fragmentShaderGraphQUrl

请参阅

fragmentShaderGraph()

属性 fragmentShaderGraph 的设置器。

setGeometryShaderGraph(geometryShaderGraph)#
参数:

geometryShaderGraphQUrl

请参阅

geometryShaderGraph()

属性 geometryShaderGraph 的设置器。

setShaderProgram(program)#
参数:

programQShaderProgram

请参阅

shaderProgram()

属性 shaderProgram 的设置器。

setTessellationControlShaderGraph(tessellationControlShaderGraph)#
参数:

tessellationControlShaderGraphQUrl

请参阅

tessellationControlShaderGraph()

属性 tessellationControlShaderGraph 的设置器。

setTessellationEvaluationShaderGraph(tessellationEvaluationShaderGraph)#
参数:

tessellationEvaluationShaderGraphQUrl

请参阅

tessellationEvaluationShaderGraph()

属性 tessellationEvaluationShaderGraph 的设置器。

setVertexShaderGraph(vertexShaderGraph)#
参数:

vertexShaderGraphQUrl

请参阅

vertexShaderGraph()

属性 vertexShaderGraph 的设置器。

shaderProgram()#
返回类型:

QShaderProgram

请参阅

setShaderProgram()

属性 shaderProgram 的获取器。

shaderProgramChanged(shaderProgram)#
参数:

shaderProgramQShaderProgram

属性 shaderProgramᅟ 的通知信号。

tessellationControlShaderCode()#
返回类型:

QByteArray

tessellationControlShaderCodeᅟ 属性的获取器。

tessellationControlShaderCodeChanged(tessellationControlShaderCode)#
参数:

tessellationControlShaderCodeQByteArray

属性 tessellationControlShaderCodeᅟ 的通知信号。

tessellationControlShaderGraph()#
返回类型:

QUrl

请参阅

setTessellationControlShaderGraph()

tessellationControlShaderGraphᅟ 属性的获取器。

tessellationControlShaderGraphChanged(tessellationControlShaderGraph)#
参数:

tessellationControlShaderGraphQUrl

属性 tessellationControlShaderGraphᅟ 的通知信号。

tessellationEvaluationShaderCode()#
返回类型:

QByteArray

tessellationEvaluationShaderCodeᅟ 属性的获取器。

tessellationEvaluationShaderCodeChanged(tessellationEvaluationShaderCode)#
参数:

tessellationEvaluationShaderCodeQByteArray

属性 tessellationEvaluationShaderCodeᅟ 的通知信号。

tessellationEvaluationShaderGraph()#
返回类型:

QUrl

请参阅

setTessellationEvaluationShaderGraph()

属性 tessellationEvaluationShaderGraphᅟ 的获取器。

tessellationEvaluationShaderGraphChanged(tessellationEvaluationShaderGraph)#
参数:

tessellationEvaluationShaderGraphQUrl

属性 tessellationEvaluationShaderGraph 的通知信号。

vertexShaderCode()#
返回类型:

QByteArray

属性 vertexShaderCode 的获取器。

vertexShaderCodeChanged(vertexShaderCode)
参数:

vertexShaderCodeQByteArray

属性 vertexShaderCode 的通知信号。

vertexShaderGraph()#
返回类型:

QUrl

请参阅

setVertexShaderGraph()

属性 vertexShaderGraph 的获取器。

vertexShaderGraphChanged(vertexShaderGraph)#
参数:

vertexShaderGraphQUrl

属性 vertexShaderGraph 的通知信号。