QShaderProgramBuilder — PyQt Documentation v6.9.0 (original) (raw)

PyQt6.Qt3DRender.QShaderProgramBuilder

Inherits from QNode.

Description

Generates a Shader Program content from loaded graphs.

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.

Methods

__init__(parent: QNode = None)

TODO


computeShaderCode() → QByteArray

TODO


computeShaderGraph() → QUrl


enabledLayers() → list[str]

See also

setEnabledLayers().


fragmentShaderCode() → QByteArray

TODO


fragmentShaderGraph() → QUrl


geometryShaderCode() → QByteArray

TODO


geometryShaderGraph() → QUrl


setComputeShaderGraph(QUrl)

See also

computeShaderGraph().


setEnabledLayers(Iterable[Optional[str]])

See also

enabledLayers().


setFragmentShaderGraph(QUrl)


setGeometryShaderGraph(QUrl)


setShaderProgram(QShaderProgram)

See also

shaderProgram().


setTessellationControlShaderGraph(QUrl)


setTessellationEvaluationShaderGraph(QUrl)


setVertexShaderGraph(QUrl)

See also

vertexShaderGraph().


shaderProgram() → QShaderProgram

See also

setShaderProgram().


tessellationControlShaderCode() → QByteArray

TODO


tessellationControlShaderGraph() → QUrl


tessellationEvaluationShaderCode() → QByteArray

TODO


tessellationEvaluationShaderGraph() → QUrl


vertexShaderCode() → QByteArray

TODO


vertexShaderGraph() → QUrl

Signals

computeShaderCodeChanged(Union[QByteArray, bytes, bytearray, memoryview])

TODO


computeShaderGraphChanged(QUrl)

TODO


enabledLayersChanged(Iterable[Optional[str]])

TODO


fragmentShaderCodeChanged(Union[QByteArray, bytes, bytearray, memoryview])

TODO


fragmentShaderGraphChanged(QUrl)

TODO


geometryShaderCodeChanged(Union[QByteArray, bytes, bytearray, memoryview])

TODO


geometryShaderGraphChanged(QUrl)

TODO


shaderProgramChanged(QShaderProgram)

TODO


tessellationControlShaderCodeChanged(Union[QByteArray, bytes, bytearray, memoryview])

TODO


tessellationControlShaderGraphChanged(QUrl)

TODO


tessellationEvaluationShaderCodeChanged(Union[QByteArray, bytes, bytearray, memoryview])

TODO


tessellationEvaluationShaderGraphChanged(QUrl)

TODO


vertexShaderCodeChanged(Union[QByteArray, bytes, bytearray, memoryview])

TODO


vertexShaderGraphChanged(QUrl)

TODO