- ...
pipeline.1
- The only exceptions are graphics boards for specialized
rendering such as volume rendering rectilinear grids
[14,53,67,73,78].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... vertices.2
- As of the time of the writing of this
dissertation, there is still no way to change cell topology from within a
vertex program.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... faces.3
- Culling back facing polygons is a standard OpenGL
operation[109].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
integration.4
- Weiler and colleagues [100] later
demonstrated how to perform all these operations on the next generation of
graphics cards.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
polyhedra.5
- The comparison operation in Stein, Becker, and Max has
a bug that is fixed by Williams, Max, and Stein [105].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... algorithm.6
- Max, Hanrahan, and Crawfis
[64] independently developed a similar algorithm.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... rendering.7
- According to Pfister and colleagues
[73] based on experiments performed by Lacroute
[55].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
all.8
- Weiler and colleagues [100] actually pass
plane information for three faces instead of one face and the index. This
makes 16 floats per vertex or 192 floats per tetrahedron. The added
floating point values allow the fragment program to perform the
intersection of each viewing ray with all three potential exiting faces.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
points.9
- Previous examples of fragment programs did not explicitly
convert scalars to volume parameters. They instead delegated this
process to IntegrateRay.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... two.10
- Wilhelms' nomenclature is ``material opacity'' for
and ``differential opacity'' for
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
website11
- http://www.nas.nasa.gov/Research/Datasets/datasets.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... calculations.12
- I used the same hardware to produce
all the results presented in this chapter. All ray integration
calculations are performed on a full 32-bit per channel GPU. However, the
images produced for the results in Section 1.1 were
written to an 8-bit per channel frame buffer whereas the values presented
in Sections 1.2 and 1.3
are taken as 32-bit values. I used the 8-bit frame buffer because the
color blending required for the image generation is not available for the
32-bit frame buffer. I used 32-bit values for
Sections 1.2 and 1.3 to
minimize quantization errors, which are orthogonal to the errors intrinsic
to the approximations.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.