변경 사항 Qt OpenGL
Qt 6의 변경 사항은 프레임워크를 더 효율적이고 사용하기 쉽게 만들기 위한 의도적인 노력의 결과입니다.
저희는 각 릴리스에서 모든 공개 API에 대해 바이너리 및 소스 호환성을 유지하기 위해 노력하고 있습니다. 하지만 Qt를 더 나은 프레임워크로 만들기 위한 과정에서 일부 변경 사항은 불가피했습니다.
이 항목에서는 그러한 변경 사항을 요약하고 Qt OpenGL요약하고, 이를 처리하는 방법에 대한 지침을 제공합니다.
사용 중단된 클래스 제거
' Qt OpenGL 모듈은 Qt 5 기간 동안 사용 중단되었으며, 이 모듈에 포함되었던 클래스들은 Qt 6에서 제거되었습니다.
이는 특히 QGL 접두사가 붙은 클래스들을 의미합니다.
QOpenGL 클래스 이전
Qt 5에서는 Qt GUI에 OpenGL을 지원하는 대체 클래스 세트가 추가되었습니다. 이는 Qt 그래픽의 기반이 되는 크로스 플랫폼 그래픽 API로서 OpenGL을 지원하기 위함이었습니다.
Qt 6에서는 이러한 클래스들이 Qt OpenGL 모듈로 이전되었습니다. OpenGL을 직접 사용하는 애플리케이션의 경우 여전히 이 클래스를 사용할 수 있으며 완전한 지원을 받습니다. 그러나 Qt가 Direct3D, Metal, Vulkan과 같은 다른 그래픽 API를 기본적으로 지원하도록 확장됨에 따라, 이 클래스들은 더 이상 핵심 구성 요소로 간주되지 않습니다.
기존 애플리케이션 코드는 대부분 계속 작동하겠지만, 이제 프로젝트 파일에 Qt OpenGL 를 프로젝트 파일에 명시적으로 포함해야 하며, 이전에 Qt GUI를 통해 간접적으로 헤더를 포함했던 경우에도 해당 헤더를 직접 포함해야 합니다.
참고: 주목할 만한예외는 QOpenGLContext 이며, 이는 여전히 Qt GUI에 남아 있습니다.
QOpenGLWidgets 클래스
또 다른 예외는 QOpenGLWidget 클래스입니다. 이 클래스는 Qt OpenGL Widgets 로 이동되었으므로, 해당 위치에서 포함해야 합니다.
RHI용 OpenGL 백엔드 선택
프로젝트 파일을 조정하고 헤더를 포함하는 것 외에도, Qt Quick 를 사용할 때 이 기능을 활용하려면 애플리케이션에서 렌더링 백엔드를 OpenGL로 수동으로 설정해야 합니다. 기본적으로 Qt는 대상 플랫폼에서 가장 적합한 그래픽 API를 사용합니다. 자세한 내용은 RHI 렌더링 문서를 참조하십시오.
ANGLE 제거
Windows에서 타사 OpenGL ES-Direct 3D 변환기인 ANGLE은 더 이상 Qt 6에 포함되지 않습니다. 즉, ` Qt::AA_UseOpenGLES ` 및 환경 변수 ` QT_OPENGL=angle `는 더 이상 아무런 효과도 미치지 않습니다. 동적 OpenGL 빌드에서는 OpenGL 자체의 초기화에 실패하더라도 ANGLE로 자동 전환되지 않습니다. 예를 들어 QOpenGLWidget 와 같이 OpenGL을 직접 사용하는 QWindow 또는 QWidget 기반 애플리케이션의 경우, 런타임 시 OpenGL 자체만이 유일한 옵션이 됩니다. 그러나 사전 빌드된 Qt 패키지에 포함된 Mesa llvmpipe와 같은 순수 소프트웨어 OpenGL 구현체의 사용은 여전히 가능합니다.
Qt Quick 및 Qt Quick 3D 애플리케이션의 경우, Qt 6에서는 OpenGL 외에도 Direct 3D 11, Vulkan 및 Metal에 대한 지원을 도입했습니다. Windows에서 Qt 6은 기본적으로 Direct 3D를 사용하므로, 다른 그래픽 API에 대한 지원이 추가됨에 따라 ANGLE 제거로 인한 영향은 완화됩니다.
© 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.