Skip to content
/ minig Public

A topsy-turvy OpenGL practice. Grown with ♥️

Notifications You must be signed in to change notification settings

semi-yu/minig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

minig

A topsy-turvy OpenGL wrapper. Grown with ❤️.

엉망진창 만들어진 OpenGL 래퍼. 사랑과 함께.

To run: 돌리기 위하여

1. 다음과 같이 디렉터리 구조를 구성하십시오

root/
├── build/
├── external/
├── resource/
├── src/
└── CMakelists.txt
  • resource/는 제 취향입니다. 텍스쳐 파일을 한데 정리해서 넣기 위해 만들었습니다. 필요없다고 생각하면 하지맙시다.

2. 의존성을 추가하십시오

이 프로젝트는 다음 라이브러리에 의존성이 있습니다:

라이브러리 명 디렉토리 명 목적 참조 비고
{fmt} fmt/ 형식화된 텍스트 출력에 사용합니다. Repository
GLAD glad/ OS 플랫폼 독립적으로 OpenGL을 사용할 수 있도록 합니다. (더 편하게 OpenGL 개발을 할 수 있습니다. 😅) link gl 버전을 4.3 이상으로 설정한 후 generate 하십시오
GLFW glfw/ 윈도우 생성, 입력 이벤트 리스닝 등을 위해 사용합니다. Repository
GLM glm/ 벡터, 행렬 등의 객체 생성 및 계산에 사용합니다. Repository
stb stb/ 텍스쳐 출력을 위해 이미지를 파일시스템으로부터 읽어들일 때 사용합니다. Repository

external/ 폴더 밑에 git submodule add [git repo url] [directory name]으로 glad를 제외한 모든 라이브러리에 대해 명령어를 수행합니다.

glad는 generate하여 내려 받은 파일을 압축 해제 하여 안의 내용물을 glad/ 폴더를 만들어 하위에 집어넣습니다. 해당 절차가 끝나면 glad/ 디렉터리의 구조는 다음과 같습니다.

glad/
├── include/
│   ├── glad/
│   │   └── glad.h
│   └── KHR/
│       └── khrplatform.h
└── src/
    └── glad.c

3. main.cpp를 추가하십시오

root/src/ 디렉터리에 main.cpp를 추가합니다. 사용합니다.

4. 실행하기

앞서 모든 설정이 끝났다면 디렉터리 구조는 다음과 같아집니다.

root/
├── build/
├── external/
│   ├── fmt/
│   ├── glad/
│   ├── glfw/
│   ├── glm/
│   └── std/
├── resource/
├── src/
└── CMakelists.txt
  1. 의존성 설정이 모두 끝난 경우에는 root/bulid/ 폴더로 이동해서 cmake -G Ninja .. 명령어를 수행하여 빌드합니다. 1-1. 빌드 중 나타난 에러를 해결하거나 코드 변경 후 빌드를 하려면 Ninja를 수행합니다.
  2. 성공적이라면 build/ 디렉터리 밑에 minig.exe 파일이 생성됩니다. 실행해봅니다.

FYI: 일러둠

WIP

<style> .table thead th { border-bottom: none; } .table tbody tr:first-child td { border-top: none; } </style>
namespace 클래스 목적 사용 추가 작업
minig ApplicationWindow GLFW 래퍼 클래스. 윈도우를 생성하기 위한 GLFW 컨텍스트와 GLAD 라이브러리를 초기화합니다.
minig Graphical OpenGL를 사용한 어플리케이션의 메인 루프.
minig EventHandler GLFW 입력 이벤트 콜백 래퍼 클래스.
minig ShaderProgram OpenGL의 셰이더 컴파일 및 링크 과정에 대한 래핑.
minig Colored 내용 F
minig Textured 내용 F

About

A topsy-turvy OpenGL practice. Grown with ♥️

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages