k. h. ko department of mechatronics gwangju institute of science and technology

45
Photo-realistic Rendering and Globa l Illumination in Computer Graphics Spring 2010 Stochastic Radiosity K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

Upload: didier

Post on 12-Jan-2016

30 views

Category:

Documents


0 download

DESCRIPTION

Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2010 Stochastic Radiosity. K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology. Hybrid Algorithms. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

Photo-realistic Rendering and Global Illumination in Computer Graphics

Spring 2010

Stochastic Radiosity

K. H. Ko

Department of MechatronicsGwangju Institute of Science and Technology

Page 2: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

2

Hybrid Algorithms There are two of the most popular global illumin

ation algorithms: ray tracing and radiosity. A ray-tracing algorithm computes radiance values for

every pixel in the final image by generating paths between the pixel and the light sources.

A radiosity algorithm computes a radiance value for every mesh element in the scene, after which this solution is displayed using any method that can project polygons to the screen.

There are algorithms which try to combine the best of both worlds.

Page 3: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

3

Final Gathering Once a radiosity solution is computed and an image of t

he scene is generated, Gouraud shading is often used to interpolate between radiance values at vertices of the mesh, thus obtaining a smoothly shaded image. This technique can miss significant shading features. It is often difficult to generate accurate shadows.

Shadows may creep under surfaces. Mach band effects may occur. Other secondary illumination effects containing features with a f

requency higher than that which the mesh can represent are also possible.

One way of solving this is to consider the radiosity solution to be a coarse precomputed solution of the light distribution in the scene.

Page 4: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

4

Final Gathering During a second phase, when the

image is actually generated, a more accurate per-pixel illumination value is computed, which is based on the ray-tracing algorithm.

The ray-tracing set-up for computing the radiance for a pixel is given by

Page 5: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

5

Final Gathering L(p->eye) equals L(x->Θ) with x being the visible point in

the scene and Θ the direction from x towards the eye. Suppose we have a precomputed radiance solution in a

diffuse scene, given by L(y) for every surface point y. We can then acquire the value of L(x->Θ) by writing the renderin

g equation, approximating the radiance distribution in the kernel of the transport equation by L(y).

Page 6: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

6

Final Gathering This integral can now be evaluated using Monte

Carlo integration. The main difference with the stochastic ray-traci

ng algorithm is that there is no recursive evaluation of the radiance distribution, since it is substituted by the precomputed radiosity solution.

Thus one gains the advantage of using an accurate per-pixel method, using a fast precomputed finite element method.

Page 7: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

7

Final Gathering Various sampling strategies can be used t

o evaluate either of the two integrals. In a diffuse scene, with a constant radian

ce value Lj for each surface element j, the equation can also be rewritten as

Page 8: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

8

Final Gathering Simple Hemisphere Sampling

The most straightforward approach is to sample random directions over the hemisphere and evaluate L at the nearest intersection point.

It is very similar to simple stochastic ray tracing and will result in a lot of noise in the final image.

Light sources will be missed by just randomly sampling the hemisphere.

Splitting the integral into a direct and indirect term is a good approach for increasing the accuracy.

Page 9: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

9

Final Gathering Importance Sampling

Construct a probability density function that matches the kernel of the integral as closely as possible.

Since we have a precomputed solution, it can be used to sample surface elements and directions to bright areas in the scene.

Depending on the radiosity algorithm used, the following data may be available to construct a PDF:

Average radiance value for each surface element. The form factors between surface elements.

Page 10: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

10

Final Gathering Importance Sampling

An importance sampling procedure can be constructed by first selecting a surface element, and then sampling a surface point within that surface element.

1. The probability of picking surface element j should be proportional to

with surface element i containing point x.

Page 11: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

11

Final Gathering Importance Sampling

An importance sampling procedure can be constructed by first selecting a surface element, and then sampling a surface point within that surface element.

1. Thus, each surface element j is assigned a probability

Page 12: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

12

Final Gathering Importance Sampling

2. The second step then involves the evaluation of

