GitXplorerGitXplorer
s

CustomRenderer

public
0 stars
0 forks
0 issues

Commits

List of commits on branch main.
Unverified
4073704009ea2c30ebe8e7f5b7f81e6c9cd8db04

Also exclude all stb subdirs

ssteinraf committed 2 years ago
Unverified
cc97029321d29333b4c57b4fe23a53c47aaf49e0

Removed stb library from language analysis

ssteinraf committed 2 years ago
Unverified
1df896d9f13edbd9c7a20e44b572776ebd5d4894

Initial Release Commit

ssteinraf committed 2 years ago
Unverified
3c5c32126ba2eca3599fbbde0dbb6f7d41f70458

Fixed changes for Linux

ssteinraf committed 2 years ago
Unverified
dfbbdb2e32830bec639f50c67d9c3dc4ede73737

Added various submodules

ssteinraf committed 2 years ago
Unverified
2848a5ca66f81758a8a4dabe90bcfb9ce2b6a49d

Added README

ssteinraf committed 2 years ago

README

The README file for this repository.

CustomRenderer

A GPU renderer written with CUDA for the Computer Graphics lecture at ETH Zurich.

The Syntax is inspired by the educational ray tracer Nori.

There are still a lot of open TODO's and ideas which may hopefully be explored in the future.

Usage

First clone the repository and initialize the submodules using git submodule update --init --recursive.

If all the prerequisites are installed, the executable can be generated using the following commands:

mkdir build
cd build
cmake ..
make 

or make -j 6 to make use of 6 threads

To run the script from the root folder, run the command

./build/CustomRenderer scenes/cbox.xml or the path to any other compatible scene description file.

This will run a live-preview of the rendering progress.

Until the image completes, the camera can be moved around using WASD/Left Shift/Space to translate the camera and adjust the shot.

The GUI might not display correctly on the first launch and might require the adjustment of the sub-window sizes.

The tonemapping in the live preview is incorrect at this point and displays images darker than they will be if gamma correction is applied correctly.

The (correctly) tonemapped image will be saved in the data folder.

The renderer was developed and tested on Arch Linux btw.

Example Images

CornellBox

CornellBox

Special Features

Adaptive Sampling

Test Scene Sample Distribution

Advanced Camera Model

Depth of Field
Test Scene Depth of Field
Distortion
Test Scene Distortion
Non-Spherical Apertures
Spherical Aperture Square Aperture Triangular Aperture

Denoising

Bilateral Filter
Test Scene Denoised Version Variance Buffer
Intel Open Image Denoise with Color, Albedo and Normal Buffer
Test Scene Denoised Version

Environment Map

Importance Sampling
Environment Map Sample Distribution

Textures

Mesh Textures

Mesh Emitter Textures