This is a game engine using the Vulkan API to learn about computer graphics and is currently still in development.
The Vulkan Game Engine utilizes GLFW for window creation and management. The window is created through the VgeWindow
class, which encapsulates all necessary functionalities for initializing and managing a GLFW window suitable for Vulkan rendering.
The VgeWindow
constructor initializes the GLFW library, sets window hints to disable the OpenGL context, and allows resizing and creates the window.
2. Vulkan Initialization: Initializes Vulkan by creating an instance and checking for extension support.
11. Graphics Pipeline Configuration: Configures the fixed function stages (input assembler, rasterization, color blending).
17. Viewport and Swapchain Recreation: Dynamically adjusts viewport and recreates swapchain on window resize.
- Cleanup: Resource cleanup is the responsibility of the programmer. The project adheres to RAII principles.
- Ongoing Development: This is a personal project and will continue to evolve. Future features include player and NPC objects, as well as basic physics simulations like gravity and collision.
- Add more to this readme to benefit understanding of the code base.
- Player objects
- NPC objects
- Basic physics simulations (gravity, collision)
There are no creation steps as of yet.
This project is licensed under the MIT License
- GLFW
- Vulkan API
- GLSL
Special thanks to learncpp, the Vulkan Tutorial, and Brendan Galea.