Irrlicht Engine
Irrlicht Engine은 C++로 작성된 무료·오픈 소스 실시간 3D 그래픽스 엔진이다. 이름에 Engine이 포함돼 있지만 프로젝트는 완성형 게임 엔진보다 렌더링 라이브러리라는 성격을 강조하며, 게임의 오디오·물리·네트워크와 전체 제작 환경은 외부 구성 요소와 통합하도록 설계됐다...
| 분류 | 실시간 3D 그래픽스 엔진·렌더링 라이브러리 |
|---|---|
| 개발 시작 | 2002년 |
| 개발자 | Nikolaus Gebhardt 및 Irrlicht 공동체 |
| 작성 언어 | C++ |
| 개발 언어 | C++; 외부 언어 바인딩 |
| 그래픽스 API | OpenGL, Direct3D, 소프트웨어 렌더러 |
| 장면 구조 | Scene Manager, Scene Node |
| 사용자 인터페이스 | 기본 2D GUI 시스템 포함 |
| 자료 형식 | OBJ, 3DS, MD2, BSP 등 |
| 주요 기능 | 렌더링, 애니메이션, 충돌 판정, 리소스 로딩 |
| 물리·네트워크 | 별도 라이브러리 연동 필요 |
| 개발 플랫폼 | Windows, Linux, macOS 등 |
| 라이선스 | Irrlicht License (zlib/libpng 계열) |
| 소스 코드 | SourceForge |
| 공식 사이트 | irrlicht.sourceforge.io |
Irrlicht Engine은 C++로 작성된 무료·오픈 소스 실시간 3D 그래픽스 엔진이다. 이름에 Engine이 포함돼 있지만 프로젝트는 완성형 게임 엔진보다 렌더링 라이브러리라는 성격을 강조하며, 게임의 오디오·물리·네트워크와 전체 제작 환경은 외부 구성 요소와 통합하도록 설계됐다. 2000년대부터 여러 운영체제에서 사용할 수 있는 경량 그래픽스 기술로 개발됐다.[1]
엔진은 Scene Manager와 Scene Node를 통해 3차원 객체, 광원과 카메라, 장면의 부모·자식 구조를 관리한다. 개발자는 API에서 메시·텍스처를 읽고 객체의 위치·회전·크기를 변경하며, 충돌 판정 및 기본 애니메이션 기능을 사용할 수 있다. 프로젝트는 특정 게임 장르나 사용자 인터페이스를 강제하지 않는다.
그래픽스는 OpenGL과 Direct3D 등 플랫폼별 하드웨어 가속 백엔드 외에 자체 소프트웨어 렌더러를 제공한다. 이 방식은 여러 API를 공통 C++ 인터페이스로 묶으며, 다양한 메시·텍스처 형식을 읽고 조명·그림자·파티클·GUI를 렌더링한다. 실제 제공 기능과 지원 API는 엔진 버전에 따라 달라진다.[2]
개발자는 Visual Studio·GCC 등의 C++ 툴체인으로 엔진을 사용하거나 C#·Java 등 커뮤니티 바인딩을 이용할 수 있다. 네트워크 멀티플레이나 음악·물리 시뮬레이션이 필요한 게임에서는 별도 라이브러리를 선택해 결합해야 한다. Irrlicht가 제공하는 충돌·장면 그래프 도구와 완전한 게임 제작 파이프라인은 구별된다.
Irrlicht의 기본 라이선스는 zlib/libpng 계열로, 상용 제품을 포함한 소스 수정·재배포를 허용한다. 다만 외부 이미지 디코딩 라이브러리 등 일부 서드파티 코드에는 별도의 표기 의무가 있으므로 배포 시 관련 라이선스를 함께 확인해야 한다.[3]