<commit_before>![Volume Tiled Forward Shading](https://www.3dgep.com/wp-content/uploads/2017/07/Volume_Tiled_Forward_Shading-Featured_Image-1000x288.png)

# Table of Contents

 * [Introduction](#introduction)
 * [Controls](#controls)
   * [Tiled Forward Rendering](#tiled-forward-rendering)
   * [Volume Tiled Forward Rendering](#volume-tiled-forward-rendering)
   * [Camera](#camera)
   * [XBox 360, XBox One](#xbox-360-xbox-one-controller)
     * [Buttons](#buttons)
     * [Axes](#axes) 
 * [Requirements](#requirements)
 * [Compiling](#compiling)
 * [Installation](#installation)
 * [Configuration](#configuration)
 * [Troubleshooting](#troubleshooting)
 * [Known Issues](#known-issues)
 * [FAQ](#faq)
 * [Contributors](#contributors)

# Introduction

This project demonstrates the following rendering techniques:

 * Forward Rendering
 * Tiled Forward Rendering (Forward+)
 * Volume Tiled Forward Rendering
 * Volume Tiled Forward Rendering with BVH Optimization

To compile and run the game, see the [Compiling](#compiling) section below.
To install and run the game, see the [Installation](#installation) section below.
 
# Controls

The demo uses the following keyboard keys:

| Key | Action |
| --- | --- |
| `ESC` | Exits the application. |
| `Alt+F4` | Exits the application. |
| `Q` | Pan the camera down (along the camera's local Y axis). |
| `E` | Pan the camera up (along the camera's local Y axis). |
| `W` | Pan the camera forward (along the camera's local Z axis). |
| `A` | Pan the camera left (along the camera's local X axis). |
| `S` | Pan the camera backward (along the camera's local Z axis). |
| `D` | Pan the camera right (along the camera's local X axis). |
| `F` | Moves the camera (Focus) to the currently selected light. |
| `0` | Move the camera to the world origin. |
| `R` | Resets the camera to the position specified in the configuration file. |
| `Shift` | Hold shift while pressing one of the other movement keys to move the camera faster. |
| `M` | Toggle Muilti-Sample Anti Aliasing (MSAA) |
| `L` | Toggle rendering of debug light volumes. |
| `V` | Toggle V-sync (turn this on if you experience screen tearing). |
| `Space` | Toggle animation of the lights in the scene. |
| `1` | Render using Forward Rendering. |
| `2` | Render using Tiled Forward Shading (Forward+). |
| `3` | Render using Volume Tiled Forward Shading. |
| `4` | Render using Volume Tiled Forward Shading with BVH. |
| `Ctrl+1` | Toggle Statistics UI. |
| `Ctrl+2` | Toggle Profiler UI. |
| `Ctrl+3` | Toggle Generate Lights UI. |
| `Ctrl+4` | Toggle Light Editor UI. |
| `Ctrl+5` | Toggle Options UI |<commit_msg>Updating README.md<commit_after>![Volume Tiled Forward Shading](https://www.3dgep.com/wp-content/uploads/2017/07/Volume_Tiled_Forward_Shading-Featured_Image-1000x288.png)

# Table of Contents

 * [Introduction](#introduction)
 * [Prerequisites](#prerequisite)
 * [Controls](#controls)
   * [Tiled Forward Rendering](#tiled-forward-rendering)
   * [Volume Tiled Forward Rendering](#volume-tiled-forward-rendering)
   * [Camera](#camera)
   * [XBox 360, XBox One](#xbox-360-xbox-one-controller)
     * [Buttons](#buttons)
     * [Axes](#axes) 
 * [Requirements](#requirements)
 * [Compiling](#compiling)
 * [Installation](#installation)
 * [Configuration](#configuration)
 * [Troubleshooting](#troubleshooting)
 * [Known Issues](#known-issues)
 * [FAQ](#faq)
 * [Contributors](#contributors)

# Introduction

This project demonstrates the following rendering techniques:

 * Forward Rendering
 * Tiled Forward Rendering (Forward+)
 * Volume Tiled Forward Rendering
 * Volume Tiled Forward Rendering with BVH Optimization

To compile and run the game, see the [Compiling](#compiling) section below.
To install and run the game, see the [Installation](#installation) section below.

# Prerequisite

## Windows 10 SDK

The project has been compiled and tested using the Windows 10 SDK (10.0.16299.0). The latest Windows 10 SDK can be downloaded from the [Windows 10 SDK website here](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk).

## CMake

The project and solution files are generated using the [CMake](https://cmake.org/) build configuration system. The following generators should work to generate the solution and project files:

* Visual Studio 15 2017 Win64
* Visual Studio 14 2015 Win64

Refer to the [GenerateProjectFiles.bat](GenerateProjectFiles.bat) to generate the project files depending on the version of Visual Studio that is currently installed.

## Visual Studio

Although the project uses CMake to define the project settings, [Visual Studio 2017](https://www.visualstudio.com/downloads/) (15.4) was used to compile the project. It was tested with Visual Studio Enterprise but there is no reason it shouldn't work with Visual Studio Community.

# Controls

The demo uses the following keyboard keys:

| Key | Action |
| --- | --- |
| `ESC` | Exits the application. |
| `Alt+F4` | Exits the application. |
| `Q` | Pan the camera down (along the camera's local Y axis). |
| `E` | Pan the camera up (along the camera's local Y axis). |
| `W` | Pan the camera forward (along the camera's local Z axis). |
| `A` | Pan the camera left (along the camera's local X axis). |
| `S` | Pan the camera backward (along the camera's local Z axis). |
| `D` | Pan the camera right (along the camera's local X axis). |
| `F` | Moves the camera (Focus) to the currently selected light. |
| `0` | Move the camera to the world origin. |
| `R` | Resets the camera to the position specified in the configuration file. |
| `Shift` | Hold shift while pressing one of the other movement keys to move the camera faster. |
| `M` | Toggle Muilti-Sample Anti Aliasing (MSAA) |
| `L` | Toggle rendering of debug light volumes. |
| `V` | Toggle V-sync (turn this on if you experience screen tearing). |
| `Space` | Toggle animation of the lights in the scene. |
| `1` | Render using Forward Rendering. |
| `2` | Render using Tiled Forward Shading (Forward+). |
| `3` | Render using Volume Tiled Forward Shading. |
| `4` | Render using Volume Tiled Forward Shading with BVH. |
| `Ctrl+1` | Toggle Statistics UI. |
| `Ctrl+2` | Toggle Profiler UI. |
| `Ctrl+3` | Toggle Generate Lights UI. |
| `Ctrl+4` | Toggle Light Editor UI. |
| `Ctrl+5` | Toggle Options UI |
{'fraction_non_alphanumeric': 0.12313314267556402, 'fraction_numerical': 0.016523673339688592, 'mean_word_length': 4.325719120135364, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 5, 'lorem ipsum': 0, 'www.': 3, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '36927', 'n_tokens_mistral': 2076, 'n_tokens_neox': 1871, 'n_words': 715}