이 페이지에서

씬 그래프 조정

다음의 씬 그래프 조정 Qt Quick

Qt 5.0에서 Qt Quick 는 항상 OpenGL(OpenGL ES 2.0 또는 OpenGL 2.0)에 의존하여 씬 그래프를 파싱하고 결과를 렌더 타깃에 렌더링했습니다.

Qt 5.8부터는 Qt Quick 가 소프트웨어 렌더링과 OpenVG를 통한 렌더링도 지원합니다. 이는 플러그인(openvg) 형태이거나 Qt Quick 라이브러리에 내장된(소프트웨어) 추가적인 씬 그래프 어댑테이션을 통해 구현됩니다. 기본 어댑테이션은 여전히 OpenGL을 직접 사용합니다.

Qt 5.14부터는 기본 구현 방식에 그래픽 추상화 계층인 Qt 렌더링 하드웨어 인터페이스(RHI)를 통한 렌더링 옵션이 추가되었습니다. 이 인터페이스는 Qt GUI 이 모듈이 제공하는 그래픽 추상화 계층인 Qt 렌더링 하드웨어 인터페이스(RHI)를 통해 렌더링할 수 있는 옵션이 추가됩니다. 이 기능이 활성화되면 OpenGL을 직접 호출하지 않습니다. 대신, 씬 그래프는 추상화 계층이 제공하는 API를 사용하여 렌더링하며, 이는 이후 OpenGL, Vulkan, Metal 또는 Direct 3D 호출로 변환됩니다. 셰이더 처리도 셰이더 코드를 한 번 작성하고 SPIR-V로 컴파일한 후, 다양한 그래픽 API에 적합한 언어로 변환함으로써 통합됩니다.

Qt 6.0부터는 RHI 기반 렌더링 모델이 기본값이며, OpenGL을 직접 사용하는 방식으로 되돌릴 수 있는 옵션은 없습니다.

애플리케이션 내 어댑테이션 간 전환

software 와 달리, RHI 기반 렌더러는 추가적인 어댑테이션이 아니며 항상 내장되어 있습니다. Qt 6.0부터는 항상 활성화되어 있습니다. 여러 그래픽 API를 사용할 수 있는 플랫폼에서는 시나그래프가 플랫폼에 맞는 API를 선택합니다. 이를 원하지 않는 경우, 애플리케이션은 환경 변수 ` QSG_RHI_BACKEND `을 설정하거나 ` QQuickWindow::setGraphicsApi()`를 ` QSGRendererInterface::GraphicsApi`와 함께 사용하여 지정된 그래픽 API를 강제 적용할 수 있습니다.

다른 적응 방식으로 전환하는 방법은 두 가지가 있습니다:

  • 환경 변수 사용 - 애플리케이션을 실행하기 전에 QT_QUICK_BACKEND 또는 구식 환경 변수인 QMLSCENE_DEVICE 을 설정합니다.
  • C++ API 사용 - 애플리케이션의 main() 함수 초반에 QQuickWindow::setSceneGraphBackend()을 호출합니다.

다음 백엔드가 지원됩니다:

사용 중인 백엔드를 확인하려면 QSG_INFO 환경 변수나 qt.scenegraph.general 로깅 범주를 통해 기본 씬 그래프 정보 로깅을 활성화할 수 있습니다. 이렇게 하면 애플리케이션 시작 시 디버그 출력에 일부 정보가 표시됩니다.

참고: OpenGL과 Vulkan이 모두 비활성화된 Qt빌드에서는 기본 적응 방식이 software 입니다. 그러나 Windows와 macOS에는 이 규칙이 적용되지 않습니다. 해당 플랫폼에서는 각각 Direct 3D와 Metal 지원이 항상 활성화되어 있기 때문입니다.

참고: 일반적으로 기본 어댑테이션 이외의 어댑테이션은 OpenGL과 100% 호환되는 기능 세트를 제공하기 어렵기 때문에 일련의 제한 사항이 따릅니다. 그러나 이러한 어댑테이션은 특정 영역에서 고유한 장점을 제공할 수 있습니다. 다양한 어댑테이션에 대한 자세한 내용은 아래 섹션을 참조하십시오.

기본 변형

OpenGL을 직접 사용할 때, 기본 어댑테이션은 ‘ Qt Quick 2’의 전체 기능 세트를 제공할 수 있습니다. 자세한 내용은 ‘기본 어댑테이션’을 참조하십시오.

소프트웨어 적응

소프트웨어 어댑테이션은 Qt Quick 2를 위한 대체 렌더러로, 래스터 페인트 엔진을 사용하여 씬 그래프의 내용을 렌더링합니다. 자세한 내용은 ‘소프트웨어 어댑테이션’을 참조하십시오.

OpenVG

OpenVG 어댑테이션은 Qt Quick 2를 위한 또 다른 렌더러로, OpenVG 명령어를 사용하여 씬 그래프의 내용을 렌더링함으로써 하드웨어 가속 2D 벡터 및 래스터 그래픽을 제공합니다. 자세한 내용은 OpenVG 적응을 참조하십시오.

© 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.