QTechnique Class
class Qt3DRender::QTechnique기술을 캡슐화합니다. 더 보기...
Header: | #include <QTechnique> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
QML에서: | Technique |
상속합니다: | Qt3DCore::QNode |
상태: | Deprecated |
속성
- graphicsApiFilter : Qt3DRender::QGraphicsApiFilter* const
공공 기능
void | addFilterKey(Qt3DRender::QFilterKey *filterKey) |
void | addParameter(Qt3DRender::QParameter *parameter) |
void | addRenderPass(Qt3DRender::QRenderPass *pass) |
QList<Qt3DRender::QFilterKey *> | filterKeys() const |
Qt3DRender::QGraphicsApiFilter * | graphicsApiFilter() |
const Qt3DRender::QGraphicsApiFilter * | graphicsApiFilter() const |
QList<Qt3DRender::QParameter *> | parameters() const |
void | removeFilterKey(Qt3DRender::QFilterKey *filterKey) |
void | removeParameter(Qt3DRender::QParameter *parameter) |
void | removeRenderPass(Qt3DRender::QRenderPass *pass) |
QList<Qt3DRender::QRenderPass *> | renderPasses() const |
상세 설명
Qt3DRender::QTechnique 는 Qt3DRender::QRenderPass 객체, Qt3DRender::QFilterKey 객체, Qt3DRender::QParameter 객체 및 Qt3DRender::QGraphicsApiFilter 객체 집합을 지정하여 주어진 그래픽 API가 렌더링할 수 있는 렌더링 기법을 정의합니다. 필터 키는 Qt3DRender::QTechniqueFilter 에서 프레임그래프의 특정 부분에서 특정 기법을 선택하는 데 사용됩니다. QTechnique에 정의된 QParameter 은 QRenderPass 에 정의된 (같은 이름의) 파라미터를 재정의하지만 QRenderPassFilter, QTechniqueFilter, QMaterial 및 QEffect 의 파라미터에 의해 재정의됩니다.
여러 버전의 그래픽 API를 대상으로 하는 QEffect 을 만들 때, 각각 대상 GL 버전 중 하나와 일치하도록 graphicsApiFilter 이 설정된 여러 QTechnique 노드를 만드는 것이 유용합니다. 런타임에 Qt3D 렌더러는 지원되는 그래픽 API 버전과 (지정된 경우) 프레임그래프에서 지정된 QTechniqueFilter 을 만족하는 QFilterKey 노드를 기반으로 가장 적합한 QTechnique 를 선택합니다.
참고: 렌더링에 OpenGL을 그래픽 API로 사용하는 경우, Qt3D는 런타임에 QSurfaceFormat::defaultFormat()가 반환하는 QSurfaceFormat 에 의존하여 사용 가능한 가장 적합한 GL 버전을 결정합니다. QSurfaceFormat 을 사용자 정의해야 하는 경우 QSurfaceFormat::setDefaultFormat()을 사용하여 적용하는 것을 잊지 마십시오. 뷰에서 QSurfaceFormat 을 설정해도 Qt3D 관련 렌더링에는 영향을 미치지 않습니다.
참고: QTechnique 노드는 비활성화할 수 없습니다.
QTechnique *gl3Technique = new QTechnique(); // Create the render passes QRenderPass *firstPass = new QRenderPass(); QRenderPass *secondPass = new QRenderPass(); // Add the passes to the technique gl3Technique->addRenderPass(firstPass); gl3Technique->addRenderPass(secondPass); // 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); // Create a FilterKey QFilterKey *filterKey = new QFilterKey(); filterKey->setName(QStringLiteral("name")); fitlerKey->setValue(QStringLiteral("zFillPass")); // Add the FilterKey to the Technique gl3Technique->addFilterKey(filterKey); // Create a QParameter QParameter *colorParameter = new QParameter(QStringLiteral("color"), QColor::fromRgbF(0.0f, 0.0f, 1.0f, 1.0f)); // Add parameter to technique gl3Technique->addParameter(colorParameter);
QEffect, QRenderPass, QTechniqueFilter 를참조하십시오 .
속성 문서
[read-only]
graphicsApiFilter : Qt3DRender::QGraphicsApiFilter* const
사용 중인 그래픽 API 필터를 지정합니다.
함수에 액세스합니다:
Qt3DRender::QGraphicsApiFilter * | graphicsApiFilter() |
const Qt3DRender::QGraphicsApiFilter * | graphicsApiFilter() const |
멤버 함수 문서
void QTechnique::addFilterKey(Qt3DRender::QFilterKey *filterKey)
Qt3DRender::QTechnique 로컬 필터 키에 filterKey 을 추가합니다.
void QTechnique::addParameter(Qt3DRender::QParameter *parameter)
기술 매개변수에 parameter 을 추가합니다.
void QTechnique::addRenderPass(Qt3DRender::QRenderPass *pass)
기술에 pass 을 추가합니다.
QList<Qt3DRender::QFilterKey *> QTechnique::filterKeys() const
Qt3DRender::QTechnique 의 필터 키를 구성하는 Qt3DCore::QFilterKey 키 오브젝트 목록을 반환합니다.
QList<Qt3DRender::QParameter *> QTechnique::parameters() const
기술 현재 매개변수의 벡터를 반환합니다.
void QTechnique::removeFilterKey(Qt3DRender::QFilterKey *filterKey)
Qt3DRender::QTechnique 로컬 필터 키에서 filterKey 을 제거합니다.
void QTechnique::removeParameter(Qt3DRender::QParameter *parameter)
기술 매개변수에서 parameter 을 제거합니다.
void QTechnique::removeRenderPass(Qt3DRender::QRenderPass *pass)
기술에서 pass 을 제거합니다.
QList<Qt3DRender::QRenderPass *> QTechnique::renderPasses() 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.