Skip to content

Satlykovs/VulkanEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VulkanEngine

Собственный 3D-графический движок на C++, разрабатываемый с целью глубокого изучения низкоуровневого графического программирования, управления памятью GPU и архитектуры современных графических API.

🛠️ Tech Stack

  • Language: C++20
  • Graphics API: Vulkan 1.3
  • Dependencies Management: CMake (FetchContent)
  • Core Libraries: GLM (Math), VMA (Memory Management), spdlog (Logging), glfw (Windowing), tinyobjloader (Mesh loading), stb (Image loading).
  • Code Quality: Automated formatting via clang-format.

⚙️ Engineering Features

  • Automated Shader Pipeline: Интегрированная в билд-систему (CMake) автоматическая компиляция GLSL шейдеров через glslc.
  • Resource Management: Использование Vulkan Memory Allocator (VMA) для эффективной аллокации памяти GPU.
  • Modern API Usage: Работа с Dynamic Rendering, Push Constants для трансформации матриц, Fences/Semaphores для синхронизации кадров.
  • Code Style: Интегрированные таргеты check-format и format для поддержания стандартов написания кода.

🚀 Status

В активной разработке. Текущая реализация включает:

  • Инициализацию Vulkan-инстанса и логического устройства.
  • Настройку Swapchain, Depth-буферов и графического конвейера.
  • Рендеринг загруженных 3D-моделей (OBJ) с текстурированием.
  • Камеру от первого лица с обработкой ввода и трансформацией матриц.

🏗️ Build

Системные требования

  • Vulkan SDK (должен быть установлен в системе).
  • CMake (3.25+).
  • C++20 компилятор.

Сборка

Проект использует FetchContent для автоматического скачивания всех необходимых зависимостей (GLFW, GLM, spdlog, VMA, tinyobjloader, stb), поэтому вам не нужно устанавливать их вручную.

git clone https://github.com/Satlykovs/VulkanEngine.git
cd VulkanEngine
mkdir build && cd build
cmake ..
make
./MyEngine

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors