Code Monkey home page Code Monkey logo

voxelconetracinggi's Introduction

Real-Time Indirect Illumination with Voxel Cone Tracing

Overview

Check out Implementation-Overview.pdf

Overview

Features

  • One bounce indirect illumination (diffuse + specular) with Voxel Cone Tracing (VCT)
  • Emission with VCT
  • 3D Clipmap to support a huge area around the camera
  • Ambient Occlusion with VCT
  • Fully dynamic scenes

Build

  • CMake
  • Requirements: C++14 or later, OpenGL 4.4 or later
  • Supported (tested) Platforms:
    • Windows 8 and 10 (compiled with Visual Studio 2015+)
    • Ubuntu 18 (GCC 7.4.0, thanks to contributions of hchoi405)

Issues

  • No coverage based voxelization (anti-aliasing voxelization)
    • Leads to discrete indirect illumination changes when objects move
  • Hardly any performance optimizations
  • Noticeable indirect illumination changes when the camera moves (because a clipmap is used)
  • Perfect reflections aren't practical with VCT because the voxelized scene is only a rough approximation
  • Light leaking (VCT is just an approximation of cone tracing)

Screenshots

GI Specularity Emission Ambient

Relevant Sources

  • Crassin, Cyril, Fabrice Neyret, Miguel Sainz, Simon Green and Elmar Eisemann: Interactive Indirect Illumination Using Voxel Cone Tracing. In: Computer Graphics Forum, volume 30, pages 1921-1930. Wiley Online Library, 2011.
  • Engel, Klaus, Markus Hadwiger, Joe Kniss, Christof Rezk-Salama and Daniel Weiskopf: Real-Time Volume Graphics. A K Peters, 2006.
  • McLaren, James: The Technology Of The Tomorrow Children. Q-Games Ltd., Game Developers Conference, 2015.
  • Panteleev, Alexey: Practical Real-Time Voxel-Based Global Illumination For Current GPUs. NVIDIA, GPU Technology Conference, 2014.
  • Tanner, Christopher C, Christopher J Migdal and Michael T Jones: The Clipmap: A Virtual Mipmap. In: Proceedings of the 25th annual conference on Computer graphics and interactive techniques, pages 151-158. ACM, 1998.
  • [McGuire2011] McGuire, Computer Graphics Archive, Aug 2011 (http://graphics.cs.williams.edu/data)

voxelconetracinggi's People

Contributors

compix avatar hchoi405 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

voxelconetracinggi's Issues

Rendering difference between Windows and Ubuntu

While migrating to Ubuntu, I found that there is a big difference at GI rendering result as you can see from the two images below. I used the same code and configurations, hardware and no error appears in the output.

linux
windows

I'm still trying to figure out what's the causes of this problem. Any comments would be helpful.

Thank you.

Missing define

Hi, size_t is missing when compiling, you need to include into Pool.cpp

Circle artifacts on indirect illumination

There are visible circle artifacts on the sphere in the Sponza scene.
Here is the video with varying shininess:
video

At first, I thought that this artifact comes from the method itself due to the discretization of the scene and directional sampling, not the implementation bug. But I couldn't figure it out the direct cause and couldn't find anything related to this problem from the web as well.

So I need some opinion on this problem.

Thank you.

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.