QShaderProgramBuilder露

Generates a Shader Program content from loaded graphs. More鈥�

Inheritance diagram of PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder

New in version 5.10.

Synopsis露

Functions露

Slots露

Signals露

Detailed Description露

A shader program builder consists of several different shader graphs used to generate shader code.

A cache of generated shader code is maintained. Generated shaders are by defaults saved in writableLocation ( TempLocation )). This path can be overridden by setting environment variable QT3D_WRITABLE_CACHE_PATH to a valid writable path.

The use of the cache can be disabled by setting environment variable QT3D_DISABLE_SHADER_CACHE.

In most cases, changes made to a graph are detected by Qt 3D and a new cache entry will be generated. One case were this will not happen is when code snippets included by a graphs are changed. To work around that, clearing the cache directory or setting environment variable QT3D_REBUILD_SHADER_CACHE can be used to force shader code to be generated again.

class PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder([parent=None])露
Parameters:

parent 鈥� PySide2.Qt3DCore.Qt3DCore.QNode

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.computeShaderCode()露
Return type:

PySide2.QtCore.QByteArray

Holds the generate compute shader code.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.computeShaderCodeChanged(computeShaderCode)露
Parameters:

computeShaderCode 鈥� PySide2.QtCore.QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.computeShaderGraph()露
Return type:

PySide2.QtCore.QUrl

Holds the URL to the compute shader graph used by this shader program builder.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.computeShaderGraphChanged(computeShaderGraph)露
Parameters:

computeShaderGraph 鈥� PySide2.QtCore.QUrl

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.enabledLayers()露
Return type:

list of strings

Holds the list of layers this builder will activate on the shader graphs during code generation.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.enabledLayersChanged(layers)露
Parameters:

layers 鈥� list of strings

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.fragmentShaderCode()露
Return type:

PySide2.QtCore.QByteArray

Holds the generate fragment shader code.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.fragmentShaderCodeChanged(fragmentShaderCode)露
Parameters:

fragmentShaderCode 鈥� PySide2.QtCore.QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.fragmentShaderGraph()露
Return type:

PySide2.QtCore.QUrl

Holds the URL to the fragment shader graph used by this shader program builder.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.fragmentShaderGraphChanged(fragmentShaderGraph)露
Parameters:

fragmentShaderGraph 鈥� PySide2.QtCore.QUrl

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.geometryShaderCode()露
Return type:

PySide2.QtCore.QByteArray

Holds the generate geometry shader code.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.geometryShaderCodeChanged(geometryShaderCode)露
Parameters:

geometryShaderCode 鈥� PySide2.QtCore.QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.geometryShaderGraph()露
Return type:

PySide2.QtCore.QUrl

Holds the URL to the geometry shader graph used by this shader program builder.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.geometryShaderGraphChanged(geometryShaderGraph)露
Parameters:

geometryShaderGraph 鈥� PySide2.QtCore.QUrl

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.setComputeShaderGraph(computeShaderGraph)露
Parameters:

computeShaderGraph 鈥� PySide2.QtCore.QUrl

Holds the URL to the compute shader graph used by this shader program builder.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.setEnabledLayers(layers)露
Parameters:

layers 鈥� list of strings

Holds the list of layers this builder will activate on the shader graphs during code generation.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.setFragmentShaderGraph(fragmentShaderGraph)露
Parameters:

fragmentShaderGraph 鈥� PySide2.QtCore.QUrl

Holds the URL to the fragment shader graph used by this shader program builder.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.setGeometryShaderGraph(geometryShaderGraph)露
Parameters:

geometryShaderGraph 鈥� PySide2.QtCore.QUrl

Holds the URL to the geometry shader graph used by this shader program builder.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.setShaderProgram(program)露
Parameters:

program 鈥� PySide2.Qt3DRender.Qt3DRender.QShaderProgram

Holds the shader program on which this builder generates code.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.setTessellationControlShaderGraph(tessellationControlShaderGraph)露
Parameters:

tessellationControlShaderGraph 鈥� PySide2.QtCore.QUrl

Holds the URL to the tesselation control shader graph used by this shader program builder.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.setTessellationEvaluationShaderGraph(tessellationEvaluationShaderGraph)露
Parameters:

tessellationEvaluationShaderGraph 鈥� PySide2.QtCore.QUrl

Holds the URL to the tesselation evaluation shader graph used by this shader program builder.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.setVertexShaderGraph(vertexShaderGraph)露
Parameters:

vertexShaderGraph 鈥� PySide2.QtCore.QUrl

Holds the URL to the vertex shader graph used by this shader program builder.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.shaderProgram()露
Return type:

PySide2.Qt3DRender.Qt3DRender.QShaderProgram

Holds the shader program on which this builder generates code.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.shaderProgramChanged(shaderProgram)露
Parameters:

shaderProgram 鈥� PySide2.Qt3DRender.Qt3DRender.QShaderProgram

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationControlShaderCode()露
Return type:

PySide2.QtCore.QByteArray

Holds the generate tessellation control shader code.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationControlShaderCodeChanged(tessellationControlShaderCode)露
Parameters:

tessellationControlShaderCode 鈥� PySide2.QtCore.QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationControlShaderGraph()露
Return type:

PySide2.QtCore.QUrl

Holds the URL to the tesselation control shader graph used by this shader program builder.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationControlShaderGraphChanged(tessellationControlShaderGraph)露
Parameters:

tessellationControlShaderGraph 鈥� PySide2.QtCore.QUrl

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationEvaluationShaderCode()露
Return type:

PySide2.QtCore.QByteArray

Holds the generate tessellation evaluation shader code.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationEvaluationShaderCodeChanged(tessellationEvaluationShaderCode)露
Parameters:

tessellationEvaluationShaderCode 鈥� PySide2.QtCore.QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationEvaluationShaderGraph()露
Return type:

PySide2.QtCore.QUrl

Holds the URL to the tesselation evaluation shader graph used by this shader program builder.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationEvaluationShaderGraphChanged(tessellationEvaluationShaderGraph)露
Parameters:

tessellationEvaluationShaderGraph 鈥� PySide2.QtCore.QUrl

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.vertexShaderCode()露
Return type:

PySide2.QtCore.QByteArray

Holds the generate vertex shader code.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.vertexShaderCodeChanged(vertexShaderCode)露
Parameters:

vertexShaderCode 鈥� PySide2.QtCore.QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.vertexShaderGraph()露
Return type:

PySide2.QtCore.QUrl

Holds the URL to the vertex shader graph used by this shader program builder.

PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.vertexShaderGraphChanged(vertexShaderGraph)露
Parameters:

vertexShaderGraph 鈥� PySide2.QtCore.QUrl