씬 그래프 적응
씬 그래프 적응 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 모듈이 제공합니다. 이 옵션을 활성화하면 직접 OpenGL을 호출하지 않습니다. 대신 추상화 레이어에서 제공하는 API를 사용하여 씬 그래프를 렌더링한 다음 OpenGL, Vulkan, Metal 또는 Direct 3D 호출로 변환합니다. 셰이더 처리도 셰이더 코드를 한 번 작성하고 SPIR-V로 컴파일한 다음 다양한 그래픽 API에 적합한 언어로 번역하는 방식으로 통합됩니다.
Qt 6.0부터는 RHI 기반 렌더링 모델이 기본값으로 사용되며, OpenGL을 직접 사용하는 옵션이 없습니다.
애플리케이션에서 적응 방식 전환
software
와 달리 RHI 기반 렌더러는 추가 적응이 아니며 항상 내장되어 있습니다. Qt 6.0부터는 항상 활성화되어 있습니다. 여러 그래픽 API를 사용할 수 있는 플랫폼에서는 시나리오 그래프가 플랫폼별로 선택합니다. 이를 원하지 않는 경우 애플리케이션은 환경 변수 QSG_RHI_BACKEND
를 설정하거나 QQuickWindow::setGraphicsApi()와 QSGRendererInterface::GraphicsApi 를 조합하여 지정된 그래픽 API를 강제로 사용할 수 있습니다.
다른 적응으로 전환하는 방법은 두 가지가 있습니다:
- 환경 변수 사용 - 애플리케이션을 시작하기 전에
QT_QUICK_BACKEND
또는 레거시QMLSCENE_DEVICE
환경 변수를 설정합니다. - C++ API 사용 - 애플리케이션의 main() 함수 초반에 QQuickWindow::setSceneGraphBackend()를 호출합니다.
지원되는 백엔드는 다음과 같습니다:
- 기본값 -
"rhi"
문자열 또는 아래 나열된 것과 다른 QSGRendererInterface::GraphicsApi 열거형 값을 사용하여 요청합니다. - 소프트웨어 -
"software"
문자열 또는 QSGRendererInterface::Software 열거형 값으로 요청합니다. - OpenVG -
"openvg"
문자열 또는 QSGRendererInterface::OpenVG 열거형 값과 함께 요청합니다.
사용 중인 백엔드를 확인하려면 QSG_INFO
환경 변수 또는 qt.scenegraph.general
로깅 카테고리를 통해 기본 씬 그래프 정보 로깅을 활성화할 수 있습니다. 이렇게 하면 애플리케이션 시작 시 일부 정보가 디버그 출력에 인쇄됩니다.
참고: OpenGL과 Vulkan이 모두 비활성화된 Qt 빌드에서 기본 설정은 software
입니다. 그러나 이러한 플랫폼에는 각각 Direct 3D 또는 Metal 지원이 항상 활성화되어 있기 때문에 Windows 또는 macOS에는 적용되지 않습니다.
참고: 일반적으로 기본 적응 이외의 적응에는 OpenGL과 100% 호환되는 기능 세트를 제공하지 않을 가능성이 높기 때문에 몇 가지 제한 사항이 있습니다. 그러나 이러한 적응은 특정 영역에서 고유한 이점을 제공할 수 있습니다. 다양한 적응에 대한 자세한 내용은 아래 섹션을 참조하세요.
기본 적응
OpenGL을 직접 사용하는 경우 기본 적응은 전체 Qt Quick 2 기능 세트를 제공할 수 있습니다. 자세한 내용은 기본 적응을 참조하세요.
소프트웨어 적응
소프트웨어 적응은 래스터 페인트 엔진을 사용하여 장면의 내용을 렌더링하는 Qt Quick 2의 대체 렌더러로, 래스터 페인트 엔진을 사용하여 씬 그래프의 내용을 렌더링합니다. 자세한 내용은 소프트웨어 적응을 참조하십시오.
OpenVG
OpenVG 적응은 OpenVG 명령을 사용하여 씬 그래프의 내용을 렌더링하는 Qt Quick 2의 대체 렌더러로, OpenVG 명령을 사용하여 씬 그래프의 내용을 렌더링하여 하드웨어 가속 2D 벡터 및 래스터 그래픽을 제공합니다. 자세한 내용은 OpenVG 적응을 참조하세요.
© 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.