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().