ShaderProgramBuilder QML Type

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

Import Statement: import Qt3D.Render 2.0
Since: Qt 5.10
Instantiates: QShaderProgramBuilder


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

computeShaderCode : string

Holds the generated compute shader code

enabledLayers : stringlist

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

fragmentShaderCode : string

Holds the generated fragment shader code

geometryShaderCode : string

Holds the generated geometry shader code

shaderProgram : string

Holds the shader program on which this builder generates code.

tessellationControlShaderCode : string

Holds the generated tessellation control shader code

tessellationEvaluationShaderCode : string

Holds the generated tessellation evaluation shader code

vertexShaderCode : string

Holds the generated vertex shader code

© 2021 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.