PySide6.Qt3DRender.Qt3DRender.QEffect¶
- 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中的参数覆盖。另请参阅
QMaterialQTechniqueQParameter- __init__([parent=None])¶
- Parameters:
parent –
QNode
- addParameter(parameter)¶
- Parameters:
参数 –
QParameter
将
parameter添加到效果中。它会向后端发送更新。parameter将用于在此效果使用的着色器中设置相应的统一值。- addTechnique(t)¶
- Parameters:
t –
QTechnique
向效果添加一种新技术
t。它会向后端发送更新。- parameters()¶
- Return type:
返回效果使用的参数列表。
- removeParameter(parameter)¶
- Parameters:
参数 –
QParameter
从效果中移除一个参数
parameter。- removeTechnique(t)¶
- Parameters:
t –
QTechnique
从效果中移除一个技术
t。- techniques()¶
- Return type:
返回效果所使用的技术列表。