QEffect Class

class Qt3DRender::QEffect

Qt 3D 장면의 이펙트를 위한 기본 클래스입니다. 더 보기...

헤더: #include <QEffect>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
QML에서: Effect
상속합니다: Qt3DCore::QNode
상태: Deprecated

공용 함수

void addParameter(Qt3DRender::QParameter *parameter)
void addTechnique(Qt3DRender::QTechnique *t)
QList<Qt3DRender::QParameter *> parameters() const
void removeParameter(Qt3DRender::QParameter *parameter)
void removeTechnique(Qt3DRender::QTechnique *t)
QList<Qt3DRender::QTechnique *> techniques() const

상세 설명

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에 정의된 QParameterQTechniqueQRenderPass 에 정의된 (같은 이름의) 파라미터를 재정의하지만 QRenderPassFilter, QTechniqueFilterQMaterial 의 파라미터에 의해 재정의됩니다.

QMaterial, QTechnique, QParameter도 참조 하세요.

멤버 함수 문서

void QEffect::addParameter(Qt3DRender::QParameter *parameter)

효과에 parameter 을 추가합니다. 백엔드로 업데이트를 보냅니다. parameter 은 이 효과에 사용되는 셰이더에서 해당 균일 값을 설정하는 데 사용됩니다.

void QEffect::addTechnique(Qt3DRender::QTechnique *t)

효과에 새로운 기술 t 을 추가합니다. 백엔드에 업데이트를 보냅니다.

QList<Qt3DRender::QParameter *> QEffect::parameters() const

효과에 사용된 매개변수 목록을 반환합니다.

void QEffect::removeParameter(Qt3DRender::QParameter *parameter)

효과에서 parameter 매개변수를 제거합니다.

void QEffect::removeTechnique(Qt3DRender::QTechnique *t)

효과에서 t 기술을 제거합니다.

QList<Qt3DRender::QTechnique *> QEffect::techniques() const

이펙트에 사용된 기술 목록을 반환합니다.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.