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 PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder([parent=None])¶
- Parameters:
parent –
PySide2.Qt3DCore.Qt3DCore.QNode
- PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.computeShaderCode()¶
- Return type:
Holds the generate compute shader code.
- PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.computeShaderCodeChanged(computeShaderCode)¶
- Parameters:
computeShaderCode –
PySide2.QtCore.QByteArray
- PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.computeShaderGraph()¶
- Return type:
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:
Holds the generate fragment shader code.
- PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.fragmentShaderCodeChanged(fragmentShaderCode)¶
- Parameters:
fragmentShaderCode –
PySide2.QtCore.QByteArray
- PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.fragmentShaderGraph()¶
- Return type:
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:
Holds the generate geometry shader code.
- PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.geometryShaderCodeChanged(geometryShaderCode)¶
- Parameters:
geometryShaderCode –
PySide2.QtCore.QByteArray
- PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.geometryShaderGraph()¶
- Return type:
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:
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:
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:
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:
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:
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:
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:
Holds the generate vertex shader code.
- PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.vertexShaderCodeChanged(vertexShaderCode)¶
- Parameters:
vertexShaderCode –
PySide2.QtCore.QByteArray
- PySide2.Qt3DRender.Qt3DRender.QShaderProgramBuilder.vertexShaderGraph()¶
- Return type:
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
© 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.