Skip to content

nyra7/MidnightEngine

Repository files navigation

MidnightEngine

License: MIT RepoSize Codacy Badge

A cross-platform 3D rendering engine written in C++

Prerequisites

This project requires CMake version 3.8 or above. The project only targets x64 and arm64.

⚠️ Third-party binaries are provided for windows, however, they must be installed using your package manager on macOS and Linux.

Building

Clone the project and move to the directory:

git clone https://github.com/Shsl4/MidnightEngine
cd MidnightEngine

Windows

On Windows, generate the Visual Studio 2022 project:

.\generateVS2022.bat

macOS

On macOS, install the following libraries:

brew install sdl2
brew install assimp
brew install fmt

Then, generate the Xcode project:

chmod +x generateXCode.sh
./generateXcode.sh

Linux

On Linux, install the following libraries:

sudo apt install libsdl2-dev
sudo apt install libassimp-dev
sudo apt install libfmt-dev

Then, either open the cloned directory as a project using a CMake compatible IDE such as CLion, or generate a makefile project using:

chmod +x generateMakefile.sh
./generateMakefile.sh

The Visual Studio, Xcode and Makefile projects will be generated in the hidden .build directory. Alternatively, you can generate the project yourself using cmake.

Documentation

You can generate documentation for this project using doxygen. Simply move to the root directory and type:

doxygen

You will find the documentation in the Docs directory. Otherwise, the docs are available online here

Third-Party Libraries

  • SDL2 - Simple Directmedia Layer
  • fmt - A modern formatting library
  • bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
  • imgui - Bloat-free Graphical User interface for C++ with minimal dependencies
  • iconfontheaders - C, C++ headers and C# classes for icon fonts: Font Awesome, Fork Awesome, Material Design, Kenney game icons and Fontaudio
  • doxygen-awesome-css - Custom CSS theme for doxygen html-documentation with lots of customization parameters.
  • assimp - The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.

About

A cross-platform 3D rendering engine written in C++

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •