Selected publications

PositionFree Monte Carlo Simulation for Arbitrary Layered BSDFs
Yu Guo, Miloš Hašan, Shuang Zhao
SIGGRAPH Asia 2018
[project]
[PDF]
[video]
[code]
Realworld materials are often layered: metallic paints, biological tissues, and many more. Variation in the interface
and volumetric scattering properties of the layers leads to a rich diversity of material appearances from anisotropic
highlights to complex textures and relief patterns. However, simulating lightlayer interactions is a challenging problem.
Past analytical or numerical solutions either introduce several approximations and limitations, or rely on expensive operations
on discretized BSDFs, preventing the ability to freely vary the layer properties spatially. We introduce a new unbiased
layered BSDF model based on Monte Carlo simulation, whose only assumption is the layer assumption itself. Our novel
positionfree path formulation is fundamentally more powerful at constructing light transport paths than generic light
transport algorithms applied to the special case of flat layers, since it is based on a product of solid angle instead
of area measures, so does not contain the highvariance geometry terms needed in the standard formulation. We introduce
two techniques for sampling the positionfree path integral, a forward path tracer with nextevent estimation and a full
bidirectional estimator. We show a number of examples, featuring multiple layers with surface and volumetric scattering,
surface and phase function anisotropy, and spatial variation in all parameters.


Rendering Specular Microgeometry with Wave Optics
LingQi Yan, Miloš Hašan, Bruce Walter, Steve Marschner, Ravi Ramamoorthi
SIGGRAPH 2018
[PDF]
[video]
[supplementary]
Simulation of light reflection from specular surfaces is a core problem of computer graphics.
Most existing solutions either make the approximation of providing only a largearea average
solution in terms of a fixed BRDF (ignoring spatial detail), or are based only on geometric optics
(which is an approximation to more accurate wave optics), or both. We design the first rendering
algorithm based on a wave optics model, but also able to compute spatiallyvarying specular
highlights with highresolution detail. We compute a wave optics reflection integral over the
coherence area; our solution is based on approximating the phasedelay grating representation
of a micronresolution surface heightfield using Gabor kernels. Our results show both singlewavelength
and spectral solution to reflection from common everyday objects, such as brushed, scratched
and bumpy metals.


Simulating the structure and texture of solid wood
Albert Liu, Zhao Dong, Miloš Hašan, Steve Marschner
SIGGRAPH Asia 2016
[PDF]
[video]
[supplementary]
Wood is an important decorative material prized for its unique appearance. It is
commonly rendered using artistically authored 2D color and bump textures, which
reproduces color patterns on flat surfaces well. But the dramatic anisotropic
specular figure caused by wood fibers, common in curly maple and other species, is
harder to achieve. While suitable BRDF models exist, the texture parameter maps
for these wood BRDFs are difficult to author: good results have been shown with
elaborate measurements for small flat samples, but these models are not much used
in practice. Furthermore, mapping 2D image textures onto 3D objects leads to
distortion and inconsistencies. Procedural volumetric textures solve these geometric
problems, but existing methods produce much lower quality than image textures. This
paper aims to bring the best of all these techniques together: we present a
comprehensive volumetric simulation of wood appearance, including growth rings,
color variation, pores, rays, and growth distortions. The fiber directions required
for anisotropic specular figure follow naturally from the distortions. Our results
rival the quality of textures based on photographs, but with the consistency and
convenience of a volumetric model. Our model is modular, with components that are
intuitive to control, fast to compute, and require minimal storage.


