The human eye samples using a Poisson Disk distribution
a finite number of photoreceptors
cones in the eye are distributed stochastically, but such that no two cones are closer than a certain distance
draw locations of cones
place a disk of radius r about each cone
no other cone will fall within that disk
can use this approach in ray tracing but it is quite expensive
[image: poisson disk distribution]
We can approximate a Poisson disk distribution using Jittering
idea: begin with a regular gird then jitter the center points randomly
[image: shows two 4x4 pixel grids. The first, labelled "Uniform Distribution," shows a ray going through the center of each pixel. The second grid, labelled "Jittered," shows the rays going through random locations within each pixel.]
removes high frequencies
introduces noise in place of high frequencies
Distributed Ray Tracing
Anti-aliasing
send multiple rays per pixel, but send them at stochastically jittered locations
Glossiness (blurred reflection)
tracing a ray according to the reflection angle produces sharp reflections
[image: shows a ray reflecting off of a surface]
we can create a blurred reflection by sending multiple secondary rays jittered about the reflection ray
[image: shows the reflection ray being tweaked somewhat to provide randomness. We must tweak the rays only within a certain bound, so as to not introduce excessive error]
Translucency
tracing a single transmitted ray gives a sharp transparency. To simulate a translucent material (bathroom glass), send multiple transmission rays and jitter them about the actual transmitted ray
[image: a transmission ray being jittered within a certain bound]
This will "blur" the transparency
Penumbra
Since lights in the real world are not point light sourcees, shadows are not sharp
[image: two contrasting examples. One shows an object occluding a surface from a point light source, and the sharp shadow that results. The other shows a similar object occluding a surface from an area light source, with the resulting umbra (hard shadow) and penumbra (soft shadow) ]
Penumbra - shadows generated by partially obscured lights
idea: send out multiple shadow rays from the surface intersection point to the light source (area light source). Jitter the rays within some limit. The intensity of the surface point depends on the number of the jittered rays that reach the light
[image: illustrates the above concept]
Depth of field
focus at a particular distance. Objects at other distances appear out of focus
jitter rays slightly so that this effect is simulated
rays should be jittered to stay within a cone
the cone size depends on the distance from the focal point of the object
[image: complicated diagram, uses the notation explained below]
Pf = focal point
F = focal point of lens
n = aperture number
P = distance from lens to focal point
Vp = distance from lens to image plane
PD = a point not on focal plane
D = distance to PD
r = radius of cone for object at distance D
C = circle of confusion
For an object located at PD, we send out a group of jittered rays that all lie within a cone of radius r.
This will simulate a lens without having to actually provide the lens
How do we get r?
Thus, we send out jittered rays that fall within a cone whose radius depends on the distance of the object from the focal point
Alternatively: (more accurate, more complex)
Determine the focal point by sending a ray from the center of the lens to the point on the screen, then use the lens qualities to get the focal point.
Next, choose some jittered point on the lens
Trace a ray from that point through the focal point, then determine intensity information
[image: shows a ray passing through a lens, hitting a "focal point" in midair, then refracting somewhat to strike an object]
Motion Blur
distribute rays over time - static objects will appear normal, but moving objects will be blurred depending on their velocity
jitter the rays with respect to time
determine object positions at each of the jittered time values
send the ray with the objects positioned appropriately
combine the rays back into one to get the motion blurred object
Summary of Distributed Ray Tracing
For each ray do:
jitter the spatial screen location of the ray
select a time for the ray and move objects to that time
perform depth of field calculation by sending a ray from the eye point (center of the lens) to the ray point on the screen. Jitter a point on the lens, then trace a ray from that point to the focal point of the original ray. Determine which object is visible.
send shadow rays to the light sources by jittering the rays about the actual shadow ray
jitter rays about the reflection ray to produce glossiness
jitter rays about the tranmission ray to produce translucency
[image: gives a visual representation of the above]