Vulkan Renderer for example and maybe as reference when writing a c++ game or game engine.
#cpp #c++ #gamedev #renderer #vulkan #reference #engine #game-engine #shaders
|
|
2 years ago | |
|---|---|---|
| .idea | 2 years ago | |
| assets | 2 years ago | |
| build | 2 years ago | |
| cmake-build-release | 2 years ago | |
| coral_renderer | 2 years ago | |
| images | 2 years ago | |
| shaders | 2 years ago | |
| third_party | 2 years ago | |
| vk_renderer | 2 years ago | |
| .gitattributes | 2 years ago | |
| .gitignore | 2 years ago | |
| CMakeLists.txt | 2 years ago | |
| LICENSE | 2 years ago | |
| README.md | 2 years ago |
This repository contains a basic Vulkan graphics engine implemented in C++ using CMake. It provides abstractions for common Vulkan logic, making it easier to develop graphics applications. Additionally, a branch has been created to develop a small voxel terrain generator using the engine from the main branch. Everything is still very much work in progress and will continue being developed over the summer of 2023.
To use this Vulkan graphics engine and voxel terrain generator, follow these steps:
The coral_device class provides the main interface for the Vulkan graphics engine. It handles device initialization, command buffer creation, buffer and image management, and more. Refer to the coral_device.h header for a quick look of the available methods. The coral_buffer class provides buffer management for efficient handling of data. Refer to the coral_buffer.h header for a quick look of the available methods.
The voxel terrain generator is being developed on a separate branch from the main engine. You can switch to the branch and explore the code to understand the implementation. It is still very much a work in progress and is actively being developed.
Contributions to this project are welcome. If you find any issues or want to add new features, feel free to open a pull request.
This project is licensed under the MIT License. Feel free to use and modify the code according to your needs.
This Vulkan graphics engine is inspired by various online tutorials and resources such as Vulkan Tutorial, Vulkan Guide and this playlist by Brendan Galea. Go check these resources out, as this engine wouldn't have existed without them!