Skip to content

Drischdaan/Renderwerk

Repository files navigation

Renderwerk

Game/Rendering Engine

Explore my Notes »

Issues MIT License

🗣️ About

Renderwerk is my passion project, a game/rendering engine that I am developing in my free time. It is not intended to be a production-ready engine, but rather a playground for me to learn about graphics programming and experiment with different ideas and concepts. I started the project around the end of 2021, and it went through a lot of changes, rewrites and iterations since then. The engine is written in C++ and uses Vulkan as the primary rendering API. The project is still in its early stages, and there is a lot of work to be done. I am working on it in my free time, so progress might be slow.

🛣️ Roadmap

The roadmap is a rough outline of the features that are planned to be implemented in the engine. The list is not exhaustive and will be updated as the project progresses. The features are not listed in any particular order.

🚗 Engine

  • Job System
  • Memory Allocators
  • Memory Tracking (with support for stl structures)
  • Channel based logging using spdlog
  • Performance Profiling with tracy
  • Vulkan Rendering
  • DirectX12 Rendering
  • Mesh Shading Pipeline
  • Custom container structures (Vector, Map, etc.)
  • String hashing for fast string comparisons and lookups (Unreal Engines FName as an example)
    • String lookup table
  • Slang Support

✏️ Editor

  • Node based Editors for Materials, Shaders, Renderpasses, etc.
  • Debugging tools

🚀 Getting Started

📦 Prerequisites

🛠️ Setting up the workspace

After cloning the repository, run the following commands in the root directory (Choose the appropriate scripts for your OS):

# Windows
.\CLI.bat setup

This command will install the necessary dependencies and tools required to build the project. It will also generate the Visual Studio solution file.

🧹 Cleaning the workspace

If you encounter any issues with the build system, you can clean the workspace with the following commands:

# Windows
.\CLI.bat clean

This will remove all build artifacts, intermediate files, manually downloaded dependencies and tools. You need to run the setup script again to restore the workspace to a working state.

📜 License

See LICENSE for more information.

🫱🏽‍🫲🏽 Contact

Github Discord Twitter