QShaderProgramBuilder Class▲
-
Header: QShaderProgramBuilder
-
Since: Qt 5.10
-
CMake:
find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
-
qmake: QT += 3drender
-
Inherited By:
-
Instantiated By: qml-qt3d-render-shaderprogrambuilder.xml
-
Inherits: Qt3DCore::QNode
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 QStandardPaths::writableLocation(QStandardPaths::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.
Property Documentation▲
[read-only, since 5.13] computeShaderCode : const QByteArray▲
Holds the generate compute shader code.
This property was introduced in Qt 5.13.
Access functions:
-
QByteArray computeShaderCode() const
Notifier signal:
-
void computeShaderCodeChanged(const QByteArray &computeShaderCode)
computeShaderGraph : QUrl▲
Holds the URL to the compute shader graph used by this shader program builder.
Access functions:
-
QUrl computeShaderGraph() const
-
void setComputeShaderGraph(const QUrl &computeShaderGraph)
Notifier signal:
-
void computeShaderGraphChanged(const QUrl &computeShaderGraph)
enabledLayers : QStringList▲
Holds the list of layers this builder will activate on the shader graphs during code generation.
Access functions:
-
QStringList enabledLayers() const
-
void setEnabledLayers(const QStringList &layers)
Notifier signal:
-
void enabledLayersChanged(const QStringList &layers)
[read-only, since 5.13] fragmentShaderCode : const QByteArray▲
Holds the generate fragment shader code.
This property was introduced in Qt 5.13.
Access functions:
-
QByteArray fragmentShaderCode() const
Notifier signal:
-
void fragmentShaderCodeChanged(const QByteArray &fragmentShaderCode)
fragmentShaderGraph : QUrl▲
Holds the URL to the fragment shader graph used by this shader program builder.
Access functions:
-
QUrl fragmentShaderGraph() const
-
void setFragmentShaderGraph(const QUrl &fragmentShaderGraph)
Notifier signal:
-
void fragmentShaderGraphChanged(const QUrl &fragmentShaderGraph)
[read-only, since 5.13] geometryShaderCode : const QByteArray▲
Holds the generate geometry shader code.
This property was introduced in Qt 5.13.
Access functions:
-
QByteArray geometryShaderCode() const
Notifier signal:
-
void geometryShaderCodeChanged(const QByteArray &geometryShaderCode)
geometryShaderGraph : QUrl▲
Holds the URL to the geometry shader graph used by this shader program builder.
Access functions:
-
QUrl geometryShaderGraph() const
-
void setGeometryShaderGraph(const QUrl &geometryShaderGraph)
Notifier signal:
-
void geometryShaderGraphChanged(const QUrl &geometryShaderGraph)
shaderProgram : Qt3DRender::QShaderProgram*▲
Holds the shader program on which this builder generates code.
Access functions:
-
*shaderProgram() const
-
void setShaderProgram( *program)
Notifier signal:
-
void shaderProgramChanged( *shaderProgram)
[read-only, since 5.13] tessellationControlShaderCode : const QByteArray▲
Holds the generate tessellation control shader code.
This property was introduced in Qt 5.13.
Access functions:
-
QByteArray tessellationControlShaderCode() const
Notifier signal:
-
void tessellationControlShaderCodeChanged(const QByteArray &tessellationControlShaderCode)
tessellationControlShaderGraph : QUrl▲
Holds the URL to the tesselation control shader graph used by this shader program builder.
Access functions:
-
QUrl tessellationControlShaderGraph() const
-
void setTessellationControlShaderGraph(const QUrl &tessellationControlShaderGraph)
Notifier signal:
-
void tessellationControlShaderGraphChanged(const QUrl &tessellationControlShaderGraph)
[read-only, since 5.13] tessellationEvaluationShaderCode : const QByteArray▲
Holds the generate tessellation evaluation shader code.
This property was introduced in Qt 5.13.
Access functions:
-
QByteArray tessellationEvaluationShaderCode() const
Notifier signal:
-
void tessellationEvaluationShaderCodeChanged(const QByteArray &tessellationEvaluationShaderCode)
tessellationEvaluationShaderGraph : QUrl▲
Holds the URL to the tesselation evaluation shader graph used by this shader program builder.
Access functions:
-
QUrl tessellationEvaluationShaderGraph() const
-
void setTessellationEvaluationShaderGraph(const QUrl &tessellationEvaluationShaderGraph)
Notifier signal:
-
void tessellationEvaluationShaderGraphChanged(const QUrl &tessellationEvaluationShaderGraph)
[read-only, since 5.13] vertexShaderCode : const QByteArray▲
Holds the generate vertex shader code.
This property was introduced in Qt 5.13.
Access functions:
-
QByteArray vertexShaderCode() const
Notifier signal:
-
void vertexShaderCodeChanged(const QByteArray &vertexShaderCode)
vertexShaderGraph : QUrl▲
Holds the URL to the vertex shader graph used by this shader program builder.
Access functions:
-
QUrl vertexShaderGraph() const
-
void setVertexShaderGraph(const QUrl &vertexShaderGraph)
Notifier signal:
-
void vertexShaderGraphChanged(const QUrl &vertexShaderGraph)