Skip to content

Open source game engine written in C++20 and Vulkan.

License

Notifications You must be signed in to change notification settings

eUltrabyte/uvke

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

uvke icon uvke logo

Language Standard License Pull Requests Forks

uvke ( Ultrabyte Vulkan Engine ) is open source framework for Vulkan based apps development written in C++ 20.

Main goal of uvke is to make using vulkan simple. I want to use it for myself but usage by someone else would be nice.

Libraries

glfw - Open source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc.

Vulkan SDK - Vulkan is a new generation graphics and compute API that provides high-efficiency, cross-platform access to modern graphics processing units, which are used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms.

imgui - Bloat-free graphical user interface library for C++. It outputs optimized vertex buffers that you can render anytime in your 3D-pipeline-enabled application. It is fast, portable, renderer agnostic, and self-contained (no external dependencies).

stb_image - Image loading/decoding from file/memory: JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC.

portaudio - Portable audio I/O library designed for cross-platform support of audio. It uses either a callback mechanism to request audio processing, or blocking read/write calls to buffer data between the native audio subsystem and the client.

tinyobjloader - tiny but powerful single file wavefront obj loader written in C++03. No dependency except for C++ STL. It can parse over 10M polygons with moderate memory and time.

Installation

To compile uvke you need C++ compiler and some libraries. You can install libraries with vcpkg. Working compilers with uvke are Visual Studio 16, g++13 or Clang18, also newer versions of compilers should work.

Firstly, you need to clone the repository.

git clone https://github.com/eUltrabyte/uvke.git

Secondly, make build directory and use cmake to generate project files.

mkdir Build && cd Build
cmake ..

Lastly, you should compile without any complications.

cmake --build .

To run all of the examples, you need resources, like graphics and music files.

Bugs

Bugs are reported to issue tracker

Report template look like this

Operating System:
CPU:
GPU:
Branch:
Short description:

About

Open source game engine written in C++20 and Vulkan.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published