Short Introduction
Vulkan이라는 3D 그래픽 밎 GPU API를 활용해 간단한 게임 엔진을 만들고자 한다.
Content
- 프로젝트 진행 동기
Vulkan이라는 low-level 그래픽 라이브러리를 알게 되었고 사용하는 방법을 알고 싶었고, 그냥 강의를 따라하며 간단한 모델 로딩하는 프로그램들 만들기보다는 좀 더 사용성이 있는 프로그램을 만들고 싶었다.
- 프로젝트의 진행 과정
3D 공간에 삼각형들을 그리고 이에 필요한 Vulkan 셋업, 창 만들기, 그래픽 파이프라인 만들기, 스왑체인과 부착 이미지들을 만들기 등을 성공했다. 또 VK_KHR_DYNAMIC_RENDERING Extention을 이용하기를 성공했다. 이를 실제 3D 모델을 띄울수 있도록 배치하려면 Vertex Buffer이라는 것을 셋업해야 하고, 모델의 Texture, 위치, 방향 등을 정할 수 있으려면 Descriptor Sets라는 것을 메모리에 할당하고 사용해야 된다. 이것들의 구현은 아직 진행 중이다
- 프로젝트의 결과
원하는 개수의 삼각형들을 스크린의 지정된 위치에 그리고, 색을 정할 수 있으며, 그래픽 파이프라인에서 사용할 Shader도 지정할 수 있다.
Github 링크:
GitHub – programmer3481/VroomEngine: simple 3d engine. work in progress.

*ReLU function: f(x)=0 for x<0, f(x)=x for x>0
- 프로젝트 진행 소감
모델 로딩까지 완성하고 싶었지만 못해서 조금 아쉽다. 다음번에는 못한것들을 완성하여 엔진의 렌더링/그래픽 부분을 완성하고 엔진 자체 디자인을 본격적으로 시작하고 싶다.
Attachments
About
본 글은 2022년도 1학기에 22 조건우 연구회원이 진행한 프로젝트입니다.