Research
I am a Research Scientist at NVIDIA Research (My NVIDIA research page). I joined NVIDIA in 2011 after obtaining my Ph.D. degree from Grenoble University at INRIA in France (thesis document here). My research interests include real-time realistic rendering, global illumination, alternative geometric and material representations (voxel-based), ray-tracing, anti-aliasing techniques, distributed rendering, as well as out-of-core data management. My predominant research direction focuses on the use of pre-filtered geometric representations for the efficient anti-aliased rendering of detailed scenes and complex objects, as well as global illumination effects. My most impactful contributions are the GigaVoxels rendering pipeline and the GIVoxels/VXGI voxel-based indirect illumination technique, with several hardware implications in the NVIDIA Maxwell architecture.
Publications
2012 | |
![]() | Dynamic Sparse Voxel Octrees for Next-Gen Real-Time Rendering Crassin, Cyril SIGGRAPH 2012 Course : Beyond Programmable Shading, ACM SIGGRAPH, 2012. (Inproceeding) (Abstract | Links | BibTeX | Tags: Voxel, Real-Time, rendering, gpu, depth-of-field, soft shadows, cone-tracing, octree, VCT) @inproceedings{Cra12, name = {Dynamic Sparse Voxel Octrees for Next-Gen Real-Time Rendering}, author = {Cyril Crassin}, url = {http://www.icare3d.org/research/publications/Cra12/04_crassinVoxels_bps2012.pdf, Slides as PDF http://bps12.idav.ucdavis.edu/, Beyond Programmable Shading SIGGRAPH 2012 Webpage}, year = {2012}, date = {2012-08-07}, booktitle = {SIGGRAPH 2012 Course : Beyond Programmable Shading}, publisher = {ACM SIGGRAPH}, abstract = {Sparse Voxel Octrees have gained a growing interest in the industry over the last few years. In this course, I show how SVOs allow building and storing a multi-resolution pre-filtered representation of a scene's geometry. I also introduce the Voxel Cone Tracing (VCT) technique, which can be used to efficiently integrate visibility and evaluate light transport inside a scene, by replacing massive oversampling inside a cone-shaped footprint, by only one single ray casted inside the pre-filtered voxel representation (adapting the geometric resolution to the sampling resolution). Finally, I show multiple use-cases of such techniques for real-time applications : Rendering massive and highly detailed scenes without any aliasing artifacts, highly controllable multi-bounces global illumination, simulating depth-of-field effects, approximated soft shadows, fully procedural content generation... }, keywords = {Voxel, Real-Time, rendering, gpu, depth-of-field, soft shadows, cone-tracing, octree, VCT} } Sparse Voxel Octrees have gained a growing interest in the industry over the last few years. In this course, I show how SVOs allow building and storing a multi-resolution pre-filtered representation of a scene's geometry. I also introduce the Voxel Cone Tracing (VCT) technique, which can be used to efficiently integrate visibility and evaluate light transport inside a scene, by replacing massive oversampling inside a cone-shaped footprint, by only one single ray casted inside the pre-filtered voxel representation (adapting the geometric resolution to the sampling resolution). Finally, I show multiple use-cases of such techniques for real-time applications : Rendering massive and highly detailed scenes without any aliasing artifacts, highly controllable multi-bounces global illumination, simulating depth-of-field effects, approximated soft shadows, fully procedural content generation... |
2011 | |
![]() | Interactive Indirect Illumination Using Voxel Cone Tracing Crassin, Cyril; Neyret, Fabrice; Sainz, Miguel; Green, Simon; Eisemann, Elmar Computer Graphics Forum (Proc. of Pacific Graphics 2011), 2011. (Article) (Abstract | Links | BibTeX | Tags: Voxel, Global Illumination, Lighting, Real-Time) @article{CNSGE11b, name = {Interactive Indirect Illumination Using Voxel Cone Tracing}, author = {Crassin, Cyril and Neyret, Fabrice and Sainz, Miguel and Green, Simon and Eisemann, Elmar}, url = {http://research.nvidia.com/publication/interactive-indirect-illumination-using-voxel-cone-tracing, NVIDIA publication webpage http://maverick.inria.fr/Publications/2011/CNSGE11b/, INRIA publication webpage http://www.icare3d.org/research/publications/CNSGE11b/GIVoxels-pg2011-authors.pdf, Paper authors version http://research.nvidia.com/sites/default/files/publications/GIVoxels_Siggraph2011_web.pptx, Siggraph 2011 Talk}, year = {2011}, date = {2011-09-01}, booktitle = {Computer Graphics Forum (Proc. of Pacific Graphics 2011)}, journal = {Computer Graphics Forum (Proc. of Pacific Graphics 2011)}, abstract = {Indirect illumination is an important element for realistic image synthesis, but its computation is expensive and highly dependent on the complexity of the scene and of the BRDF of the involved surfaces. While off-line computation and pre-baking can be acceptable for some cases, many applications (games, simulators, etc.) require real-time or interactive approaches to evaluate indirect illumination. We present a novel algorithm to compute indirect lighting in real-time that avoids costly precomputation steps and is not restricted to low-frequency illumination. It is based on a hierarchical voxel octree representation generated and updated on the fly from a regular scene mesh coupled with an approximate voxel cone tracing that allows for a fast estimation of the visibility and incoming energy. Our approach can manage two light bounces for both Lambertian and glossy materials at interactive framerates (25-70FPS). It exhibits an almost scene-independent performance and can handle complex scenes with dynamic content thanks to an interactive octree-voxelization scheme. In addition, we demonstrate that our voxel cone tracing can be used to efficiently estimate Ambient Occlusion. }, keywords = {Voxel, Global Illumination, Lighting, Real-Time} } Indirect illumination is an important element for realistic image synthesis, but its computation is expensive and highly dependent on the complexity of the scene and of the BRDF of the involved surfaces. While off-line computation and pre-baking can be acceptable for some cases, many applications (games, simulators, etc.) require real-time or interactive approaches to evaluate indirect illumination. We present a novel algorithm to compute indirect lighting in real-time that avoids costly precomputation steps and is not restricted to low-frequency illumination. It is based on a hierarchical voxel octree representation generated and updated on the fly from a regular scene mesh coupled with an approximate voxel cone tracing that allows for a fast estimation of the visibility and incoming energy. Our approach can manage two light bounces for both Lambertian and glossy materials at interactive framerates (25-70FPS). It exhibits an almost scene-independent performance and can handle complex scenes with dynamic content thanks to an interactive octree-voxelization scheme. In addition, we demonstrate that our voxel cone tracing can be used to efficiently estimate Ambient Occlusion. |
![]() | Interactive Indirect Illumination Using Voxel Cone Tracing: An Insight Crassin, Cyril; Neyret, Fabrice; Sainz, Miguel; Green, Simon; Eisemann, Elmar SIGGRAPH 2011 : Technical Talk, ACM SIGGRAPH, 2011. (Inproceeding) (Abstract | Links | BibTeX | Tags: Voxel, Global Illumination, Lighting, Real-Time, gpu) @inproceedings{CNSGE11a, name = {Interactive Indirect Illumination Using Voxel Cone Tracing: An Insight}, author = {Crassin, Cyril and Neyret, Fabrice and Sainz, Miguel and Green, Simon and Eisemann, Elmar}, url = {http://maverick.inria.fr/Publications/2011/CNSGE11a/, Talk INRIA webpage http://maverick.inria.fr/Publications/2011/CNSGE11a/GIVoxels_Siggraph_Talk.pdf, Slides PDF http://maverick.inria.fr/Publications/2011/CNSGE11a/GIVoxels_Siggraph2011.ppt, Slides PPT}, year = {2011}, date = {2011-08-07}, booktitle = {SIGGRAPH 2011 : Technical Talk}, publisher = {ACM SIGGRAPH}, abstract = {Indirect illumination is an important element for realistic image synthesis, but its computation is expensive and highly dependent on the complexity of the scene and of the BRDF of the surfaces involved. While off-line computation and pre-baking can be acceptable for some cases, many applications (games, simulators, etc.) require real-time or interactive approaches to evaluate indirect illumination. We present a novel algorithm to compute indirect lighting in real-time that avoids costly precomputation steps and is not restricted to low frequency illumination. It is based on a hierarchical voxel octree representation generated and updated on-the-fly from a regular scene mesh coupled with an approximate voxel cone tracing that allows a fast estimation of the visibility and incoming energy. Our approach can manage two light bounces for both Lambertian and Glossy materials at interactive framerates (25-70FPS). It exhibits an almost scene-independent performance and allows for fully dynamic content thanks to an interactive octree voxelization scheme. In addition, we demonstrate that our voxel cone tracing can be used to efficiently estimate Ambient Occlusion}, howpublished = {SIGGRAPH 2011 : Technical Talk}, keywords = {Voxel, Global Illumination, Lighting, Real-Time, gpu} } Indirect illumination is an important element for realistic image synthesis, but its computation is expensive and highly dependent on the complexity of the scene and of the BRDF of the surfaces involved. While off-line computation and pre-baking can be acceptable for some cases, many applications (games, simulators, etc.) require real-time or interactive approaches to evaluate indirect illumination. We present a novel algorithm to compute indirect lighting in real-time that avoids costly precomputation steps and is not restricted to low frequency illumination. It is based on a hierarchical voxel octree representation generated and updated on-the-fly from a regular scene mesh coupled with an approximate voxel cone tracing that allows a fast estimation of the visibility and incoming energy. Our approach can manage two light bounces for both Lambertian and Glossy materials at interactive framerates (25-70FPS). It exhibits an almost scene-independent performance and allows for fully dynamic content thanks to an interactive octree voxelization scheme. In addition, we demonstrate that our voxel cone tracing can be used to efficiently estimate Ambient Occlusion |
![]() | GigaVoxels: A Voxel-Based Rendering Pipeline For Efficient Exploration Of Large And Detailed Scenes Crassin, Cyril Grenoble University, 2011. (PhD Thesis) (Abstract | Links | BibTeX | Tags: Voxel, Global Illumination, Real-Time, rendering, out-of-core, gpu, ray-tracing, cone-tracing, octree) @phdthesis{Cra11, name = {GigaVoxels: A Voxel-Based Rendering Pipeline For Efficient Exploration Of Large And Detailed Scenes}, author = {Crassin, Cyril}, url = {http://maverick.inria.fr/Membres/Cyril.Crassin/thesis/CCrassinThesis_EN_Web.pdf, Thesis http://maverick.inria.fr/Publications/2011/Cra11/, INRIA Publication Page}, year = {2011}, date = {2011-07-12}, school = {Grenoble University}, abstract = {In this thesis, we present a new approach to efficiently render large scenes and detailed objects in real-time. Our approach is based on a new volumetric pre-filtered geometry representation and an associated voxel-based approximate cone tracing that allows an accurate and high performance rendering with high quality filtering of highly detailed geometry. In order to bring this voxel representation as a standard real-time rendering primitive, we propose a new GPU-based approach designed to entirely scale to the rendering of very large volumetric datasets. Our system achieves real-time rendering performance for several billion voxels. Our data structure exploits the fact that in CG scenes, details are often concentrated on the interface between free space and clusters of density and shows that volumetric models might become a valuable alternative as a rendering primitive for real-time applications. In this spirit, we allow a quality/performance trade-off and exploit temporal coherence. Our solution is based on an adaptive hierarchical data representation depending on the current view and occlusion information, coupled to an efficient ray-casting rendering algorithm. We introduce a new GPU cache mechanism providing a very efficient paging of data in video memory and implemented as a very efficient data-parallel process. This cache is coupled with a data production pipeline able to dynamically load or produce voxel data directly on the GPU. One key element of our method is to guide data production and caching in video memory directly based on data requests and usage information emitted directly during rendering. We demonstrate our approach with several applications. We also show how our pre-filtered geometry model and approximate cone tracing can be used to very efficiciently achieve blurry effects and real-time indirect lighting.}, keywords = {Voxel, Global Illumination, Real-Time, rendering, out-of-core, gpu, ray-tracing, cone-tracing, octree} } In this thesis, we present a new approach to efficiently render large scenes and detailed objects in real-time. Our approach is based on a new volumetric pre-filtered geometry representation and an associated voxel-based approximate cone tracing that allows an accurate and high performance rendering with high quality filtering of highly detailed geometry. In order to bring this voxel representation as a standard real-time rendering primitive, we propose a new GPU-based approach designed to entirely scale to the rendering of very large volumetric datasets. Our system achieves real-time rendering performance for several billion voxels. Our data structure exploits the fact that in CG scenes, details are often concentrated on the interface between free space and clusters of density and shows that volumetric models might become a valuable alternative as a rendering primitive for real-time applications. In this spirit, we allow a quality/performance trade-off and exploit temporal coherence. Our solution is based on an adaptive hierarchical data representation depending on the current view and occlusion information, coupled to an efficient ray-casting rendering algorithm. We introduce a new GPU cache mechanism providing a very efficient paging of data in video memory and implemented as a very efficient data-parallel process. This cache is coupled with a data production pipeline able to dynamically load or produce voxel data directly on the GPU. One key element of our method is to guide data production and caching in video memory directly based on data requests and usage information emitted directly during rendering. We demonstrate our approach with several applications. We also show how our pre-filtered geometry model and approximate cone tracing can be used to very efficiciently achieve blurry effects and real-time indirect lighting. |
![]() | Interactive Indirect Illumination Using Voxel Cone Tracing: A Preview Crassin, Cyril; Neyret, Fabrice; Sainz, Miguel; Green, Simon; Eisemann, Elmar Poster ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D). Best Poster Award., 2011. (Inproceeding) (Links | BibTeX | Tags: Voxel, Global Illumination, Lighting, Real-Time, gpu) @inproceedings{CNSGE11, name = {Interactive Indirect Illumination Using Voxel Cone Tracing: A Preview}, author = {Crassin, Cyril and Neyret, Fabrice and Sainz, Miguel and Green, Simon and Eisemann, Elmar}, url = {http://artis.imag.fr/Publications/2011/CNSGE11, INRIA Publication Webpage http://maverick.inria.fr/Publications/2011/CNSGE11/I3D2011_Poster_web.pdf, Poster PDF}, year = {2011}, date = {2011-02-19}, booktitle = {Poster ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D). Best Poster Award.}, keywords = {Voxel, Global Illumination, Lighting, Real-Time, gpu} } |
2010 | |
![]() | Efficient Rendering of Highly Detailed Volumetric Scenes with GigaVoxels Crassin, Cyril; Neyret, Fabrice; Sainz, Miguel; Eisemann, Elmar GPU Pro, Page(s): 643--676, A K Peters, 2010. (Inbook) (Abstract | Links | BibTeX | Tags: Voxel, Real-Time, rendering, out-of-core, filtering, gpu) @inbook{CNSE10, name = {Efficient Rendering of Highly Detailed Volumetric Scenes with GigaVoxels}, author = {Crassin, Cyril and Neyret, Fabrice and Sainz, Miguel and Eisemann, Elmar}, url = {http://artis.imag.fr/Publications/2010/CNSE10, INRIA Publication Page }, year = {2010}, date = {2010-07-01}, booktitle = {GPU Pro}, pages = {643--676}, publisher = {A K Peters}, abstract = {GigaVoxels is a voxel-based rendering pipeline that makes the display of very large volumetric datasets very efficient. It is adapted to memory bound environments and it is designed for the data-parallel architecture of the GPU. It is capable of rendering objects at a detail level that matches the screen resolution and interactively adapts to the current point of view. Invisible parts are never even considered for contribution to the final image. As a result, the algorithm obtains interactive to real-time framerates and demonstrates the use of extreme amounts of voxels in rendering, which is applicable in many different contexts. This is also confirmed by many game developers who seriously consider voxels as a potential standard primitive in video games. We will also show in this chapter that voxels are already powerful primitives that, for some rendering tasks, achieve higher performance than triangle-based representations.}, keywords = {Voxel, Real-Time, rendering, out-of-core, filtering, gpu} } GigaVoxels is a voxel-based rendering pipeline that makes the display of very large volumetric datasets very efficient. It is adapted to memory bound environments and it is designed for the data-parallel architecture of the GPU. It is capable of rendering objects at a detail level that matches the screen resolution and interactively adapts to the current point of view. Invisible parts are never even considered for contribution to the final image. As a result, the algorithm obtains interactive to real-time framerates and demonstrates the use of extreme amounts of voxels in rendering, which is applicable in many different contexts. This is also confirmed by many game developers who seriously consider voxels as a potential standard primitive in video games. We will also show in this chapter that voxels are already powerful primitives that, for some rendering tasks, achieve higher performance than triangle-based representations. |