4P by ffdd270 2020-11-06 | favorite | 댓글과 토론

Dear ImGui는 적은 코드로도 많은 걸 할 수 있는 GUI 라이브러리입니다. WinAPI의 MsgProc이나, WinForm의 Xaml.cs 같은 것도 필요 없이 함수의 return 값으로 모든 이벤트를 처리합니다. 즉.

if (ImGui::Button("버튼") ) { /*버튼 클릭 이벤트*/ }
ㅤ{ std::cout 〈〈 "Hello, Imgui!" 〈〈 std::endl; }

이런 식으로 처리합니다. Button 함수를 호출하면 버튼을 그리는 것과 동시에 사용자 입력이 return으로 반환해줍니다. 또한 미리 만들어진 Widget이 아닌, 사용자가 ImGui에서 사용하는 인터페이스를 통해 직접 Widget과 입력을 받아올 수도 있어서 확장성이 좋습니다.

ImGui는 매 프레임 그려줘야 하기에 게임이나 그래픽 라이브러리에 많이 사용하고 있지만, 일반 사용자용 GUI는 개발 목표는 아닌 것 같습니다.

사용 예들을 보고 싶으시다면, 아래 링크를 참고해주세요.

https://github.com/ocornut/imgui/issues/3075

그리고 해당 GUI를 사용하고 있는 게임 회사들을 보고 싶으시다면, 아래 링크를 참고해주세요.

https://github.com/ocornut/imgui/wiki/Software-using-dear-imgui