PositionNormal Distributions for Efficient Rendering of Specular Microstructure
LingQi Yan, Miloš Hašan, Steve Marschner, Ravi Ramamoorthi
SIGGRAPH 2016
[PDF]
[video]
Specular BRDF rendering traditionally approximates surface microstructure
using a smooth normal distribution, but this ignores glinty effects, easily
observable in the real world. While modeling the actual surface microstructure
is possible, the resulting rendering problem is prohibitively expensive. Recently,
Yan et al. [2014] and Jakob et al. [2014] made progress on this problem, but
their approaches are still expensive and lack full generality in their material
and illumination support. We introduce an efficient and general method that can
be easily integrated in a standard rendering system. We treat a specular surface
as a fourdimensional positionnormal distribution, and fit this distribution
using millions of 4D Gaussians, which we call elements. This leads to closedform
solutions to the required BRDF evaluation and sampling queries, enabling the
first practical solution to rendering specular microstructure.


Rendering Glints on HighResolution NormalMapped Specular Surfaces
LingQi Yan^{*}, Miloš Hašan^{*}, Wenzel Jakob, Jason Lawrence, Steve Marschner, Ravi Ramamoorthi
(* dual first authors)
SIGGRAPH 2014
[PDF]
[video]
[supplementary]
Complex specular surfaces under sharp point lighting show a fascinating
glinty appearance, but rendering it is an unsolved problem.
Using Monte Carlo pixel sampling for this purpose is impractical:
the energy is concentrated in tiny highlights that take up a minuscule
fraction of the pixel. We instead compute an accurate solution
using a completely different deterministic approach. Our method
considers the true distribution of normals on a surface patch seen
through a single pixel, which can be highly complex. We show how
to evaluate this distribution efficiently, assuming a Gaussian pixel
footprint and Gaussian intrinsic roughness. We also take advantage
of hierarchical pruning of positionnormal space to rapidly find texels
that might contribute to a given normal distribution evaluation.
Our results show complex, temporally varying glints from materials
such as bumpy plastics, brushed and scratched metals, metallic
paint and ocean waves.


Discrete Stochastic Microfacet Models
Wenzel Jakob, Miloš Hašan, LingQi Yan, Jason Lawrence, Ravi Ramamoorthi, Steve Marschner
SIGGRAPH 2014
[PDF]
[video]
[project page]
This paper investigates rendering glittery surfaces, ones which exhibit shifting
random patterns of glints as the surface or viewer moves. It applies both to
dramatically glittery surfaces that contain mirrorlike flakes and also to rough
surfaces that exhibit more subtle small scale glitter, without which most glossy surfaces
appear too smooth in closeup. These phenomena can in principle be simulated by
highresolution normal maps, but maps with tiny features create severe aliasing
problems under narrowangle illumination. In this paper we present a stochastic model
for the effects of random subpixel structures that generates glitter and spatial
noise that behave correctly under different illumination conditions and viewing
distances, while also being temporally coherent so that they look right in motion.
The model is based on microfacet theory, but it replaces the usual continuous microfacet
distribution with a discrete distribution of scattering particles on the surface. A novel
stochastic hierarchy allows efficient evaluation in the presence of large numbers of
random particles, without ever having to consider the particles individually. This leads
to a multiscale procedural BRDF that is readily implemented in standard rendering systems,
and which converges back to the smooth case in the limit.


Progressive Light Transport Simulation on the GPU: Survey and Improvements
Tomáš Davidovič, Jaroslav Křivánek, Miloš Hašan, Philipp Slusallek
ACM Transactions on Graphics, 2014
[PDF]
[supplementary]
[project page]
Graphics Processing Units (GPUs) recently became general enough to enable implementation of a
variety of light transport algorithms. However, the efficiency of these GPU implementations has received relatively little attention in the research literature and no systematic study on the topic exists to date. The goal of our work is to fill this gap. Our main contribution is a comprehensive and indepth investigation of the efficiency of the GPU implementation of a number of classic as well as more recent progressive light transport simulation algorithms. We present several improvements over the stateoftheart. In particular, our Light Vertex Cache, a new approach to mapping connections of subpath vertices in Bidirectional Path Tracing on the GPU, outperforms the existing implementations by 3060%. We also describe a first GPU implementation of the recently introduced Vertex Connection and Merging algorithm [Georgiev et al. 2012], showing that even relatively complex light transport algorithms can be efficiently mapped on the GPU. With the implementation of many of the stateoftheart algorithms within a single system at our disposal, we present a unique direct comparison and analysis of their relative performance.


