데스크톱, Android, 웹, iOS 게임을 위한 OpenGL ES 기반 크로스 플랫폼 Java 게임 개발 프레임워크입니다.
ocornut/imgui
Dear ImGui는 디버그, 도구 및 게임 엔진 인터페이스를 위한 가볍고 의존성이 적은 C++ 즉시 모드 GUI 라이브러리입니다.
- 스타
- 76,754
- 포크
- 12,077
- 열린 이슈
- 1,222
- 마지막 커밋
- 5일 전
어떤 프로젝트인가요?
Dear ImGui는 즉시 모드 패러다임을 사용하는 C++ 그래픽 사용자 인터페이스 라이브러리입니다. 위젯 트리를 만들고 유지하는 대신, 애플리케이션은 매 프레임 Button이나 SliderFloat 같은 함수를 호출하고 라이브러리는 사용자가 해당 위젯과 상호작용했는지 반환합니다. 핵심은 플랫폼에 종속되지 않는 몇 개의 소스 파일로 구성되어 있어 별도의 빌드 과정 없이 기존 프로젝트에 바로 추가할 수 있습니다.
Dear ImGui는 그래픽 API를 통해 직접 그리는 대신, 애플리케이션이 자체 렌더링 파이프라인으로 그릴 수 있도록 버텍스 버퍼와 짧은 드로 콜 목록을 출력합니다. DirectX, Metal, OpenGL, Vulkan, WebGPU 등을 위한 백엔드와 GLFW, SDL, Win32 같은 플랫폼 레이어가 저장소에 포함되어 있습니다. 이 라이브러리는 최종 사용자용 애플리케이션보다는 콘텐츠 제작 도구, 디버거, 프로파일러 및 엔진 에디터를 대상으로 하며, 완전한 국제화나 접근성 기능은 지원하지 않습니다.
핵심 기능
- 01매 프레임 코드에서 UI를 선언하며 동기화할 유지형 위젯 상태가 없는 즉시 모드 API
- 02버텍스 버퍼와 묶음 처리된 드로 콜을 출력하므로 렌더러가 라이브러리와 독립적임
- 03외부 의존성 없이 자체적으로 사용할 수 있는 몇 개의 핵심 소스 파일
- 04Win32, GLFW, SDL, Android를 비롯한 여러 그래픽 API와 플랫폼을 위한 공식 백엔드
- 05다양한 위젯, 플롯 및 레이아웃 옵션을 보여주는 내장 데모 창
활용 사례
- 게임 엔진이나 실시간 3D 애플리케이션에 디버그 패널 또는 프로파일링 화면 추가
- 빠르게 반복 작업할 수 있는 콘텐츠 제작 도구 또는 데이터 검사 도구 개발
- 비표준 OS 기능을 사용하는 콘솔이나 임베디드 시스템에서 변수 조정을 위한 인앱 UI 제작
빠른 시작
- 1
저장소 루트에 있는 핵심 imgui*.cpp 및 imgui*.h 파일을 프로젝트에 추가하세요
- 2
backends/ 폴더에서 사용하는 그래픽 API와 플랫폼에 맞는 백엔드를 선택하세요
- 3
ImGui::ShowDemoWindow()를 호출하면 예제 기능을 확인할 수 있으며, 소스는 imgui_demo.cpp에 있습니다
사용 전 알아둘 점
- 오른쪽에서 왼쪽으로 쓰는 텍스트와 양방향 텍스트를 포함한 완전한 국제화는 지원하지 않습니다.
- 접근성 기능은 지원하지 않습니다.
- 일반적인 최종 사용자용 UI가 아니라 디버그, 도구 및 게임 엔진 인터페이스용으로 설계되었습니다.
토픽
자주 묻는 질문
- imgui은(는) 무엇인가요?
- Dear ImGui는 디버그, 도구 및 게임 엔진 인터페이스를 위한 가볍고 의존성이 적은 C++ 즉시 모드 GUI 라이브러리입니다. Dear ImGui는 즉시 모드 패러다임을 사용하는 C++ 그래픽 사용자 인터페이스 라이브러리입니다. 위젯 트리를 만들고 유지하는 대신, 애플리케이션은 매 프레임 Button이나 SliderFloat 같은 함수를 호출하고 라이브러리는 사용자가 해당 위젯과 상호작용했는지 반환합니다. 핵심은 플랫폼에 종속되지 않는 몇 개의 소스 파일로 구성되어 있어 별도의 빌드 과정 없이 기존 프로젝트에 바로 추가할 수 있습니다.
- imgui은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- imgui은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- imgui은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. imgui의 마지막 커밋은 2026년 10월 16일입니다.
- imgui은(는) 어디에 사용할 수 있나요?
- 게임 엔진이나 실시간 3D 애플리케이션에 디버그 패널 또는 프로파일링 화면 추가 빠르게 반복 작업할 수 있는 콘텐츠 제작 도구 또는 데이터 검사 도구 개발 비표준 OS 기능을 사용하는 콘솔이나 임베디드 시스템에서 변수 조정을 위한 인앱 UI 제작
- imgui는 어떻게 설치하나요?
- 저장소 루트에 있는 핵심 imgui*.cpp 및 imgui*.h 파일을 프로젝트에 추가하세요 backends/ 폴더에서 사용하는 그래픽 API와 플랫폼에 맞는 백엔드를 선택하세요 ImGui::ShowDemoWindow()를 호출하면 예제 기능을 확인할 수 있으며, 소스는 imgui_demo.cpp에 있습니다
- imgui은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/ocornut/imgui
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
중단된 Microsoft XNA Framework를 재구현한 .NET 프레임워크로, C#으로 크로스 플랫폼 2D 및 3D 게임을 개발할 수 있습니다.
물리, 애니메이션, 타일맵, 대화 기능을 내장한 D 언어용 간편한 2D 게임 엔진입니다.
고정 팔레트와 저해상도 화면으로 픽셀 아트 게임을 만들 수 있는 Python용 레트로 게임 엔진입니다.
게임과 VR 애플리케이션을 위한 멀티코어 친화적인 C++ 강체 물리 및 충돌 감지 라이브러리입니다.
데스크톱, 모바일, WebAssembly, 콘솔을 지원하는 Go용 간단한 2D 게임 엔진입니다.