ShaderProgramBuilder QML Type

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

Import Statement: import Qt3D.Render 2.7
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 [read-only]

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 [read-only]

Holds the generated fragment shader code

geometryShaderCode : string [read-only]

Holds the generated geometry shader code

shaderProgram : string

Holds the shader program on which this builder generates code.

tessellationControlShaderCode : string [read-only]

Holds the generated tessellation control shader code

tessellationEvaluationShaderCode : string [read-only]

Holds the generated tessellation evaluation shader code

vertexShaderCode : string [read-only]

Holds the generated vertex shader code

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