Modular Flux Transfer: Efficient Rendering of HighResolution Volumes with Repeated Structures
Shuang Zhao, Miloš Hašan, Ravi Ramamoorthi, Kavita Bala
SIGGRAPH 2013
[PDF]
[video]
[project page]
The highest fidelity images to date of complex materials like cloth use extremely highresolution volumetric models. However, rendering such complex volumetric media is expensive, with bruteforce path tracing often the only viable solution. Fortunately, common volumetric materials (fabrics, finished wood, synthesized solid textures) are structured, with repeated patterns approximated by tiling a small number of exemplar blocks. In this paper, we introduce a precomputationbased rendering approach for such volumetric media with repeated structures based on a modular transfer formulation. We model each exemplar block as a voxel grid and precompute voxeltovoxel, patchtopatch, and patchtovoxel flux transfer matrices. At render time, when blocks are tiled to produce a highresolution volume, we accurately compute loworder scattering, with modular flux transfer used to approximate higherorder scattering. We achieve speedups of up to 12X over path tracing on extremely complex volumes, with minimal loss of quality. In addition, we demonstrate that our approach outperforms photon mapping on these materials.


Interactive Albedo Editing in PathTraced Volumetric Materials
Miloš Hašan, Ravi Ramamoorthi
ACM Transactions on Graphics, 2013
[PDF]
[video]
Materials such as clothing or carpets, or complex assemblies of small leaves, flower petals or mosses, do not fit well into either BRDF or BSSRDF models. Their appearance is a complex combination of reflection, transmission, scattering, shadowing and interreflection. This complexity can be handled by simulating the full volumetric light transport within these materials by Monte Carlo algorithms, but there is no easy way to construct the necessary distributions of local material properties that would lead to the desired global appearance. In this paper, we consider one way to alleviate the problem: an editing algorithm that enables a material designer to set the local (singlescattering) albedo coefficients interactively, and see an immediate update of the emergent appearance in the image. This is a difficult problem, since the function from materials to pixel values is neither linear nor loworder polynomial. We combine the following two ideas to achieve highdimensional heterogeneous edits: precomputing the homogeneous mapping of albedo to intensity, and a large Jacobian matrix, which encodes the derivatives of each image pixel with respect to each albedo coefficient. Combining these two datasets leads to an interactive editing algorithm with a very good visual match to a fully pathtraced ground truth.


Combining Global and Local Virtual Lights for Detailed Glossy Illumination
Tomáš Davidovič, Jaroslav Křivánek, Miloš Hašan, Philipp Slusallek, Kavita Bala
SIGGRAPH Asia 2010
[PDF]
[Supplemental PDF]
[PPTX]
Accurately rendering glossy materials in design applications, where
previewing and interactivity are important, remains a major challenge. While many fast global
illumination solutions have been proposed, all of them work under limiting assumptions on the
materials and lighting in the scene. In the presence of
many glossy (directionally scattering) materials,
fast solutions either fail or degenerate
to inefficient, bruteforce simulations of the underlying light transport. In particular,
manylight algorithms are able to provide fast
approximations by clamping elements of the light transport matrix,
but they eliminate the part of the transport that contributes to accurate glossy appearance. In
this paper we introduce a solution that
separately solves for the global (lowrank, dense) and local (highrank, sparse) illumination
components. For the lowrank component we introduce visibility clustering and approximation, while
for the highrank component we introduce a local light technique
to correct for the missing illumination. Compared to competing
techniques we achieve superior gloss rendering in minutes, making
our technique suitable for applications such as industrial design and
architecture, where material appearance is critical.


