이번 글에서는 Windows 10 환경에서 OpenGL 애플리케이션이 Miracast 무선 디스플레이에서 정상적으로 실행되지 않는 원인을 자세히 살펴봅니다. Microsoft는 이 문제가 최신 버전의 Windows 11/10에도 해당하는 것으로 공식 확인했습니다.
Miracast란 무엇인가?

미라캐스트(Miracast)는 안드로이드 기기나 최신 인텔(Intel) 칩셋을 탑재한 컴퓨터의 화면을 TV 등 대형 스크린으로 전송할 수 있게 해주는 화면 미러링 프로토콜입니다. 작은 화면에 표시되는 모든 내용이 그대로 큰 화면에 나타나며, 동기화가 원활하게 이루어지면 지연 시간이 거의 없어 영상 시청이나 생산성 소프트웨어 사용에 매우 적합합니다. 다만 안정성 측면에서 대부분의 게임을 구동하기에는 다소 부족한 편입니다.
안드로이드 4.2 젤리빈(Jelly Bean) 이상이 탑재된 스마트폰과 태블릿은 물론, 인텔 칩셋을 사용하는 대부분의 최신 Windows PC에서도 미라캐스트를 활용할 수 있습니다.
OpenGL이란 무엇인가?

OpenGL(Open Graphics Library)은 2D 및 3D 그래픽 렌더링을 위해 설계된 애플리케이션 프로그래밍 인터페이스(API)입니다. 서로 다른 애플리케이션과 다양한 플랫폼에서 그래픽을 관리할 수 있도록 표준화된 명령어 집합을 제공합니다.
OpenGL을 활용하면 개발자는 동일한 코드 하나만으로 Mac, PC, 모바일 기기 등 여러 환경에서 그래픽을 렌더링할 수 있습니다. 사실상 모든 최신 운영체제와 하드웨어가 OpenGL을 지원하기 때문에 그래픽 개발 분야에서 가장 손쉽게 선택할 수 있는 기술 중 하나입니다. 또한 상당수 그래픽 카드와 내장 GPU가 OpenGL에 최적화되어 있어, 다른 그래픽 라이브러리보다 OpenGL 명령을 더욱 효율적으로 처리할 수 있습니다.
Windows 11/10에서 OpenGL 앱이 Miracast 무선 디스플레이에서 실행되지 않는 문제
이 문제는 아래와 같은 Miracast 구성 환경에서 발생하는 것으로 알려져 있습니다.
- Windows가 복제(Duplicate) 모드로 투사되도록 설정되어 있고, Miracast 디스플레이가 기본 디스플레이로 지정된 경우
- Windows가 확장(Extended) 모드로 설정되어 있고, OpenGL 애플리케이션이 Miracast 디스플레이에서 실행되는 경우
- Windows가 두 번째 화면 전용(Second screen only) 모드로 설정되어 있고, OpenGL 애플리케이션이 Miracast 디스플레이에서 실행되는 경우
이 문제의 핵심 원인은 Windows 10의 Miracast 파이프라인이 아직 Miracast 비디오 드라이버(MiraDisp.dll)에서 OpenGL 애플리케이션을 지원하지 않기 때문입니다. 즉, 소프트웨어적인 호환성 한계로 인해 발생하는 현상입니다.
OpenGL을 사용하는 대표적인 애플리케이션
아래는 OpenGL을 활용하는 인기 프로그램의 일부 목록입니다. OpenGL 기반 프로그램 중 상당수는 게임입니다.
게임
- Sauerbraten — 오픈소스 3D FPS(1인칭 슈팅) 게임이자 게임 엔진
- 各종 플랫폼 게임
- Doom(2016) — FPS 게임
사진 및 영상 편집
- Adobe After Effects
- Adobe Photoshop
- Adobe Premiere Pro
- ArtRage
- Kodi
모델링 및 CAD
- 3D Studio Max
- Autodesk AutoCAD — 2D/3D CAD
- Autodesk Maya
- Cadence Allegro
- Google SketchUp
- Modo — 고급 3D 모델링, 애니메이션, 리깅, 렌더링 및 VFX 패키지
- Houdini — Side Effects Software가 개발한 모델링, 애니메이션, 이펙트, 렌더링 및 컴포지팅 패키지
- Rhinoceros — Windows용 NURBS 모델링 도구
- SAP2000
- Blender — 3D CAD, 애니메이션 및 게임 엔진
- LARSA4D
- Scilab — MATLAB 클론 형태의 수학 도구
- VirtualMec — 메카노 조립 시스템용 3D CAD
시각화 및 기타
- Algodoo
- Avogadro
- Google Earth
- InVesalius — 크로스플랫폼 의료 영상 시각화 및 재구성 소프트웨어
- Mari — 3D 텍스처링 및 페인팅 소프트웨어
- PyMOL — 3D 분자 뷰어
- QuteMol — 3D 분자 렌더러
- Really Slick Screensavers — 3D 화면 보호기
- SpaceEngine — 실제 및 절차적 생성 방식의 3D 플라네타리움 소프트웨어
- Stellarium — 고품질 야간 하늘 시뮬레이터
- Universe Sandbox — 인터랙티브 우주 및 중력 시뮬레이터
- Vectorworks — 건축 및 조경 설계용 크로스플랫폼(Mac/Windows) 2D·3D CAD
- Virtools — 실시간 3D 엔진
- BALLView
- Celestia — 3D 천문학 프로그램
- Enhanced Machine Controller(EMC2) — CNC 기계용 G코드 인터프리터
- Vizard — WorldViz가 개발한 기업 및 학술용 가상현실(VR) 애플리케이션 구축·렌더링 플랫폼
- VSXu — OpenGL 기반 크로스플랫폼 모듈형 비주얼 프로그래밍 언어 엔진
위 목록 외에 알고 계신 다른 OpenGL 애플리케이션이 있다면 댓글을 통해 알려주세요.
