- Qt 6.4
- Qt 3D
- QML Types
- Qt3D.Render
- ShaderProgramBuilder
- Qt 6.4.3 Reference Documentation

# ShaderProgramBuilder QML Type

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

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

- List of all members, including inherited members

## Properties

- computeShaderCode : string
- enabledLayers : stringlist
- fragmentShaderCode : string
- geometryShaderCode : string
- shaderProgram : string
- tessellationControlShaderCode : string
- tessellationEvaluationShaderCode : string
- vertexShaderCode : string

## 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] 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.

[read-only] fragmentShaderCode : string

Holds the generated fragment shader code

[read-only] geometryShaderCode : string

Holds the generated geometry shader code

shaderProgram : string

Holds the shader program on which this builder generates code.

[read-only] tessellationControlShaderCode : string

Holds the generated tessellation control shader code

[read-only] tessellationEvaluationShaderCode : string

Holds the generated tessellation evaluation shader code

[read-only] vertexShaderCode : string

Holds the generated vertex shader code