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

Properties

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

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)

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)

Additional Inherited Members

  • 1 public variable inherited from QObject
  • 10 static public members inherited from QObject
  • 2 protected functions inherited from Qt3DCore::QNode
  • 9 protected functions inherited from QObject
  • 2 protected variables inherited from QObject

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.