Skip to content

A Vulkan based renderer made for learning purposes

Notifications You must be signed in to change notification settings

Juanxpeke/Fancy-Engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lotus Engine

A Vulkan based renderer made for learning purposes.

Structure

Engine

The engine consists of a single static library called Fancy-Engine, all its code is inside the Source folder.

Tests

There are tests inside the Tests folder, the tests are divided into visual (Visual folder) tests and unit tests using GTest (TODO).

Examples

You can find examples showing most of the functionalities of the engine in the Examples folder.

Setup

If you want to have the project in your device:

  • Clone the project.
  • Update the third party modules with git submodule update --init --recursive.

Formatting

All the code in this repository is automatically formatted using the default configuration that comes from the C/C++ Extension Pack and Better C++ Syntax extensions for Visual Studio Code.

Building

This project uses CMake for generating the compilation setup, there is a CMakePresets.json file for different presets that might be useful for you, so you might call cmake --preset=${PRESET_NAME}. The defined presets are:

  • default: Assumes there is no extra configuration needed. Output files go to the Build folder.
  • vcpkg: Assumes you have vcpkg installed for the necessary packages and tells CMake about that. Output files go to the Build folder.

There is also a Makefile (TODO) for less verbose calls (you might want to use make.bat for Windows), the make commands are the following:

  • make ${PRESET_NAME}: Calls cmake --preset=${PRESET_NAME}.
  • make clean: Cleans the Build folder.

If you don't use CMake, you will need to manually compile the necessary files in order for everything to work, which is not recommended.

Packages

This repository includes necessary packages as glfw or glm as submodules, so you don't need to have them installed in your computer. However, you do need to have installed the following packages:

CMake should be able to find your computer packages with find_package, if that's not the case, you will need to manually tell CMake where to find them. If you are using vcpkg as a package manager, just use the vcpkg CMake preset mentioned before.

Compiling

Windows - Visual Studio

Just open the solution (Fancy-Engine.sln) generated by CMake and use the Visual Studio GUI to compile the library and executables.

Running

Windows - Visual Studio

Just as with the compiling step, use the Visual Studio GUI.

References

The main reference used to make this renderer is Vulkan Tutorial.

About

A Vulkan based renderer made for learning purposes

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published