Physical Reproduction of Materials with Specified Subsurface Scattering
Miloš Hašan, Martin Fuchs, Wojciech Matusik, Hanspeter Pfister, Szymon Rusinkiewicz
SIGGRAPH 2010
[PDF]
[slides]
We investigate a complete pipeline for measuring, modeling, and fabricating
objects with specified subsurface scattering behaviors.
The process starts with measuring the scattering properties of
a given set of base materials, determining their radial
reflection and transmission profiles.
We describe a mathematical model that predicts the profiles of
different stackings of base materials, at arbitrary thicknesses.
In an inverse process, we can then specify a desired reflection
profile and compute a layered composite material that best
approximates it. Our algorithm efficiently searches the space of possible
combinations of base materials, pruning unsatisfactory states imposed by
physical constraints.
We validate our process by producing both homogeneous and heterogeneous composites fabricated
using a multimaterial 3D printer. We demonstrate reproductions that have
scattering properties approximating complex materials.


Virtual Spherical Lights for ManyLight Rendering of Glossy Scenes
Miloš Hašan, Jaroslav Křivánek, Bruce Walter, Kavita Bala
SIGGRAPH Asia 2009
[PDF]
[PPTX]
[HLSL shader]
In this paper, we aim to lift the accuracy limitations of manylight algorithms by introducing a new
light type, the virtual spherical light (VSL). The illumination contribution of a VSL is computed over
a nonzero solid angle, thus eliminating the illumination
spikes that virtual point lights used in traditional manylight methods are notorious for. The VSL
enables application of manylight
approaches in scenes with glossy materials and complex illumination that could previously be rendered
only by much slower algorithms. By combining VSLs with the matrix rowcolumn sampling
algorithm, we achieve highquality images in one to four minutes,
even in scenes where path tracing or photon mapping take hours to
converge.


Automatic Bounding of Programmable Shaders for Efficient Global Illumination
Edgar VelázquezArmendáriz, Shuang Zhao, Miloš Hašan, Bruce Walter, Kavita Bala
SIGGRAPH Asia 2009
[PDF]
This paper describes a technique to automatically adapt programmable shaders for use in
physicallybased rendering algorithms. Programmable shading provides great flexibility and power
for creating rich local material detail, but only allows the material
to be queried in one limited way: point sampling. Physicallybased
rendering algorithms simulate the complex global ﬂow of light
through an environment but rely on higher level information about
the material properties, such as importance sampling and bounding,
to intelligently solve high dimensional rendering integrals.
We propose using a compiler to automatically generate interval
versions of programmable shaders that can be used to provide the
higher level query functions needed by physicallybased rendering
without the need for user intervention or expertise. We demonstrate
the use of programmable shaders in two such algorithms, multidimensional lightcuts and photon mapping,
for a wide range of scenes
including complex geometry, materials and lighting.


Tensor Clustering for Rendering ManyLight Animations
Miloš Hašan, Edgar VelázquezArmendáriz, Fabio Pellacini, Kavita Bala
EGSR 2008
[PDF]
[PPT]
[video]
[comparison video]
[diff video]
Rendering animations of scenes with deformable objects,
camera motion, and complex illumination, including
indirect lighting and arbitrary shading, is a longstanding challenge.
Prior work has shown that complex lighting
can be accurately approximated by a large collection of point lights.
In this formulation, rendering of animation
sequences becomes the problem of efficiently shading many surface samples
from many lights across several
frames. This paper presents a tensor formulation of the animated manylight
problem, where each element of the
tensor expresses the contribution of one light to one pixel in one frame.
We sparsely sample rows and columns
of the tensor, and introduce a clustering algorithm to select a small number
of representative lights to efficiently
approximate the animation. Our algorithm achieves efficiency by reusing
representatives across frames, while
minimizing temporal flicker. We demonstrate our algorithm in a variety of
scenes that include deformable objects,
complex illumination and arbitrary shading and show that a surprisingly
small number of representative lights is
sufficient for high quality rendering. We believe out algorithm will
find practical use in applications that require
fast previews of complex animations.


