Fast Spheres On PixelFlow
Kenny Hoff
6/17/97
Like in Pixel-Planes 4 (see "Fast Spheres. . ." by Fuchs et al in SIGGRAPH
'85), PixelFlow can evaluate a linear expression of the form Ax+By+C
for every pixel in a single tile simultaneously. We will formulate approximations
for rasterizing the sphere that will utilize this expression.
Development of the sphere rasterizer proceeds as follows:
Here are three standalone short programs to test the sphere rasterization
stages. Simply download the files and compile using g++
(each module is a separate program that uses fbppm.hpp for output).
-
bruteforce.cpp : nonlinear direct evaluation
for scan-conversion and depth-evaluation. Tests circle approximation for
scan-conversion and paraboloid approximation for depth-evaluation.
-
bruteforce2.cpp : direct evaluation of combined
circle in-out test and depth evaluation.
-
lineval.cpp : uses PixelFlow-style linear expression
evaluator and the Qbuffer.
-
lineval2.cpp : linear evaluation of combined
method.
-
normals.cpp : evaluation of surface
normals using floating point.
-
normals2.cpp : surface normals using
fixed-point scaling.
-
fbppm.hpp : portable pixel map (PPM) "mock" framebuffer