Skip to content
Jaedeok Kim edited this page Oct 26, 2022 · 4 revisions

raylib 소개

raylib은 게임 프로그래밍을 재미있게 배우고 싶은 사람들을 위해 만들어진, 간단하고 배우기 쉬운 라이브러리입니다.

raylib은 Borland BGI 그래픽 라이브러리XNA 프레임워크를 참고하여 만들어졌으며, 게임 프로토타이핑, 다른 소프트웨어 개발에 활용될 수 있는 도구, 그래픽 애플리케이션 및 임베디드 소프트웨어 개발과 게임 프로그래밍의 교육 등에 사용하기에 가장 적합한 라이브러리입니다.

raysan5/raylib


raylib의 특징

raylib + ferox 예시

  • raylib은 C99 표준을 준수하며, 외부 라이브러리를 제외한 모든 부분이 100% C언어로 작성되어 있다.
  • raylib에는 게임 프로그래밍에 필요한 모든 라이브러리가 이미 포함되어 있기 때문에, raylib만 빌드하면 바로 게임 개발을 시작할 수 있다.
  • 윈도우 (Windows), 리눅스 (GNU/Linux), 맥OS (macOS), 라즈베리 파이 (Raspberry Pi), 안드로이드 (Android), HTML5 등의 다양한 플랫폼을 대상으로 내가 만든 게임을 컴파일할 수 있다.
  • raylib은 OpenGL을 기반으로 한 게임 프로그래밍 라이브러리이며, OpenGL을 통한 하드웨어 가속 기능 (hardware acceleration)을 제공한다.
  • 2D 및 3D 게임 프로그래밍을 위해 3D 도형 및 모델, 높이맵 (heightmap), 셰이더 (shaders) 등의 다양한 기능을 제공한다.
  • 다양한 글꼴 형식, 텍스처 (texture) 형식과 오디오 (audio) 형식을 지원한다.
  • 라이브러리를 무료로 사용할 수 있으며, 오픈 소스 소프트웨어이다.

raylib의 주요 모듈

raylib 아래와 같이 총 7개의 주요 모듈로 구성되어 있으며, 각 모듈에 포함된 모든 함수의 원형은 raylib.h라는 헤더 파일에 있다.

  • core 모듈 (rcore.c): 게임 창을 관리하고 사용자로부터 마우스, 키보드나 컨트롤러의 입력을 처리한다.
  • textures 모듈 (rtextures.c): 이미지 파일과 텍스처를 불러오고 게임 화면에 그리는 함수를 제공한다.
  • text 모듈 (rtext.c): 벡터 글꼴 또는 비트맵 글꼴을 불러오고 게임 화면에 그리는 함수를 제공한다.
  • shapes 모듈 (rshapes.c): 픽셀, 선분, 원, 다각형 등의 2D 기본 도형을 그리는 함수를 제공한다.
  • models 모듈 (rmodels.c): 3D 모델을 불러오고 렌더링하는 함수를 제공한다.
  • rlgl 모듈 (rlgl.h): OpenGL 규격에서 제공하는 함수를 쉽게 사용하기 위한 API를 제공한다.
  • audio 모듈 (raudio.c): 소리 출력을 제어하고, 효과음이나 음악 파일을 불러오는 함수를 제공한다.

raylib의 주요 모듈


또한 raylib는 주요 모듈 외에도, 게임 프로그래머가 필요에 따라 사용할 수 있는 추가적인 모듈 몇 가지를 더 제공한다.

  • raymath 모듈 (raymath.h): 2차원 및 3차원 벡터와 행렬 연산에 필요한 함수를 제공한다.
  • raygui 모듈 (raygui.h): 유니티 (Unity) 게임 엔진의 즉시-모드 (immediate-mode)GUI에서 영향을 받은, 멀티-플랫폼 GUI 라이브러리이다.