QShaderProgram Class
(Qt3DRender::QShaderProgram)Encapsulates a Shader Program. More...
| Header: | #include <QShaderProgram> | 
| qmake: | QT += 3drender | 
| Since: | Qt 5.5 | 
| Instantiated By: | ShaderProgram | 
| Inherits: | Qt3DCore::QNode | 
Public Types
| enum | ShaderType { Vertex, Fragment, TessellationControl, TessellationEvaluation, Geometry, Compute } | 
Properties
| 
 | 
 | 
- 2 properties inherited from Qt3DCore::QNode
- 1 property inherited from QObject
Public Functions
| QShaderProgram(Qt3DCore::QNode *parent = nullptr) | |
| ~QShaderProgram() | |
| QByteArray | computeShaderCode() const | 
| QByteArray | fragmentShaderCode() const | 
| QByteArray | geometryShaderCode() const | 
| void | setShaderCode(ShaderType type, const QByteArray &shaderCode) | 
| QByteArray | shaderCode(ShaderType type) const | 
| QByteArray | tessellationControlShaderCode() const | 
| QByteArray | tessellationEvaluationShaderCode() const | 
| QByteArray | vertexShaderCode() const | 
- 6 public functions inherited from Qt3DCore::QNode
- 31 public functions inherited from QObject
Public Slots
| void | setComputeShaderCode(const QByteArray &computeShaderCode) | 
| void | setFragmentShaderCode(const QByteArray &fragmentShaderCode) | 
| void | setGeometryShaderCode(const QByteArray &geometryShaderCode) | 
| void | setTessellationControlShaderCode(const QByteArray &tessellationControlShaderCode) | 
| void | setTessellationEvaluationShaderCode(const QByteArray &tessellationEvaluationShaderCode) | 
| void | setVertexShaderCode(const QByteArray &vertexShaderCode) | 
- 2 public slots inherited from Qt3DCore::QNode
- 1 public slot inherited from QObject
Signals
| void | computeShaderCodeChanged(const QByteArray &computeShaderCode) | 
| void | fragmentShaderCodeChanged(const QByteArray &fragmentShaderCode) | 
| void | geometryShaderCodeChanged(const QByteArray &geometryShaderCode) | 
| void | tessellationControlShaderCodeChanged(const QByteArray &tessellationControlShaderCode) | 
| void | tessellationEvaluationShaderCodeChanged(const QByteArray &tessellationEvaluationShaderCode) | 
| void | vertexShaderCodeChanged(const QByteArray &vertexShaderCode) | 
- 3 signals inherited from Qt3DCore::QNode
- 2 signals inherited from QObject
Static Public Members
| QByteArray | loadSource(const QUrl &sourceUrl) | 
- 10 static public members inherited from QObject
Protected Functions
| QShaderProgram(QShaderProgramPrivate &dd, Qt3DCore::QNode *parent = nullptr) | 
- 2 protected functions inherited from Qt3DCore::QNode
- 9 protected functions inherited from QObject
Additional Inherited Members
Detailed Description
Encapsulates a Shader Program.
A shader program consists of several different shaders, such as vertex and fragment shaders.
Member Type Documentation
enum QShaderProgram::ShaderType
This enum identifies the type of shader used.
| Constant | Value | Description | 
|---|---|---|
| Qt3DRender::QShaderProgram::Vertex | 0 | Vertex shader | 
| Qt3DRender::QShaderProgram::Fragment | 1 | Fragment shader | 
| Qt3DRender::QShaderProgram::TessellationControl | 2 | Tesselation control shader | 
| Qt3DRender::QShaderProgram::TessellationEvaluation | 3 | Tesselation evaluation shader | 
| Qt3DRender::QShaderProgram::Geometry | 4 | Geometry shader | 
| Qt3DRender::QShaderProgram::Compute | 5 | Compute shader | 
Property Documentation
computeShaderCode : QByteArray
Holds the compute shader code used by this shader program.
Access functions:
| QByteArray | computeShaderCode() const | 
| void | setComputeShaderCode(const QByteArray &computeShaderCode) | 
Notifier signal:
| void | computeShaderCodeChanged(const QByteArray &computeShaderCode) | 
fragmentShaderCode : QByteArray
Holds the fragment shader code used by this shader program.
Access functions:
| QByteArray | fragmentShaderCode() const | 
| void | setFragmentShaderCode(const QByteArray &fragmentShaderCode) | 
Notifier signal:
| void | fragmentShaderCodeChanged(const QByteArray &fragmentShaderCode) | 
geometryShaderCode : QByteArray
Holds the geometry shader code used by this shader program.
Access functions:
| QByteArray | geometryShaderCode() const | 
| void | setGeometryShaderCode(const QByteArray &geometryShaderCode) | 
Notifier signal:
| void | geometryShaderCodeChanged(const QByteArray &geometryShaderCode) | 
tessellationControlShaderCode : QByteArray
Holds the tesselation control shader code used by this shader program.
Access functions:
| QByteArray | tessellationControlShaderCode() const | 
| void | setTessellationControlShaderCode(const QByteArray &tessellationControlShaderCode) | 
Notifier signal:
| void | tessellationControlShaderCodeChanged(const QByteArray &tessellationControlShaderCode) | 
tessellationEvaluationShaderCode : QByteArray
Holds the tesselation evaluation shader code used by this shader program.
Access functions:
| QByteArray | tessellationEvaluationShaderCode() const | 
| void | setTessellationEvaluationShaderCode(const QByteArray &tessellationEvaluationShaderCode) | 
Notifier signal:
| void | tessellationEvaluationShaderCodeChanged(const QByteArray &tessellationEvaluationShaderCode) | 
vertexShaderCode : QByteArray
Holds the vertex shader code used by this shader program.
Access functions:
| QByteArray | vertexShaderCode() const | 
| void | setVertexShaderCode(const QByteArray &vertexShaderCode) | 
Notifier signal:
| void | vertexShaderCodeChanged(const QByteArray &vertexShaderCode) | 
Member Function Documentation
QShaderProgram::QShaderProgram(Qt3DCore::QNode *parent = nullptr)
Default constructs an instance of QShaderProgram.
[protected] QShaderProgram::QShaderProgram(QShaderProgramPrivate &dd, Qt3DCore::QNode *parent = nullptr)
Copy constructor.
QShaderProgram::~QShaderProgram()
Destroys the instance of QShaderProgram.
[static] QByteArray QShaderProgram::loadSource(const QUrl &sourceUrl)
Returns the shader code loaded from sourceUrl.
void QShaderProgram::setShaderCode(ShaderType type, const QByteArray &shaderCode)
Sets the shader code for type of shader to the shaderCode.
See also shaderCode().
QByteArray QShaderProgram::shaderCode(ShaderType type) const
Returns the shader code for type.
See also setShaderCode().