PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder

class QShaderProgramBuilder

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

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时,属性可以直接使用,否则通过访问器函数使用。

property computeShaderCodeᅟ: QByteArray

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

Access functions:
property computeShaderGraphᅟ: QUrl

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

Access functions:
property enabledLayersᅟ: list of strings

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

Access functions:
property fragmentShaderCodeᅟ: QByteArray

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

Access functions:
property fragmentShaderGraphᅟ: QUrl

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

Access functions:
property geometryShaderCodeᅟ: QByteArray

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

Access functions:
property geometryShaderGraphᅟ: QUrl

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

Access functions:
property shaderProgramᅟ: QShaderProgram

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

Access functions:
property tessellationControlShaderCodeᅟ: QByteArray

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

Access functions:
property tessellationControlShaderGraphᅟ: QUrl

保存此着色器程序构建器使用的镶嵌控制着色器图的URL。

Access functions:
property tessellationEvaluationShaderCodeᅟ: QByteArray

保存生成的曲面细分评估着色器代码。

Access functions:
property tessellationEvaluationShaderGraphᅟ: QUrl

保存此着色器程序构建器使用的镶嵌评估着色器图的URL。

Access functions:
property vertexShaderCodeᅟ: QByteArray

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

Access functions:
property vertexShaderGraphᅟ: QUrl

保存此着色器程序构建器使用的顶点着色器图的URL。

Access functions:
__init__([parent=None])
Parameters:

parentQNode

computeShaderCode()
Return type:

QByteArray

属性 computeShaderCodeᅟ 的获取器。

computeShaderCodeChanged(computeShaderCode)
Parameters:

computeShaderCodeQByteArray

属性 computeShaderCodeᅟ 的通知信号。

computeShaderGraph()
Return type:

QUrl

另请参阅

setComputeShaderGraph()

属性 computeShaderGraphᅟ 的获取器。

computeShaderGraphChanged(computeShaderGraph)
Parameters:

computeShaderGraphQUrl

属性 computeShaderGraphᅟ 的通知信号。

enabledLayers()
Return type:

字符串列表

另请参阅

setEnabledLayers()

属性 enabledLayersᅟ 的获取器。

enabledLayersChanged(layers)
Parameters:

layers – 字符串列表

属性 enabledLayersᅟ 的通知信号。

fragmentShaderCode()
Return type:

QByteArray

属性 fragmentShaderCodeᅟ 的获取器。

fragmentShaderCodeChanged(fragmentShaderCode)
Parameters:

fragmentShaderCodeQByteArray

属性 fragmentShaderCodeᅟ 的通知信号。

fragmentShaderGraph()
Return type:

QUrl

另请参阅

setFragmentShaderGraph()

属性 fragmentShaderGraphᅟ 的获取器。

fragmentShaderGraphChanged(fragmentShaderGraph)
Parameters:

fragmentShaderGraphQUrl

属性 fragmentShaderGraphᅟ 的通知信号。

geometryShaderCode()
Return type:

QByteArray

获取属性 geometryShaderCodeᅟ 的Getter。

geometryShaderCodeChanged(geometryShaderCode)
Parameters:

geometryShaderCodeQByteArray

属性 geometryShaderCodeᅟ 的通知信号。

geometryShaderGraph()
Return type:

QUrl

另请参阅

setGeometryShaderGraph()

属性 geometryShaderGraphᅟ 的获取器。

geometryShaderGraphChanged(geometryShaderGraph)
Parameters:

geometryShaderGraphQUrl

属性 geometryShaderGraphᅟ 的通知信号。

setComputeShaderGraph(computeShaderGraph)
Parameters:

computeShaderGraphQUrl

另请参阅

computeShaderGraph()

属性 computeShaderGraphᅟ 的设置器。

setEnabledLayers(layers)
Parameters:

layers – 字符串列表

另请参阅

enabledLayers()

属性 enabledLayersᅟ 的设置器。

setFragmentShaderGraph(fragmentShaderGraph)
Parameters:

fragmentShaderGraphQUrl

另请参阅

fragmentShaderGraph()

属性 fragmentShaderGraphᅟ 的设置器。

setGeometryShaderGraph(geometryShaderGraph)
Parameters:

geometryShaderGraphQUrl

另请参阅

geometryShaderGraph()

属性 geometryShaderGraphᅟ 的设置器。

setShaderProgram(program)
Parameters:

程序QShaderProgram

另请参阅

shaderProgram()

属性 shaderProgramᅟ 的设置器。

setTessellationControlShaderGraph(tessellationControlShaderGraph)
Parameters:

tessellationControlShaderGraphQUrl

另请参阅

tessellationControlShaderGraph()

属性 tessellationControlShaderGraphᅟ 的设置器。

setTessellationEvaluationShaderGraph(tessellationEvaluationShaderGraph)
Parameters:

tessellationEvaluationShaderGraphQUrl

另请参阅

tessellationEvaluationShaderGraph()

属性 tessellationEvaluationShaderGraphᅟ 的设置器。

setVertexShaderGraph(vertexShaderGraph)
Parameters:

vertexShaderGraphQUrl

另请参阅

vertexShaderGraph()

属性 vertexShaderGraphᅟ 的设置器。

shaderProgram()
Return type:

QShaderProgram

另请参阅

setShaderProgram()

属性 shaderProgramᅟ 的获取器。

shaderProgramChanged(shaderProgram)
Parameters:

shaderProgramQShaderProgram

属性 shaderProgramᅟ 的通知信号。

tessellationControlShaderCode()
Return type:

QByteArray

属性 tessellationControlShaderCodeᅟ 的获取器。

tessellationControlShaderCodeChanged(tessellationControlShaderCode)
Parameters:

tessellationControlShaderCodeQByteArray

属性 tessellationControlShaderCodeᅟ 的通知信号。

tessellationControlShaderGraph()
Return type:

QUrl

另请参阅

setTessellationControlShaderGraph()

属性 tessellationControlShaderGraphᅟ 的获取器。

tessellationControlShaderGraphChanged(tessellationControlShaderGraph)
Parameters:

tessellationControlShaderGraphQUrl

属性 tessellationControlShaderGraphᅟ 的通知信号。

tessellationEvaluationShaderCode()
Return type:

QByteArray

属性 tessellationEvaluationShaderCodeᅟ 的获取器。

tessellationEvaluationShaderCodeChanged(tessellationEvaluationShaderCode)
Parameters:

tessellationEvaluationShaderCodeQByteArray

属性 tessellationEvaluationShaderCodeᅟ 的通知信号。

tessellationEvaluationShaderGraph()
Return type:

QUrl

另请参阅

setTessellationEvaluationShaderGraph()

属性 tessellationEvaluationShaderGraphᅟ 的获取器。

tessellationEvaluationShaderGraphChanged(tessellationEvaluationShaderGraph)
Parameters:

tessellationEvaluationShaderGraphQUrl

属性 tessellationEvaluationShaderGraphᅟ 的通知信号。

vertexShaderCode()
Return type:

QByteArray

属性 vertexShaderCodeᅟ 的获取器。

vertexShaderCodeChanged(vertexShaderCode)
Parameters:

vertexShaderCodeQByteArray

属性 vertexShaderCodeᅟ 的通知信号。

vertexShaderGraph()
Return type:

QUrl

另请参阅

setVertexShaderGraph()

属性 vertexShaderGraphᅟ 的获取器。

vertexShaderGraphChanged(vertexShaderGraph)
Parameters:

vertexShaderGraphQUrl

属性 vertexShaderGraphᅟ 的通知信号。