Raylib 시작하기#

목표#

  • CMake를 사용하여 프로젝트 생성하기
  • hello_world 만들기

시작하기전에#

  • VCS 는 기본적으로 git을 사용한다.
  • 다양한 에셋파일들은 git-lfs 를 사용하여 관리한다.

01. 프로젝트 생성하기#

  1. 깃에 레포지토리를 생선한다.
  2. .gitignore 파일 생성
    # tool
    .idea
    .fleet
    .obsidian
    .vscode
    .vs
    
    # mac
    DS_Store
    .DS_Store
    
  3. git-lfs로 바이너리 파일 등록하기
    • 소스코드가 아닌 바이너리 파일들은 항상 추가하도록 한다.
    • root에 .gitattributes 파일 생성된다.
    git lfs track "*.png"
    

02. CMakeLists.txt 작성하기#

  1. root 폴더에 CMakeLists.txt 파일 생성
    cmake_minimum_required(VERSION 3.14)
    project([[게임이름]] C CXX)
    
    # raylib 불러오는 코드
    include(FetchContent)
    FetchContent_Declare(
        raylib
        GIT_REPOSITORY https://github.com/raysan5/raylib.git
        GIT_TAG        6.0 # 원하는 버전 tag 지정 (예: 5.0, master 등)
    )
    FetchContent_MakeAvailable(raylib)
    
    # 빌드 옵션
    set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) # 예제 빌드 비활성화
    
    # 실행파일 생성
    add_executable(${PROJECT_NAME} [[메인파일 ex) src/main.cpp]])
    
    # raylib 타켓 링크
    target_link_libraries(${PROJECT_NAME} PRIVATE raylib)
    

03. hello world 추가하기#

  1. root/src/main.cpp 작성하기
    #include "raylib.h"
    
    int main() {
        // 1. 창 크기와 제목 설정 후 초기화
        const int screenWidth = 800;
        const int screenHeight = 450;
        InitWindow(screenWidth, screenHeight, "raylib - Hello World");
    
        // 2. 초당 프레임 수(FPS)를 60으로 설정
        SetTargetFPS(60);
    
        // 3. 메인 게임 루프 (ESC 키나 닫기 버튼을 누르면 종료)
        while (!WindowShouldClose()) {
            // --- 렌더링 시작 ---
            BeginDrawing();
    
            // 배경색을 흰색으로 칠하기
            ClearBackground(RAYWHITE);
    
            // 텍스트 그리기: (내용, X좌표, Y좌표, 폰트크기, 색상)
            // MeasureText()를 활용해 텍스트를 정중앙에 배치합니다.
            int textWidth = MeasureText("Hello World!", 40);
            DrawText("Hello World!", (screenWidth - textWidth) / 2, (screenHeight - 40) / 2, 40, DARKGRAY);
    
            // --- 렌더링 종료 ---
            EndDrawing();
        }
    
        // 4. 창을 닫고 리소스 해제
        CloseWindow();
    
        return 0;
    } 
    

04. 실행하기#

  • 맥에서 Metal 사용권장을 하기위해 OpenGL 사용시 에러메세제지를 발생시킨다.
    • CLion 설정에서 다음을 추가한다.
    • CMake options에 “-Wno-dev” 추가 설정