Test Model: Stanford Bunny (2.5mb, 14 million polygons)
- sample assets from https://casual-effects.com/data/
#1) SAH bruteforce approach : 938966 ms
#2) SAH with uniform buckets binning : 204 ms
#3) (Current Version) SAH binning with 12 threads : 110 ms --> Bottleneck !!!
- ✅ Möller–Trumbore intersection algorithm 이랑 현재 삼각형 충돌 방식 중 나은 방안 선택
- Thread build 구조 변경을 통한 Bottleneck 해결
- UV unwrap algorithm?
- Animation을 위한 Refit, Reform 로직 추가
- Debug Mesh 생성 쓰레딩을 위해 Vulkan으로 이전할 것. (OpenGL은 thread specific이라 한계가 있음)
- implement Global-illumination (ray-tracing)
- store Mesh to Half-edge structure
this project is for Linux, MacOS. (Windows is currently not supported)
#0) install dependency
sh ./dependency/build_dependency.sh
#1) compile with cmake (Realease version)
cmake -DCMAKE_BUILD_TYPE=Release -B release && make -C release
#2) run program
./release/scoop
- 추후 기능개발 후 Entity Component System (ECS) 방식으로 구조 작성할 것.
- The Cherno GameEngine Series (Demo)
- GameEngine Series Sandbox
OpenGL
- Hazel Engine
Vulkan
- Walnut Framework
Vulkan
- 프로젝트마다 해당 구조를 재사용 할 수 있도록 Template화 할 것.
OpenGL
로 먼저 구현 후,Vulkan
으로 이전.- 구조는 Hazel Engine을 분석하여 반영할 것.
- ImGUI 로 초반 프로토타입만 작성한 후,
QT GUI
로 최종 변환할 것. - Mac, Linux, Window 모두 지원되도록
CMake
로 build 환경 구성할 것.# 운영체제에 관계없이, git clone 후 아래 명령어만 실행하면 컴파일 되도록 설정할 것! cmake -B build && make -C build