Next: Accelerating Volume rendering
Up: Using Space-Leaping and Frame
Previous: Using Space-Leaping and Frame
Direct volume rendering ( visualize the volume data without any prior
encoding like polygon extraction) but just the first hit. Surface based rendering.
If a surface point is visible in one projection then it is highly
probable that it will remain visible in the next projection.
They can be computed incrementally avoiding full-fledged
raycasting.
Figure: 2D illustration of an incremental rotation after a
full raycasting. At1 has become hidden. At 2 samples have
become clustered. At 3 new rays are cast to fill in
gaps. A left scan is done at 4 to find new visible surface.
Assume for simplicity:
- The rotation axis is perpendicular to the
viewing direction (z axis).
- The rotation axis is parallel to y axes of the
volume. Plane xz is projected to a line with
constant y in the image plane.
- parallel projection.
- object rotate counterclockwise (Image plane fixed)
First full-fledged raycasting (ray per pixel).
Save in a list all detected surface points. One list for each
y sorted in x from left to right.
- Transform points in the list using a 2D
geometric transformation.
- Remove those points that have become hidden.
- Detect new surface points by selective
raycasting and insert in the list.
- Resample all surface points.
The surface points became visible and invisible following two
rules:
- Surface points that disappear will project to
the left of some new right silhouette edge.
- Newly visible surface points will appear to the
left of some old silhouette.
They don't keep track of the silhouette points.
Step 2 follow rule 1. Points are ``sur-passed''.
Step 3 and 4:
- After the initialization step the list contains
uniformly sampled but the rotation transformation yields to
non-uniform ( See figure ).
- So they resample rounded to the nearest pixel if more
than one per pixel select the nearest. Samples slides too
far apart new rays must be cast.
- step 3 and rule 2:
All the pixels are initialized to B background.
The criterion to cast rays in step 3 is :
A ray is cast for all contiguous pixels containing B immediately to the left
of a resampled and shaded pixel. Stop the scan when a ray
does not detect a surface.
This fill the gaps and detecting newly visible points.
PROBLEM: When angle increment is large, background
become visible between disjoint objects. The left scan will
stop and some surface will go undetected.
SOLUTION: An additional right scan.
Next: Accelerating Volume rendering
Up: Using Space-Leaping and Frame
Previous: Using Space-Leaping and Frame
Lukas Mroz
Tue Feb 9 12:46:24 MET 1999