Qt 5.11 | Qt 3D | C++ Classes | QShaderProgramBuilder

Qt 5.11.3 Reference Documentation

# QShaderProgramBuilder Class

(Qt3DRender::QShaderProgramBuilder)

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

Header: | #include <QShaderProgramBuilder>
qmake: | QT += 3drender
Since: | Qt 5.10
Instantiated By: | ShaderProgramBuilder
Inherits: | Qt3DCore::QNode

- List of all members, including inherited members

## Properties

- computeShaderGraph : QUrl
- enabledLayers : QStringList
- fragmentShaderGraph : QUrl
- geometryShaderGraph : QUrl

- shaderProgram : Qt3DRender::QShaderProgram*
- tessellationControlShaderGraph : QUrl
- tessellationEvaluationShaderGraph : QUrl
- vertexShaderGraph : QUrl

- 3 properties inherited from Qt3DCore::QNode

## Public Functions

| QShaderProgramBuilder(Qt3DCore::QNode *parent = nullptr)
virtual | ~QShaderProgramBuilder()
QUrl | computeShaderGraph() const
QStringList | enabledLayers() const
QUrl | fragmentShaderGraph() const
QUrl | geometryShaderGraph() const
Qt3DRender::QShaderProgram * | shaderProgram() const
QUrl | tessellationControlShaderGraph() const
QUrl | tessellationEvaluationShaderGraph() const
QUrl | vertexShaderGraph() const

- 13 public functions inherited from Qt3DCore::QNode

## Public Slots

void | setComputeShaderGraph(const QUrl &computeShaderGraph)
void | setEnabledLayers(const QStringList &layers)
void | setFragmentShaderGraph(const QUrl &fragmentShaderGraph)
void | setGeometryShaderGraph(const QUrl &geometryShaderGraph)
void | setShaderProgram(Qt3DRender::QShaderProgram *program)
void | setTessellationControlShaderGraph(const QUrl &tessellationControlShaderGraph)
void | setTessellationEvaluationShaderGraph(const QUrl &tessellationEvaluationShaderGraph)
void | setVertexShaderGraph(const QUrl &vertexShaderGraph)

- 3 public slots inherited from Qt3DCore::QNode

## Signals

void | computeShaderGraphChanged(const QUrl &computeShaderGraph)
void | enabledLayersChanged(const QStringList &layers)
void | fragmentShaderGraphChanged(const QUrl &fragmentShaderGraph)
void | geometryShaderGraphChanged(const QUrl &geometryShaderGraph)
void | shaderProgramChanged(Qt3DRender::QShaderProgram *shaderProgram)
void | tessellationControlShaderGraphChanged(const QUrl &tessellationControlShaderGraph)
void | tessellationEvaluationShaderGraphChanged(const QUrl &tessellationEvaluationShaderGraph)
void | vertexShaderGraphChanged(const QUrl &vertexShaderGraph)

- 4 signals inherited from Qt3DCore::QNode

### Additional Inherited Members

- 2 protected functions inherited from Qt3DCore::QNode

## Detailed Description

Generates a Shader Program content from loaded graphs.

A shader program builder consists of several different shader graphs used to generate shader code.

## Property Documentation

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

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

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

Qt3DRender::QShaderProgram * | shaderProgram() const
void | setShaderProgram(Qt3DRender::QShaderProgram *program)

Notifier signal:

void | shaderProgramChanged(Qt3DRender::QShaderProgram *shaderProgram)

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

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

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

## Member Function Documentation

### QShaderProgramBuilder::QShaderProgramBuilder(Qt3DCore::QNode *parent = nullptr)

Default constructs an instance of QShaderProgramBuilder.

### `[virtual]` QShaderProgramBuilder::~QShaderProgramBuilder()

Destroys the instance of QShaderProgramBuilder. The destructor is virtual.