QShaderProgramBuilder¶
Generates a Shader Program content from loaded graphs. More…
New in version 5.10.
Synopsis¶
Functions¶
def
computeShaderCode
()def
computeShaderGraph
()def
enabledLayers
()def
fragmentShaderCode
()def
fragmentShaderGraph
()def
geometryShaderCode
()def
geometryShaderGraph
()def
shaderProgram
()def
vertexShaderCode
()def
vertexShaderGraph
()
Slots¶
def
setComputeShaderGraph
(computeShaderGraph)def
setEnabledLayers
(layers)def
setFragmentShaderGraph
(fragmentShaderGraph)def
setGeometryShaderGraph
(geometryShaderGraph)def
setShaderProgram
(program)def
setTessellationControlShaderGraph
(tessellationControlShaderGraph)def
setTessellationEvaluationShaderGraph
(tessellationEvaluationShaderGraph)def
setVertexShaderGraph
(vertexShaderGraph)
Signals¶
def
computeShaderCodeChanged
(computeShaderCode)def
computeShaderGraphChanged
(computeShaderGraph)def
enabledLayersChanged
(layers)def
fragmentShaderCodeChanged
(fragmentShaderCode)def
fragmentShaderGraphChanged
(fragmentShaderGraph)def
geometryShaderCodeChanged
(geometryShaderCode)def
geometryShaderGraphChanged
(geometryShaderGraph)def
shaderProgramChanged
(shaderProgram)def
tessellationControlShaderCodeChanged
(tessellationControlShaderCode)def
tessellationControlShaderGraphChanged
(tessellationControlShaderGraph)def
tessellationEvaluationShaderCodeChanged
(tessellationEvaluationShaderCode)def
tessellationEvaluationShaderGraphChanged
(tessellationEvaluationShaderGraph)def
vertexShaderCodeChanged
(vertexShaderCode)def
vertexShaderGraphChanged
(vertexShaderGraph)
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 PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder([parent=None])¶
- Parameters
parent –
PySide6.Qt3DCore.Qt3DCore.QNode
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.computeShaderCode()¶
- Return type
Holds the generate compute shader code.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.computeShaderCodeChanged(computeShaderCode)¶
- Parameters
computeShaderCode –
PySide6.QtCore.QByteArray
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.computeShaderGraph()¶
- Return type
Holds the URL to the compute shader graph used by this shader program builder.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.computeShaderGraphChanged(computeShaderGraph)¶
- Parameters
computeShaderGraph –
PySide6.QtCore.QUrl
- PySide6.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.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.enabledLayersChanged(layers)¶
- Parameters
layers – list of strings
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.fragmentShaderCode()¶
- Return type
Holds the generate fragment shader code.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.fragmentShaderCodeChanged(fragmentShaderCode)¶
- Parameters
fragmentShaderCode –
PySide6.QtCore.QByteArray
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.fragmentShaderGraph()¶
- Return type
Holds the URL to the fragment shader graph used by this shader program builder.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.fragmentShaderGraphChanged(fragmentShaderGraph)¶
- Parameters
fragmentShaderGraph –
PySide6.QtCore.QUrl
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.geometryShaderCode()¶
- Return type
Holds the generate geometry shader code.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.geometryShaderCodeChanged(geometryShaderCode)¶
- Parameters
geometryShaderCode –
PySide6.QtCore.QByteArray
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.geometryShaderGraph()¶
- Return type
Holds the URL to the geometry shader graph used by this shader program builder.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.geometryShaderGraphChanged(geometryShaderGraph)¶
- Parameters
geometryShaderGraph –
PySide6.QtCore.QUrl
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.setComputeShaderGraph(computeShaderGraph)¶
- Parameters
computeShaderGraph –
PySide6.QtCore.QUrl
Holds the URL to the compute shader graph used by this shader program builder.
- PySide6.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.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.setFragmentShaderGraph(fragmentShaderGraph)¶
- Parameters
fragmentShaderGraph –
PySide6.QtCore.QUrl
Holds the URL to the fragment shader graph used by this shader program builder.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.setGeometryShaderGraph(geometryShaderGraph)¶
- Parameters
geometryShaderGraph –
PySide6.QtCore.QUrl
Holds the URL to the geometry shader graph used by this shader program builder.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.setShaderProgram(program)¶
- Parameters
Holds the shader program on which this builder generates code.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.setTessellationControlShaderGraph(tessellationControlShaderGraph)¶
- Parameters
tessellationControlShaderGraph –
PySide6.QtCore.QUrl
Holds the URL to the tesselation control shader graph used by this shader program builder.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.setTessellationEvaluationShaderGraph(tessellationEvaluationShaderGraph)¶
- Parameters
tessellationEvaluationShaderGraph –
PySide6.QtCore.QUrl
Holds the URL to the tesselation evaluation shader graph used by this shader program builder.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.setVertexShaderGraph(vertexShaderGraph)¶
- Parameters
vertexShaderGraph –
PySide6.QtCore.QUrl
Holds the URL to the vertex shader graph used by this shader program builder.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.shaderProgram()¶
- Return type
Holds the shader program on which this builder generates code.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.shaderProgramChanged(shaderProgram)¶
- Parameters
shaderProgram –
PySide6.Qt3DRender.Qt3DRender.QShaderProgram
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationControlShaderCode()¶
- Return type
Holds the generate tessellation control shader code.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationControlShaderCodeChanged(tessellationControlShaderCode)¶
- Parameters
tessellationControlShaderCode –
PySide6.QtCore.QByteArray
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationControlShaderGraph()¶
- Return type
Holds the URL to the tesselation control shader graph used by this shader program builder.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationControlShaderGraphChanged(tessellationControlShaderGraph)¶
- Parameters
tessellationControlShaderGraph –
PySide6.QtCore.QUrl
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationEvaluationShaderCode()¶
- Return type
Holds the generate tessellation evaluation shader code.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationEvaluationShaderCodeChanged(tessellationEvaluationShaderCode)¶
- Parameters
tessellationEvaluationShaderCode –
PySide6.QtCore.QByteArray
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationEvaluationShaderGraph()¶
- Return type
Holds the URL to the tesselation evaluation shader graph used by this shader program builder.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.tessellationEvaluationShaderGraphChanged(tessellationEvaluationShaderGraph)¶
- Parameters
tessellationEvaluationShaderGraph –
PySide6.QtCore.QUrl
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.vertexShaderCode()¶
- Return type
Holds the generate vertex shader code.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.vertexShaderCodeChanged(vertexShaderCode)¶
- Parameters
vertexShaderCode –
PySide6.QtCore.QByteArray
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.vertexShaderGraph()¶
- Return type
Holds the URL to the vertex shader graph used by this shader program builder.
- PySide6.Qt3DRender.Qt3DRender.QShaderProgramBuilder.vertexShaderGraphChanged(vertexShaderGraph)¶
- Parameters
vertexShaderGraph –
PySide6.QtCore.QUrl
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.