About Me

Welcome

This is the research homepage of Erik Sintorn. I am a Ph.D student in the graphics group at Chalmers University Of technology in Gothenburg Sweden, with supervisor Ulf Assarsson. My main research topics are real-time shadows, transparency and participating media, but my interests include global illumination, GPGPU algorithms and almost anything else related to computer graphics.

email:erik.sintorn@chalmers.se
Address:
Department of Computer Science and Engineering
Chalmers University of Technology
S-412 96 Gothenburg, SWEDEN
Visiting address:
Rännvägen 6, Room 4118, 4th floor (EDIT-building)
Phone:+46 704 914191

Publications News
An Efficient Alias-free Shadow Algorithm for Opaque and Transparent Objects using per-triangle Shadow Volumes (2011)
Erik Sintorn, Ola Olsson, Ulf Assarsson
ACM SIGGRAPH Asia 2011

This paper presents a novel method for generating pixel-accurate shadows from point light-sources in real-time. The new method is able to quickly cull pixels that are not in shadow and to trivially accept large chunks of pixels thanks mainly to using the whole triangle shadow volume as a primitive, instead of rendering the shadow quads independently as in the classic Shadow-Volume algorithm. Our CUDA implementation outperforms z-fail consistently and surpasses z-pass at high resolutions, although these latter two are hardware accelerated, while inheriting none of the robustness issues associated with these methods. Another, perhaps even more important property of our algorithm, is that it requires no pre-processing or identification of silhouette edges and so robustly and efficiently handles arbitrary triangle soups. In terms of view sample test and set operations performed, we show that our algorithm can be an order of magnitude more efficient than z-pass when rendering a gamescene at multi-sampled HD resolutions. We go on to show that the algorithm can be trivially modified to support textured, semitransparent and colored semi-transparent shadow-casters and that it can be combined with either depth-peeling or stochastic transparency to also support transparent shadow receivers. Compared to recent alias-free shadow-map algorithms, our method has a very small memory footprint, does not suffer from load-balancing issues, and handles omni-directional lights without modification. It is easily incorporated into any deferred rendering pipeline and combines many of the strengths of shadow maps and shadow volumes.
read more...

preprint pdf | bibtex (soon)
Volumetric Shadows using Polygonal Light Volumes
Markus Billeter, Erik Sintorn, Ulf Assarson
High Performance Graphics 2010

This paper presents a more efficient way of computing single scattering effects in homogeneous participating media for real-time purposes than the currently popular ray-marching based algorithms. These effects include halos around light sources, volumetric shadows and crepuscular rays. By displacing the vertices of a base mesh with the depths from a standard shadow map, we construct a polygonal mesh that encloses the volume of space that is directly illuminated by a light source. Using this volume we can calculate the airlight contribution for each pixel by considering only points along the eye-ray where shadow-transitions occur. Unlike previous ray-marching methods, our method calculates the exact airlight contribution, with respect to the shadow map resolution, at realtime frame rates.
read more...

pdf | bibtex | video
Stochastic Transparency
Eric Enderton, Erik Sintorn, Peter Shirley, David Luebke
Interactive 3D Graphics and Games 2010 (original, shorter)
IEEE Transactions on Visualization and Computer Graphics 2011

Winner of best paper award.
Image selected for proceedings front cover.
Code available in DirectX SDK


Stochastic transparency provides a unified approach to order-independent transparency, anti-aliasing, and deep shadow maps. It augments screen-door transparency using a random sub-pixel stipple pattern, where each fragment of transparent geometry covers a random subset of pixel samples of size proportional to alpha. This results in correct alpha-blended colors on average, in a single render pass with fixed memory size and no sorting, but introduces noise. We reduce this noise by an alpha correction pass, and by an accumulation pass that uses a stochastic shadow map from the camera. At the pixel level, the algorithm does not branch and contains no read-modify-write loops other than traditional z-buffer blend operations. This makes it an excellent match for modern massively parallel GPU hardware. Stochastic transparency is very simple to implement and supports all types of transparent geometry, able without coding for special cases to mix hair, smoke, foliage, windows, and transparent cloth in a single scene.
read more...

TVCG pdf | bibtex
I3D pdf | bibtex
video1 | video2
Hair Self Shadowing and Transparency Depth Ordering Using Occupancy maps
Erik Sintorn, Ulf Assarson
Interactive 3D Graphics and Games 2009
Image selected for proceedings back cover.

