Giter VIP home page Giter VIP logo

atlas-engine's Introduction

Atlas Engine

The MIT License Code quality Latest build

GI scene
Realtime Sponza scene with software 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.

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.

Note: In order to start the application properly you might need to change the asset directory in the demo source file.

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.

CMake build options

  • ATLAS_BUILD_SHARED Force project to be build as a shared library
  • ATLAS_EXPORT_MAIN Export the main file to be added as executable to parent project (only if main function cannot be found)
  • ATLAS_NO_APP Disables the engines main function and app functionality. You have to code the main function and initialize the engine yourself
  • ATLAS_IMGUI Enables the ImGui integration. Is enabled by default if the demo project is build.
  • ATLAS_ASSIMP Enables the Assimp integration. Is enabled by default.

Documentation

If you want more information have a look into the Documentation.

License

The source code is licensed under the MIT license. The copyright notices of the dependencies can be found in the LICENSE.md file in the dependency directory.

Note: The files in the data folder (except the shaders) use a different license.

Code Example

For a code example have a look at the demo application.

Screenshots

Example scene
Rasterized image using real time global illumination
Example scene Path traced scene Island scene
Island demo scene using the terrain and ocean systems

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.