Skip to content
This repository has been archived by the owner on Mar 20, 2022. It is now read-only.

Latest commit

 

History

History
38 lines (28 loc) · 1.42 KB

README.md

File metadata and controls

38 lines (28 loc) · 1.42 KB

portfolio

C++ 3D framework / engine from scratch (little use of third party tools). Intended to show my experience with C++ programming and software engineering. It is not intended to be a "plug in and play" library nor is it an universal 3D engine. ~10.000 LOC in src

for more images head to ads/progress/

Contents

  • custom resource parsing (custom mesh file (python blender export), custom prefabs file)
  • data-oriented ecs
  • window and input system
  • elaborated vulkan renderer (materials, instancing, shadowmaps, postfx, state management)
  • serialization of terrain and ecs data (save/load)
  • immediate-style UI and text rendering
  • containers (little use of STL facilities)
  • block memory allocation (with some CTFE, print to html)
  • maths library (matrix, algorithms)
  • logger, profiling, other utils
  • editor (undo/redo commands) and basic scene tree
  • terrain system (quadrants, mesh generation, stiching, raycasting)

How to run?

  • I am using VS Code with some C++ extensions
  • Batch files are included to fire up the compiler (mingw GCC)
  • Need of C++20 (heavy use of "designated initializers" for Vulkan)

Code Style

Hard to describe, but bascially c-style, procedural and data-oriented.

Files in ext/ directory are licensed separately, please view these files for more information.