QEffect#
The base class for effects in a Qt 3D scene. More…
Synopsis#
Functions#
def
addParameter(parameter)def
addTechnique(t)def
parameters()def
removeParameter(parameter)def
removeTechnique(t)def
techniques()
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description#
The QEffect class combines a set of techniques and parameters used by those techniques to produce a rendering effect for a material.
An QEffect instance should be shared among several QMaterial instances when possible.
Note
QEffect node can not be disabled.
QEffect *effect = new QEffect();
// Create technique, render pass and shader
QTechnique *gl3Technique = new QTechnique();
QRenderPass *gl3Pass = new QRenderPass();
QShaderProgram *glShader = new QShaderProgram();
// Set the shader on the render pass
gl3Pass->setShaderProgram(glShader);
// Add the pass to the technique
gl3Technique->addRenderPass(gl3Pass);
// Set the targeted GL version for the technique
gl3Technique->graphicsApiFilter()->setApi(QGraphicsApiFilter::OpenGL);
gl3Technique->graphicsApiFilter()->setMajorVersion(3);
gl3Technique->graphicsApiFilter()->setMinorVersion(1);
gl3Technique->graphicsApiFilter()->setProfile(QGraphicsApiFilter::CoreProfile);
// Add the technique to the effect
effect->addTechnique(gl3Technique);
A QParameter defined on a QEffect overrides parameter (of the same name) defined in QTechnique and QRenderPass , but are overridden by parameter in QRenderPassFilter , QTechniqueFilter and QMaterial .
See also
QMaterialQTechniqueQParameter
- class PySide6.Qt3DRender.Qt3DRender.QEffect([parent=None])#
- Parameters:
parent –
PySide6.Qt3DCore.Qt3DCore.QNode
- PySide6.Qt3DRender.Qt3DRender.QEffect.addParameter(parameter)#
- Parameters:
parameter –
PySide6.Qt3DRender.Qt3DRender.QParameter
Adds parameter to the effect. It sends an update to the backend. The parameter will be used to set a corresponding uniform value in the shader used by this effect.
- PySide6.Qt3DRender.Qt3DRender.QEffect.addTechnique(t)#
- Parameters:
Adds a new technique t to the effect. It sends an update to the backend.
- PySide6.Qt3DRender.Qt3DRender.QEffect.parameters()#
- Return type:
Returns the list of parameters used by the effect.
- PySide6.Qt3DRender.Qt3DRender.QEffect.removeParameter(parameter)#
- Parameters:
parameter –
PySide6.Qt3DRender.Qt3DRender.QParameter
Removes a parameter parameter from the effect.
- PySide6.Qt3DRender.Qt3DRender.QEffect.removeTechnique(t)#
- Parameters:
Removes a technique t from the effect.
- PySide6.Qt3DRender.Qt3DRender.QEffect.techniques()#
- Return type:
Returns the list of techniques used by the effect.