Irrlicht Engine

Irrlicht Engine은 C++로 작성된 무료·오픈 소스 실시간 3D 그래픽스 엔진이다. 이름에 Engine이 포함돼 있지만 프로젝트는 완성형 게임 엔진보다 렌더링 라이브러리라는 성격을 강조하며, 게임의 오디오·물리·네트워크와 전체 제작 환경은 외부 구성 요소와 통합하도록 설계됐다...

분류실시간 3D 그래픽스 엔진·렌더링 라이브러리
개발 시작2002년
개발자Nikolaus Gebhardt 및 Irrlicht 공동체
작성 언어C++
개발 언어C++; 외부 언어 바인딩
그래픽스 APIOpenGL, 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]

역사

개발과 프로젝트 구조

엔진 아키텍처

렌더링과 그래픽스

장면과 게임 객체

애니메이션·물리·오디오

스크립팅 및 개발 언어

에셋·빌드·편집 도구

지원 운영체제와 플랫폼

라이선스와 배포

사용 사례와 관련 엔진

관련 문서

  1. Irrlicht 공식 FAQ ↩
  2. Irrlicht 기능 안내 ↩
  3. Irrlicht 라이선스 ↩