This paper presents a method for quickly constructing a high quality approximate visibility function for high frequency semitransparent geometry such as hair. We can then reconstruct the visibility for any fragment without the expensive compression needed by Deep Shadow Maps and with a quality that is much better than what is attainable at similar framerates using Opacity Maps or Deep Opacity Maps. The memory footprint of our method is also considerably lower than that of previous methods. We then use a similar method to achieve back-to-front sorted alpha blending of the fragments with results that are virtually indistinguishable from depthpeeling and an order of magnitude faster.
read more...

pdf | bibtex
Sample Based Visibility for Soft Shadows using Alias-free Shadow Maps
Erik Sintorn, Elmar Eisemann, Ulf Assarsson
Computer Graphics Forum (Proceedings of the Eurographics Symposium on Rendering 2008)

This paper introduces an accurate real-time soft shadow algorithm that uses sample based visibility. Initially, we present a GPU-based alias-free hard shadow map algorithm that typically requires only a single render pass from the light, in contrast to using depth peeling and one pass per layer. For closed objects, we also suppress the need for a bias. The method is extended to soft shadow sampling for an arbitrarily shaped area-/volumetric light source using 128-1024 light samples per screen pixel. The alias-free shadow map guarantees that the visibility is accurately sampled per screen-space pixel, even for arbitrarily shaped (e.g. non-planar) surfaces or solid objects. Another contribution is a smooth coherent shading model to avoid common light leakage near shadow borders due to normal interpolation.
read more...

pdf | bibtex
Real-Time Approximate Sorting for Self Shadowing and Transparency in Hair Rendering
Erik Sintorn, Ulf Assarson
Proceedings of the Symposium on Interactive 3D Graphics and Games (I3D 2008)
Image selected for proceedings front cover
Updated version presented as poster at GTC and as part of Beyond Programmable Shading course at SIGGRAPH


When rendering materials represented by high frequency geometry such as hair, smoke or clouds, standard shadow mapping or shadow volume algorithms fail to produce good self shadowing results due to aliasing. Moreover, in all of the aforementioned examples, properly approximating self shadowing is crucial to getting realistic results. To cope with this problem, opacity shadow maps have been used. I.e., an opacity function is rendered into a set of slices parallel to the light-plane. The original Opacity Shadow Map technique [Kim and Neumann 2001] requires the geometry to be rendered once for each slice, making it impossible to render complex geometry into a large set of slices in real time. In this paper we present a method for sorting n line primitives into s number of sub-sets, where the primitives of one set occupy a single slice, in O(nlog(s)), making it possible to render hair into opacity maps in linear time. It is also shown how the same method can be used to roughly sort the geometry in back-to-front order for alpha blending, to allow for transparency. Finally, we present a way of rendering self shadowed geometry using a single 2D opacity map, thereby reducing the memory usage significantly.
read more...

pdf | bibtex | GTC poster | video (SIGGRAPH course)
Fast Parallel GPU-Sorting Using a Hybrid Algorithm
Erik Sintorn, Ulf Assarson
Workshop on General Purpose Processing on Graphics Processing Units
Journal Of Parallel and Distributed Computing


This paper presents an algorithm for fast sorting of large lists using modern GPUs. The method achieves high speed by efficiently utilizing the parallelism of the GPU throughout the whole algorithm. Initially, a parallel bucketsort splits the list into enough sublists then to be sorted in parallel using merge-sort. The parallel bucketsort, implemented in NVIDIA’s CUDA, utilizes the synchronization mechanisms, such as atomic increment, that is available on modern GPUs. The mergesort requires scattered writing, which is exposed by CUDA and ATI’s Data Parallel Virtual Machine[1]. For lists with more than 512k elements, the algorithm performs better than the bitonic sort algorithms, which have been considered to be the fastest for GPU sorting, and is more than twice as fast for 8M elements. It is 6-14 times faster than single CPU quicksort for 1-8M elements respectively. In addition, the new GPU-algorithm sorts on n log n time as opposed to the standard n(log n)2 for bitonic sort. Recently, it was shown how to implement GPU-based radix-sort, of complexity n log n, to outperform bitonic sort. That algorithm is, however, still up to ~40% slower for 8M elements than the hybrid algorithm presented in this paper. GPU-sorting is memory bound and a key to the high performance is that the mergesort works on groups of four-float values to lower the number of memory fetches. Finally, we demonstrate the performance on sorting vertex distances for two large 3D-models; a key in for instance achieving correct transparency.
read more...

pdf | bibtex
2012-02-01 As of Feb 1st I am employed at Autodesk and will be for about six months before returning to Chalmers to complete my Ph.D.

2011-10-25 Only a year or two after the demise of my old page, I have created a new homepage, complete with a 'news' list that I am as likely as not never to update again.