Custom Engine
- Duration: 2 years
- Language: C++
- Key words: 2D, OpenGL
- Time: Auguest 2022 - May 2024
This engine is developed over the course of two years through my learning times in SMU Guildhall guided by Squirrel Esierloh and Matt Butler.
Key features
- C++ for windows games
- Input: using WindowsMessage and XInput, I/O with std::filesystem
- Rendering
- DirectX11
- OpengGL
- 2D and 3D
- Assets Loading
- stb_imgage for picture files
- 3D obj model files loaded with custom OBJ loader
- using freetype and sign-distance-field for font loading and rendering
- Physics
- 2D physics supports overlap detection, pushing out, and raycast vs each one of them
- Disc
- AABB
- OBB
- Line
- Capsule
- Plane
- ConvexPoly
- ConvexHull
- 3D physics support raycast vs Cylinder
- 2D physics supports overlap detection, pushing out, and raycast vs each one of them
- Multi-threading: using JobSystem to dispatch jobs for threads to work on, and later on be collected by main thread; Optimize art asset loading with multi-threading
- DevConsole: out-of-box dev console using EventSystem to trigger commands
- Tweening System: out-of-box keyframe animation editor that enables tweening motion edits, and save/load to disk
Keyframe animation editor