- Qt 6.12
- Qt 3D
- QML Types
- Qt3D.Render (Deprecated)
- ShaderProgramBuilder
- Qt 6.12.0 Reference Documentation

# ShaderProgramBuilder QML Type

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

Import Statement: | `import Qt3D.Render 2.12`
In C++: | QShaderProgramBuilder
Status: | Deprecated

This type is deprecated. We strongly advise against using it in new code.

- 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

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