tippesi / Atlas-Engine

Cross platform toy render engine supporting physically based rendering and hardware/software ray tracing
MIT License
440 stars 29 forks source link
ddgi game-engine graphics-programming linux macos ocean-rendering pathtracing pbr raytracing rendering taa terrain-rendering vulkan windows

Atlas Engine

The MIT License Code quality Latest build

GI scene
Realtime Sponza scene with raytraced GI, AO and reflections (model from Intel Graphics Research Sample Library)

Introduction

This is a cross platform toy engine developed in my spare time that is available on Linux, Windows and MacOS.

Note: The current version (0.2.0) contains many API changes and is still an active WIP

Requirements

  • Vulkan SDK
  • C++20 compatible compiler
  • CMake
  • Vcpkg

    Set up

    Dependencies are managed through vcpkg. You can either install the packages manually or while doing the build configuration with CMake. To use vcpkg together with CMake follow the steps described here.

    Compiling the demo application

    Run CMake with the option ATLAS_DEMO=ON to include the demo application in the project. For easier use, the vsbuild.bat does exactly that and launches Visual Studio afterwards. After launching the IDE, set AtlasEngineDemo as your target.

    Including the library into your own project

    It is possible to compile the engine either as a shared or static library. Set the ATLAS_BUILD_SHARED option accordingly. To make the library work with its dependencies, the root CMakeLists.txt of this repository has to be added as a subdirectory. As an entry point to create an application from scratch take a look at the Hello World tutorial. For reference, the source folder contains an empty app header and an empty app source.