Dear ImGui เป็นไลบรารี GUI ที่สามารถทำอะไรได้มากมายด้วยโค้ดเพียงเล็กน้อย โดยไม่ต้องมีสิ่งอย่าง MsgProc ของ WinAPI หรือ Xaml.cs ของ WinForm ก็สามารถจัดการทุกอีเวนต์ได้ผ่านค่า return ของฟังก์ชัน กล่าวคือ

if (ImGui::Button("ปุ่ม") ) { /อีเวนต์คลิกปุ่ม/ }

{ std::cout 〈〈 "Hello, Imgui!" 〈〈 std::endl; }

สามารถเขียนจัดการได้ในลักษณะนี้ เมื่อเรียกใช้ฟังก์ชัน Button ระบบจะวาดปุ่มไปพร้อมกับส่งคืนอินพุตของผู้ใช้ผ่านค่า return นอกจากนี้ยังไม่ได้จำกัดอยู่แค่วิดเจ็ตที่เตรียมไว้ล่วงหน้า เพราะผู้ใช้สามารถรับอินพุตและสร้างวิดเจ็ตได้เองโดยตรงผ่านอินเทอร์เฟซที่ ImGui ใช้งานอยู่ จึงมีความยืดหยุ่นในการขยายต่อได้ดี

ImGui ต้องถูกวาดใหม่ทุกเฟรม จึงถูกใช้งานบ่อยในเกมหรือไลบรารีกราฟิก แต่ดูเหมือนว่าจะไม่ได้มีเป้าหมายในการพัฒนาเพื่อเป็น GUI สำหรับผู้ใช้ทั่วไป

หากต้องการดูตัวอย่างการใช้งาน กรุณาดูลิงก์ด้านล่าง

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

และหากต้องการดูบริษัทเกมที่กำลังใช้งาน GUI นี้ กรุณาดูลิงก์ด้านล่าง

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

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น