class QEffect#

Qt 3D场景中效果的基础类。更多

Inheritance diagram of PySide6.Qt3DRender.Qt3DRender.QEffect

概述#

方法#

注意

此文档可能包含自动从C++转换到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建票据来通知我们

详细说明#

QEffect类结合了一组技术和参数,这些技术和参数可以用于生成用于材料的渲染效果。

当可能时,QEffect实例应与多个QMaterial实例共享。

注意

QEffect节点不能被禁用。

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);

QEffect上定义的QParameter将覆盖在QTechniqueQRenderPass中定义的参数(同名),但将被QRenderPassFilterQTechniqueFilterQMaterial中的参数覆盖。

另请参阅

QMaterial QTechnique QParameter

__init__([parent=None])#
参数:

parentQNode

addParameter(parameter)#
参数:

parameterQParameter

parameter 添加到效果中。它将向后端发送更新。该参数将用于设置此效果所使用的着色器中对应的统一变量值。

addTechnique(t)#
参数:

tQTechnique

将新的技术 t 添加到效果中。它将向后端发送更新。

parameters()#
返回类型::

. Qt3DRender.QParameter 列表

返回效果使用的参数列表。

removeParameter(parameter)#
参数:

parameterQParameter

从效果中移除参数 parameter

removeTechnique(t)#
参数:

tQTechnique

从效果中移除技术 t

techniques()#
返回类型::

. Qt3DRender.QTechnique 列表

返回使用此效果的技术列表。