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 라이브러리이다.

Clone this wiki locally