For the surface element j selected in Step 1.

Page 13: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

13

Final Gathering Importance Sampling

Several methods for evaluating this integral are possible.

Choosing a sample point y with uniform probability 1/Aj on surface element j. The total estimator is then given by

Page 14: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

14

Final Gathering Importance Sampling

Several methods for evaluating this integral are possible.

An algorithm is available to sample a random direction with uniform probability 1/Ωj on a spherical triangle Ωj. This sampling procedure can be used to sample a surface point y by first selecting a direction Θx ∈ Ωj ; y is the point on surface element j along Θx. The total estimator is then

Page 15: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

15

Final Gathering Importance Sampling

Several methods for evaluating this integral are possible.

The cosine factor cos(Nx,Θx) can be taken into account as well by using rejection sampling. A direction is sampled on a bounding region on the hemisphe

re. The bounding region needs to be chosen such that sampling

according to a cosine distribution is possible. If the sampled direction falls outside Ωj, the estimator evalua

tes to 0. Alternatively, one can also generate samples until a nonrejec

ted sample is generated.

Page 16: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

16

Final Gathering Importance Sampling

Several methods for evaluating this integral are possible.

When surface element j is fully visible from point x, the point-to-surface form factor can be computed analytically, and thus no Monte Carlo sampling is needed.

Page 17: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

17

Multipass Methods A multipass method uses various algorithms (f

inite-element-based, image-based) and combines them into a single image-generation algorithm.

Care has to be taken that light transport components are not counted twice since this would introduce errors in the image.

At the same time, all possible light transport modes need to be covered by at least one pass.

A good multipass algorithm tries to exploit the various advantages of the different individual passes.

Page 18: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

18

Multipass Methods Regular Expressions

Regular expressions are often used to express which light transport modes are covered by which pass.

Notations L: One of the light sources in the scene. D: A diffuse reflection component of the BRDF. G: A semidiffuse or glossy reflection component of the BRDF. S: A perfect specular component of the BRDF. E: The eye or virtual camera.

LD+E. A light transport path between a light source and the camera, onl

y reflecting at diffuse surfaces D+ indicates the path bounces off of at least one diffuse surface.

Page 19: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

19

Multipass Methods Regular Expressions

LDSE A diffuse surface, reflected in a visible specular material, would

be described by the path of type LDSE. L(D|G|S)*E

All possible paths in the scene. * indicates zero or more reflections.

Algorithms can now be characterized by describing what light transport paths they cover.

Radiosity algorithms cover all paths of type LD*E, or all diffuse bounces.

A classic ray-tracing algorithm, stopping the recursion of reflected rays at nonspecular surfaces, covers all paths of type LD0…1(G|S)E, with D0…1 indicating 0 to 1 reflections at a diffuse surface.

Page 20: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

20

Multipass Methods Construction of a Multipass Algorithm

A multipass algorithm usually starts with one or more object-space methods, which store a partial approximation of the light transport in the scene.

A radiosity method might only store the diffuse light interactions and might ignore all other types of light transport.

The image-space algorithms compute radiance values per pixel, but they rely on the partially computed and stored light transport approximations of the previous passes.

To access these stored solutions, they need a read-out strategy. This read-out strategy might itself include some computations

or interpolations. It is determined by the nature of the stored partial solution. It also determines the nature of the paths that are covered by th

e image-space pass.

Page 21: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

21

Multipass Methods Construction of a Multipass Algorithm

Some typical read-out strategies include: Direct visualization of the stored solution

For each pixel, the stored light transport solution is accessed directly and the resulting value attributed to the pixel.

Radiosity solutions are often displayed this way. Final gathering

The final gathering method reconstructs the incoming radiance values over the hemisphere for each point visible through the pixel.

These radiance values are read from the stored radiance solution.

Page 22: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

22

Multipass Methods Construction of a Multipass Algorithm

Some typical read-out strategies include: Recursive stochastic ray tracing

A recursive ray-tracing algorithm is used as a read-out strategy, but paths are only reflected at those surfaces.

