CubeBerry / CubeEngine

OpenGL & Vulkan Rendering Engine Written In C++

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CubeEngine

Static Badge Static Badge Static Badge

CubeEngine is a rendering engine written in C++, developed as a personal hobby project and for portfolio purposes. This engine utilizes an integrated renderer based on both OpenGL and Vulkan. The primary objective of this project is to implement features learned from college courses, particularly those focused on OpenGL graphics. Furthermore, the project aims to adapt and apply these OpenGL-based techniques to Vulkan, thereby gaining proficiency in both graphics APIs.

Minimum Requirements

  1. Latest Graphics Driver
  2. GPU with Vulkan version 1.3 or above supported
  3. Discrete GPU recommended
  4. Download Vulkan SDK Minimum Version 1.3.268.0

How to Build

Currently it only supports MSVC compiler(Visual Studio 2022 Recommended).

  1. Open CMD at a root directory.
  2. Input "mkdir build" -> "cd build" -> "cmake .."

All required APIs and Libraries are integrated in Project.

Features

  1. Running on OpenGL & Vulkan Graphics APIs.
  2. Batch Rendering
  3. ImGui Integrated
  4. SoundManager with ImGui UI
  5. Basic 2D Game Engine Features
  6. 3D Plane, Cube Meshes

Screenshots

image

image

image

image

Future Plans

  1. Linux Support
  2. Basic 3D Mesh Lighting
  3. C++ Code Optimization

License

Licensed under the MIT License.

Music by DavidKBD under the CC BY 4.0 License.

Music by Abstraction under the CC0 1.0 Universal License.

Asset by Pupkin

Sound Effect by 効果音ラボ

About

OpenGL & Vulkan Rendering Engine Written In C++

License:MIT License


Languages

Language:C++ 52.3%Language:C 45.3%Language:C# 2.2%Language:CMake 0.1%Language:Objective-C 0.1%Language:GLSL 0.1%Language:Shell 0.0%Language:Makefile 0.0%Language:GDB 0.0%Language:Batchfile 0.0%