Skip to content

nTiled - forward and deferred openGL renderer with support for Tiled Shading, Clustered Shading and Hashed Shading

Notifications You must be signed in to change notification settings

BeardedPlatypus/nTiled

Repository files navigation

nTiled

nTiled

Table of Contents

Overview

nTiled Render

nTiled is an openGL renderer that implements both a forward and deferred pipeline. It supports three light assignment algorithms:

nTiled is implemented to test the time and space complexity of said algorithms. It is written as part of my thesis to obtain my masters degree in Computer Science at the KU Leuven.

The thesis (in dutch) can be found at this repository
The accompanying paper (in english) can be found at this repository
The datasets and produced data can be found at this repository

Installation

I am going to assume you have visual studio 2015 express installed and ready to be used, if this is not the case you can obtain it free of charge here

Clone the nTiled repository

    cd <desired parent directory>
    git clone https://github.com/BeardedPlatypus/nTiled.git  

Download the following dependencies and put them in the <solution_director>/lib/ folder:

  • openGL: glad

    Click this link or follow the instructions in the readme of glad to generate the appropriate c code and headers.
    Place the include and src folders in <solution_directory>/lib/GL> .

  • glfw

    Download the 32-bit binary files from the homepage and put these under <solution_directory>/lib/glfw/> If a different version then 3.2.1 is used, this needs to be updated in the nTiled properties

  • glm

    Download the files and put these under <solution_directory>/lib/glm/>

  • assimp

    Download the latest source files and put these in <solution_directory>/lib/assimp/>
    These source files need to be compiled with visual studio 2017. After compiling, make sure to put the generated binaries into either the PATH variable, or in either the Debug or Release folder of nTiled.

  • rapidjson

    Follow the installation instructions specified in the README of rapidjson

  • catch

    Download the catch.hpp header and store in <solution_directory>/lib/catch/.
    If you are not interested in the test suite, than this dependency can be ignored.

  • dear imgui

    Download the repository and place in <solution_directory>/lib/imgui/

Start the solution in Visual Studio 2017. Check if all dependencies are properly configured. Once completed, the program should compile.

Usage

nTiled ui

nTiled can be run with configuration json files that specify the scene, lights, shaders, camera, etc. This is done by running the produced executable as follows:

nTiled <path_to_conf_file.json>

An example run configuration file can be found in the example folder. This is the same file that will be run when no path is specified.

For other example files see the data repository

Documentation

The documentation of nTiled is hosted at readthedocs.io and can be found at nTiled.readthedocs.io.

About

nTiled - forward and deferred openGL renderer with support for Tiled Shading, Clustered Shading and Hashed Shading

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published