Use only those reflection components that are not covered by the object-space pass.

Ex: If the first pass stores a radiosity solution, covering all paths of type LD*, then the recursive ray-tracing pass would only reflect rays at G or S surfaces. At each D surface, the stored value in the precomputed

solution is read out and incorporated in the estimator at that reflection point.

Thus, the covered paths are of type LD*(G|S)*E.

Page 23: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

23

Multipass Methods Most multipass strategies make sure th

at the light transport paths covered in the different passes do not overlap.

Otherwise, some light transport might be counted twice and the resulting image will look too bright in some parts of the scene.

Every pass of the multipass algorithm covers distinct, separate types of light transport.

Page 24: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

24

Multipass Methods An alternative approach is to have some overlap betw

een the different passes, but weigh them appropriately.

The problem is now to find the right weighting heuristics such that the strengths of each individual pass are used in the optimal way.

A very good strategy assigns weights to the different types of paths in each pass based on the respective probability density functions for generating these paths.

Thus, caustic effects might predominantly use their results from a bidirectional ray-tracing pass, while direct illumination effects might originate mostly from a ray-tracing or radiosity pass.

Page 25: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

25

Multipass Methods A total of three pas

ses are used. First, a radiosity sol

ution is computed, which is subsequently enhanced by a stochastic ray tracer.

Page 26: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

26

Multipass Methods A total of three

passes are used. A third pass

involves a bidirectional ray tracer, which generates paths of the same type but with different probabilities due to the nature of the sampling process.

Page 27: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

27

Bidirectional Tracing Ray tracing traces paths through the scene starting at

the surface points, which eventually end at the light sources.

Light tracing, another path-tracing algorithm, does the opposite: paths start at the light sources and end up in any relevant pixels.

Bidirectional ray tracing combines both approaches in a single algorithm and can be viewed as a two-pass algorithm in which both passes are tightly intertwined.

Bidirectional ray tracing generates paths starting at the light sources and at the surface point simultaneously and connects both paths in the middle to find a contribution to the light transport between the light source and the piont for which a radiance value needs to be computed.

Page 28: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

28

Bidirectional Tracing Bidirectional tracing combines the specif

ic advantages of ray tracing as well as light tracing.

Bidirectional path tracing is one of the few algorithms that start from the formulation of the global reflection distribution function (GRDF).

The flux Ф(S) is given by

Page 29: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

29

Bidirectional Tracing The core idea of the algorithm is that one has the avai

lability of two different path generators when computing a Monte Carlo estimate for the flux through a certain pixel:

An eye path is traced starting at a sampled surface point y0 visible through the pixel.

By generating a path of length k, the path consists of a series of surface points y0, y1, …, yk.

The length of the path is controlled by Russian roulette. The probability of generating this path can be composed of the in

dividual PDF values of generating each successive point along the path.

Similarly, a light path of length l is generated starting at the light source. This path, x0, x1, …, xl, also has its own probability density distribution.

Page 30: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

30

Bidirectional Tracing By connecting the endpoint yk of the eye path

with the endpoint xl of the light path, a total path of length k+l+1 between the importance source S and the light sources is obtained.

The probability density function for this path is the product of the individual PDFs of the light and eye paths.

An estimator for the Ф(S) using this single path is given by

Page 31: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

31

Bidirectional Tracing Stochastic ray tracing and light tracing are spe

cial cases of bidirectional ray tracing. When tracing a shadow ray in stochastic ray tr

acing, we actually generate a light path of length 0, which is connected to an eye path.

Example A path of length 3 could be generated by a light pat

h of length 2 and an eye path of length 0. Or by a light path of length 1 and an eye path of len

gth 1 Or by a light path of length 0 and an eye path of len

gth 2.

Page 32: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

32

Bidirectional Tracing

Page 33: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

33

Bidirectional Tracing Some light distribution effects are better

generated using either light paths or eye paths.

When rendering a specular reflection that is visible in the image, it is better to generate those specular bounces in the eye path.

The specular reflections in caustics are better generated in the light path.

Page 34: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

34

Bidirectional Tracing

Page 35: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

35

Photon Mapping Photon mapping is a practical two-pass algorithm that

traces illumination paths both from the lights and from the viewpoint.

However, unlike bidirectional path tracing, this approach caches and reuses illumination values in a scene for efficiency.

In the first pass, “photons” are traced from the light sources into the scene.

These photons, which carry flux information, are cached in a data structure, called the photon map.

In the second pass, an image is rendered using the information stored in the photon map.

Page 36: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

36

Photon Mapping Photon mapping decouples photon storage from surfa

ce parameterization. This representation enables it to handle arbitrary geometry, in

cluding procedural geometry, thus increasing the practical utility of the algorithm.

It is also not prone to meshing artifacts. By tracing or storing only particular types of photons, i

t is possible to make specialized photon maps, just for that purpose.

The caustic map: It is designed to capture photons that interact with one or more specular surfaces before reaching a diffuse surface.

By explicitly capturing caustic paths in a caustic map, the photon mapping technique can find caustics efficiently.

Page 37: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

37

Photon Mapping Photon mapping is a biased technique.

The bias is the potentially nonzero difference between the expected value of the estimator and the actual value of the integral being computed.

Since photon maps are typically not used directly, but are used to compute indirect illumination, increasing the photons eliminates most artifacts.

Page 38: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

38

Photon Mapping Tracing Photons: Pass 1

The use of compact, point-based “photons” to propagate flux through the scene is key in making photon mapping efficient.

Photons are traced from the light sources and propagated through the scene just as rays are in ray tracing.

They are reflected, transmitted, or absorbed. Russian roulette and the standard Monte Carlo sampling techniq

ues are used to propagate photons. When the photons hit nonspecular surfaces, they are stored i

n a global data structure called the photon map. To facilitate efficient searches for photons, a balanced kd-tree is

used to implement this data structure.

Page 39: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

39

Photon Mapping Tracing Photons: Pass 1

Photon mapping can be efficient for computing caustics.

The reflected radiance at each point in the scene can be computed from the photon map.

The photon map represents incoming flux at each point in the scene. Therefore, the photon density at a point estimates the irradiance at that point.

The reflected radiance at a point can then be computed by multiplying the irradiance by the surface BRDF.

Page 40: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

40

Photon Mapping Tracing Photons: Pass 1

To compute the photon density at a point the n closest photons to that point are found in the photon map. This search is efficiently done using the balanced kd-tree sto

ring the photons. The photon density is then computed by adding the flux of

these n photons and dividing by the projected area of the sphere containing these n photons.

Thus, the reflected radiance at the point x in the direction ω is

Page 41: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

41

Photon Mapping Computing Images: Pass 2

The simplest use of the photon map would be to display the reflected radiance values computed in pass 1 for each visible point in an image.

However, unless the number of photons used is extremely large, this display approach can cause significant blurring of radiance, thus resulting in poor image quality.

Instead, photon maps are more effective when integrated with a ray tracer that computes direct illumination and queries the photon map only after one diffuse or glossy bounce from the view point is traced through the scene.

Page 42: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

42

Photon Mapping Computing Images: Pass 2

The final rendering of images could be done as follows:

Rays are traced through each pixel to find the closest visible surface.

The radiance for a visible point is split into direct illumination, specular or glossy illumination, illumination due to caustics, and the remaining indirect illumination. Direct illumination for visible surfaces is computed using reg

ular Monte Carlo sampling. Specular reflections and transmissions are ray traced. Caustics are computed using the caustic photon map. Since

caustics occur only in a few parts of the scene, they are computed at a higher resolution to permit direct high-quality display.

Page 43: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

43

Photon Mapping Computing Images: Pass 2

The final rendering of images could be done as follows:

The remaining indirect illumination is computed by sampling the hemisphere; the global photon map is used to compute radiance at the surfaces that are not directly visible. This extra level of indirection decreases visual artifacts.

Page 44: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

44

Photon Mapping

Page 45: K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology

45

Photon Mapping