Skip to content

mosamaasif/Burraq_Engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Burraq Engine

A work-in-progress rendering engine built from scratch with Vulkan.

License: MIT

About

Burraq Engine is a barebone rendering engine I built to learn the Vulkan graphics API. It features a modular architecture with a complete Vulkan abstraction layer, an event-driven input system, and a configurable graphics pipeline with automatic shader reflection. The repo includes a Minecraft-style voxel demo as a reference implementation.

Features

  • Vulkan Rendering Pipeline — Swapchain management, descriptor sets, push constants, and 3-frame pipelining
  • Automatic Shader Reflection — Descriptor set layouts generated from SPIR-V bytecode via SPIR-V-Reflect
  • Mesh Loading — OBJ model loading with vertex/index buffer management
  • Texture System — 2D textures and cubemap support for skyboxes
  • Skybox Rendering — Configurable skybox with dedicated shaders and cubemap sampling
  • Camera System — Perspective camera with mouse-look and keyboard controls
  • Event System — Type-safe event dispatcher for keyboard, mouse, and window events
  • Input Management — Centralized keyboard (512 keys) and mouse (8 buttons) tracking
  • Logging — Multi-level logger (Info/Trace/Warn/Error/Critical) with color-coded console and file output
  • Minecraft Demo — Chunk-based voxel world (5x5 chunks, 16x16x16 blocks each) with multiple block types

Built With

Getting Started

Prerequisites

  • Windows (the engine uses Win32 APIs)
  • Vulkan SDK
  • Visual Studio 2019+

Building

  1. Clone the repo
    git clone https://github.com/mosamaasif/Burraq_Engine.git
  2. Open Burraq.sln in Visual Studio
  3. Build and run the Minecraft project (the demo application)

Shaders are pre-compiled to SPIR-V. To recompile after editing, run Minecraft/Resources/Shaders/ShaderCompilerScript.bat (requires glslangValidator from the Vulkan SDK).

License

Distributed under the MIT License. See LICENSE for details.

About

No description or website provided.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages