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
QMaterial
QTechnique
QParameter
- 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:
.list of Qt3DRender.QParameter
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:
.list of Qt3DRender.QTechnique
Returns the list of techniques used by the effect.