All work is in progress and plans can be changed over time.
- Platform: Windows x64
- Rendering: Vulkan
- glm (https://github.com/g-truc/glm)
- tinyobjloader (https://github.com/tinyobjloader/tinyobjloader)
- vma (https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator)
- Window Management
- Input Handling
- File System
- Graphics System
- Scene Managment
- Collision System
- Multithreading
- Asset Management
- Animation
- Audio
- Event System
- Networking
“First, solve the problem. Then, write the code.” – John Johnson
- Create Window (Win32)
- Game Loop
- Input System (Win32 Keyboard)
- Initialize:
- Vulkan init
- Commands
- Renderpass
- Draw triangle:
- Shaders
- Render pipeline
- Draw triangle
- File system
- Draw mesh:
- Vertex Buffer
- Push Constants
- Load OBJ
- Depth Buffer
- Buffers:
- Double Buffers
- Decriptor Sets
- Storage Buffers
- Textures:
- Memory Transfer
- Vulkan Images
- Loading Images
- Drawing Images
- GPU Driven Rendering
- [Simple Game Engine in C++] How to setup project on Windows with premake C++
- [Simple Game Engine in C++] How to create window on Windows C++
- [Simple Game Engine in C++] How to create Game Loop C++
- [Simple Game Engine in C++] How to create Input System C++ : Part 1 [Windows]
- [Simple Game Engine in C++] How to create Vulkan Renderer C++ : Part 1 [Initialize]
- [Simple Game Engine in C++] How to create Input System C++ : Part 2 [Windows/Controller]
- [Simple Game Engine in C++] How to create Vulkan Renderer C++ : Part 2 [Draw triangle]
- [Simple Game Engine in C++] How to create File System C++