/scener

OpenGL 3D model renderer (C++ learning project)

Primary LanguageC++MIT LicenseMIT

scener

Vulkan 3D model renderer (C++ learning project)

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Name
cmake
Clang / GCC
C compiler
sudo apt-get install git cmake clang libc++ lldb

Compile from Source

A step by step series of examples that tell you have to get a development env running

  1. Clone repository
git clone --recurse-submodules https://github.com/carlosga/scener.git
  1. Install dependencies (packages names for Debian)
sudo apt-get install libvulkan1 libvulkan-dev vulkan-validationlayers vulkan-validationlayers-dev vulkan-tools libwayland-dev xorg-dev libgl1-mesa-dev glslang-tools glslang-dev
  1. Configure the build

3.1 (GCC - DEBUG)

cd scener
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug

3.2 (CLANG - DEBUG)

cd scener
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang
  1. Build
make -j <NUM_CORES>

Running the tests

make test

Built With

Name Description
Google Test Test framework
GSL Microsoft C++ GSL
JSON for Modern C++ JSON parser
nod C++ signals library
Vulkan Memory Allocator AMD Vulkan Memory Allocation library
glTF Asset format

Authors

  • Carlos Guzmán Álvarez - Initial work - carlosga

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

  • The API is inspired on a subset of the Microsoft XNA 4 API
  • Earthshaker model is a DOTA 2 model downloaded from DOTA 2 Workshop, converted to COLLADA using Blender and finally to glTF using the official COLLADA to glTF converter.
  • The template this README is based on