- class QEffect#
Qt 3D场景中效果的基础类。更多…
概述#
方法#
def
__init__()
def
addParameter()
def
addTechnique()
def
parameters()
def
techniques()
注意
此文档可能包含自动从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
将覆盖在QTechnique
和QRenderPass
中定义的参数(同名),但将被QRenderPassFilter
、QTechniqueFilter
和QMaterial
中的参数覆盖。另请参阅
QMaterial
QTechnique
QParameter
- __init__([parent=None])#
- 参数:
parent –
QNode
- addParameter(parameter)#
- 参数:
parameter –
QParameter
将
parameter
添加到效果中。它将向后端发送更新。该参数将用于设置此效果所使用的着色器中对应的统一变量值。- addTechnique(t)#
- 参数:
t –
QTechnique
将新的技术
t
添加到效果中。它将向后端发送更新。- parameters()#
- 返回类型::
返回效果使用的参数列表。
- removeParameter(parameter)#
- 参数:
parameter –
QParameter
从效果中移除参数
parameter
- removeTechnique(t)#
- 参数:
t –
QTechnique
从效果中移除技术
t
- techniques()#
- 返回类型::
返回使用此效果的技术列表。