Corange

Corange는 Daniel Holden이 개발한 C 기반의 공개 3D 게임 개발 프레임워크다. C++이 아닌 순수 C 언어로 그래픽스·게임 객체·자산 및 사용자 인터페이스를 관리하는 시스템을 구현한 프로젝트로, 2011년 개발 기록이 공개됐다. 게임 제작용 API와 그래픽스 실험 도구...

분류게임 엔진 또는 게임 개발 도구
개발 주체Daniel Holden
작성 언어C
게임 개발 언어C API
주요 기술SDL, OpenGL, 지연 렌더링·셰이더·자산·UI
지원 플랫폼Windows, Linux 등
라이선스공개 소스; 저장소 라이선스 문서 기준
공식 자료프로젝트 자료
최초 개발 기록2011년
그래픽스SDL·OpenGL
렌더링 방식지연 렌더링
언어 생태계순수 C
개발 모델공개 개인 연구 프로젝트

Corange는 Daniel Holden이 개발한 C 기반의 공개 3D 게임 개발 프레임워크다. C++이 아닌 순수 C 언어로 그래픽스·게임 객체·자산 및 사용자 인터페이스를 관리하는 시스템을 구현한 프로젝트로, 2011년 개발 기록이 공개됐다. 게임 제작용 API와 그래픽스 실험 도구를 제공하지만 완성된 범용 게임 제작 편집기보다 프로그래밍 프레임워크 성격이 강하다.[1]

엔진은 SDL의 창·입력·오디오 처리와 OpenGL 렌더링을 이용한다. 객체와 장면, UI 요소와 자산은 각 관리 모듈로 분리하고 렌더링 파이프라인은 지연 렌더링, 그림자·후처리 및 다수 광원의 표현을 지원한다. 개발자는 라이브러리의 C API를 호출하면서 원하는 게임 루프와 콘텐츠 구조를 직접 작성할 수 있다.

공식 README에는 스켈레탈 애니메이션과 역운동학, 지형과 충돌 판정·OpenCL 연동, 물과 파티클 등의 실험 기능이 소개돼 있다. 프로젝트의 예제는 이런 기술의 데모를 포함하지만 개발자는 일부 기능이 미완성 또는 실험적인 상태라고 설명한다. 따라서 모든 그래픽스 예제가 상용 게임에서 검증된 완성형 기능이라고 볼 수는 없다.[2]

Corange는 Windows의 MinGW와 Linux의 SDL 개발 환경에서 빌드할 수 있다. 헤더와 구현 코드가 함께 공개돼 있어 개발자는 필요한 렌더링·UI 또는 수학 모듈만 추출해 연구할 수 있다. 네이티브 C 언어를 사용하는 개발자에게 장면·자산 관리와 OpenGL의 연결 과정을 직접 확인할 수 있게 한다.

개발자는 Corange가 개인적인 그래픽스 연구·엔진 개발 학습의 성격을 갖는다고 명시했으며, 문서와 기능의 일부가 미완성이라고 설명했다. 저장소에 공개된 코드는 연구·개발 자료로 유용하지만, 외부에 다시 배포할 때에는 사용한 버전의 실제 라이선스 파일과 포함된 제삼자 라이브러리 조건을 확인해야 한다.

역사

개발 조직과 기술 계보

런타임과 내부 아키텍처

그래픽스와 렌더링

게임 객체·장면과 UI

프로그래밍·스크립팅

자산과 제작 도구

물리·애니메이션·시뮬레이션

지원 플랫폼

라이선스와 개발 상태

활용 프로젝트와 관련 엔진

관련 문서

  1. Daniel Holden: Corange 개발 소개 ↩
  2. Corange 공식 기능 설명 ↩