Matrix RowColumn Sampling for the ManyLight Problem
Miloš Hašan, Fabio Pellacini, Kavita Bala
SIGGRAPH 2007
[PDF]
[PPT]
Rendering complex scenes with indirect illumination, high dynamic
range environment lighting, and many direct light sources remains
a challenging problem. Prior work has shown that all these effects
can be approximated by many point lights. This paper presents
a scalable solution to the manylight problem suitable for a GPU
implementation. We view the problem as a large matrix of samplelight interactions;
the ideal final image is the sum of the matrix
columns. We propose an algorithm for approximating this sum by
sampling entire rows and columns of the matrix on the GPU using
shadow mapping. The key observation is that the inherent structure of the transfer matrix can be
revealed by sampling just a small
number of rows and columns. Our prototype implementation can
compute the light transfer within a few seconds for scenes with
indirect and environment illumination,
area lights, complex geometry
and arbitrary shaders. We believe this approach can be very useful
for rapid previewing in applications like cinematic and architectural
lighting design.


DirecttoIndirect Transfer for Cinematic Relighting
Miloš Hašan, Fabio Pellacini, Kavita Bala
SIGGRAPH 2006
[PDF]
[PPT]
[video]
This paper presents an interactive GPUbased system for cinematic
relighting with multiplebounce indirect illumination from a fixed
viewpoint. We use a deep framebuffer containing a set of view
samples, whose indirect illumination is recomputed from the direct
illumination on a large set of gather samples, distributed around the
scene. This directtoindirect transfer is a linear transform which is
particularly large, given the size of the view and gather sets. This
makes it hard to precompute, store and multiply with. We address
this problem by representing the transform as a set of sparse matrices
encoded in wavelet space. A hierarchical construction is used
to impose a wavelet basis on the unstructured gather cloud, and an
imagebased approach is used to map the sparse matrix computations to the GPU.
We precompute the transfer matrices using a hierarchical algorithm and a variation
of photon mapping in less than
three hours on one processor. We achieve highquality indirect illumination at
1020 frames per second for complex scenes with over
2 million polygons, with diffuse and glossy materials, and arbitrary
direct lighting models (expressed using shaders). We compute perpixel indirect
illumination without the need of irradiance caching
or other subsampling techniques.

Ph.D. Thesis

Matrix Sampling for Global Illumination
Miloš Hašan (advised by Kavita Bala)
Cornell, August 2009
Global illumination is the problem of rendering images by simulating the light transport
in a scene, also considering the interreflection of light between surfaces. One general
approach to global illumination that gained popularity during the last decade is the
manylight formulation, whose idea is to
approximate global illumination by many automatically generated virtual point lights. In
this thesis, we address two fundamental issues that arise with the manylight formulation:
scalability and generality. We present a new view of the manylight approach, by treating
it as a large matrix of lightsurface contributions. Our insight is that there is usually
a significant amount of structure and redundancy in the matrix; this suggests that only a
tiny subset of the elements might be needed for accurate reconstruction. First, we present
a scalable rendering algorithm that exploits this insight by sampling a small subset of matrix
rows and columns to reconstruct the image. This algorithm is very flexible in terms of the material
and light types it can handle, and achieves highquality rendering of complex scenes in several seconds
on consumerlevel graphics hardware. Furthermore, we extend this approach to render whole
animations, by considering a 3D tensor of lightsurface contributions over time. This allows
us to further decrease the necessary number of samples by exploiting temporal coherence. We
also address a longstanding limitation of all previous manylight approaches that leads to
fundamentally incorrect results in scenes with glossy materials, by introducing a new virtual
light type that does not have this limitation. Finally, we describe an algorithm that computes
a waveletcompressed approximation to the lighting matrix, which allows for interactive light
placement in a scene with global illumination.
[link]

