Qt3DRender::QTechnique Class
class Qt3DRender::QTechnique특정 기법을 포함합니다. 더 보기...
| 헤더: | #include <qtechnique.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| QML에서: | Technique |
| 상속: | Qt3DCore::QNode |
| 상태: | 사용 중단됨 |
이 클래스는 더 이상 사용되지 않습니다. 새로운 코드에서는 이 클래스를 사용하지 않는 것을 강력히 권장합니다.
속성
- 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가 렌더링할 수 있는 렌더링 기법을 정의합니다. 필터 키(filter keys)는 Qt3DRender::QTechniqueFilter 에서 FrameGraph의 특정 부분에서 특정 기법을 선택하는 데 사용됩니다. QTechnique에 정의된 QParameter 는 QRenderPass 에 정의된 (동일한 이름의) 매개변수를 재정의하지만, QRenderPassFilter, QTechniqueFilter, QMaterial 및 QEffect 에 있는 매개변수에 의해 재정의됩니다.
여러 버전의 그래픽 API를 대상으로 하는 QEffect 을 생성할 때는, 대상 GL 버전 중 하나에 맞춰 graphicsApiFilter 가 설정된 여러 개의 QTechnique 노드를 생성하는 것이 유용합니다. 실행 시, Qt3D 렌더러는 지원되는 그래픽 API 버전을 기준으로, 그리고 (지정된 경우) FrameGraph 내의 특정 QTechniqueFilter 을 충족하는 QFilterKey 노드를 바탕으로 가장 적합한 QTechnique을 선택합니다.
참고: 렌더링을 위한 그래픽 API로 OpenGL을 사용할경우 , 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
해당 테크닉에 포함된 렌더 패스 목록을 반환합니다.
© 2026 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.