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) |
- 11 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
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().
© 2017 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.