Other
Things to See:
Flake
Dusting
Sky
Accumulation Patterns |
Peculiar to snow is the idea
of ``flake flutter'', where falling ice crystals are affected by crystal
shape and atmospheric micro-turbulence. These local disturbances can prevent
falling snow from descending in a straight line, instead allowing flakes
to sidestep blocking obstacles and land underneath on surfaces that have
no direct exposure to the sky. |
Where an obstacle, such as a porch or a bush,
blocks the ground underneath, the flake flutter effect eventually produces
an occlusion boundary between completely blocked and unblocked areas.
Over billions of flakes, these occlusion boundaries exhibit a smooth drop-off,
where the shape of the curve and amount of snow under an object depends
on the size, shape, and number of blocking occlusions, the closeness of
the occlusion to the ground, and the magnitude of the fluttering effect. |
|
|
|
Flake
flutter causes snow to accumulate under obstacles, even in areas that cannot
directly see the sky. The above image shows the left-to-right effect of
increasing the flutter amount. |
|
Our goal is to generate an accumulation pattern for every
surface in the model, where the amount of snow each surface receives is
proportional to the occlusion factors described above. Thus, simulating
and modelling an accumulation pattern is akin to raytracing for light,
except that we are interested in path (instead of straight-line)
visibility. |
|
The mesh improves only where needed. |
Our approach is to allow launch sites on each surface to emit a series
of particles aimed upwards towards a sky bounding plane. As particles
flutter upwards, they are checked for intersection with intervening surfaces,
where a ``hit'' indicates that a particle is somehow blocked, and cannot
contribute snow to its source surface. A ``miss'' means that the particle
made it through or around all blocking obstacles and reached the sky.
As particles reach or are blocked from the sky they slowly build a picture
of a given launch site's sky occlusion. New launch sites are added whenever
the particle tracing indicates that there is an interesting difference
with nearby neighbours. Likewise, launch sites can be removed whenever
nearby neighbours are consistently confident that they are either completely
exposed or completely occluded. |
The rationale for shooting upwards generally arises
from the need for control: the idea that each individual surface can locally
influence its resolution by deciding how many launch sites it needs, and
how many particles each site should shoot. Each launch site is given an
importance ordering based on area, past accumulation history, steepness,
neighbour importance and (optionally) closeness to the camera. As long
as the allocated time has not expired, the most important launch site shoots
a small batch of particles, gets a new importance based on the results,
and is placed back in sorted order.
Since our sampling rate is orders of magnitude less complete than Nature's,
prioritising the few samples we do have allows us to make better use of
them. This ensures that even the tiniest surface is guaranteed at least
a rough estimate of snow accumulation. This is a major advantage over potential
(future) approaches that drop blobby particles, since small surfaces are
often missed at the expense of covering large ones. |
|