220 likes | 398 Views
The edge buffer : A data structure for easy silhouette rendering by John W. Buchanan and Mario C. Sousa. Goal . Render edges within relatively low end PC apps obstacle: Z-buffer reading is expensive if it exists All polygons are processed
E N D
The edge buffer : A data structure for easy silhouette rendering by John W. Buchanan and Mario C. Sousa
Goal • Render edges within relatively low end PC apps • obstacle: Z-buffer reading is expensive if it exists • All polygons are processed • Artists can define edges in the model which must be displayed
Edge Buffer (EB) uses: • Closed polyhedral objects • Open polyhedral objects There are times when the Artist MUST define edges in order to produce accurate results
EB Method Attributes • Polygonal mesh stored in indexed vertex mesh representation • Front/back facing polygons determined • Buffer takes up little additional storage space
1 5 2 4 3 Closed polyhedral objects V- Vertex # F- Front B- Back Original Object Edges passed during pre-polygonal set-up
1 5 2 4 3 Closed polyhedral objects F bits have 1 added to them in the corresponding fields
1 5 2 4 3 Closed polyhedral objects Adding 1 to the F bit twice results in a 0 representing a front-facing, absolute edge.
1 5 2 4 3 Closed polyhedral objects Back-facing bits have 1’s added to them, the first silhouette is found.
1 5 2 4 3 Closed polyhedral objects
1 5 2 4 3 Closed polyhedral objects
1 5 2 4 3 Closed polyhedral objects
1 5 2 4 3 Closed polyhedral objects Silhouettes are found and rendered
5 6 1 4 8 7 2 3 Open polyhedral objects Original Open Object Result of edge buffer technique on Open Objects
5 6 1 4 8 7 2 3 Open polyhedral objects Original Object Rendering edges which do not end in 00
5 6 1 4 8 7 2 3 Open polyhedral objects Original object Allow Artist to define edges to be rendered
Determining back-facing artist edges • Three new flags are added to bit field: A, F~ and B~. • Artist defined edge. • Front or Back Absolute. --------->
RESULTS A F B F~ B~ 0 0 0 0 1 = Back-Facing Absolute Edge not to be rendered 11111 00010 10011 00001 11111
RESULTS A F B F~ B~ 0 0 0 1 0 = Front-Facing Absolute Edge not to be rendered 11111 00010 10011 00001 11111
RESULTS A F B F~ B~ 1 0 0 1 1 = Artist edge sharing vertices with both back-facing and front-facing polygons will be rendered 11111 00010 10011 00001 11111
RESULTS A F B F~ B~ 1 1 1 1 1 = Artist Edge sharing vertices with both back-facing and front-facing polygons will be rendered 11111 11111 00010 00010 10011 10011 00001 00001 11111 11111
RESULTS A F B F~ B~ 1 1 1 1 1 = Artist edge sharing vertices with both back-facing and front-facing polygons 11111 00010 10011 00001 11111
Conclusions • Little additional storage space • At least two bits per edge. • Front-and back computations being done • Objects stored in indexed polygonal mesh representation • Artist Edge can be defined during pre-processing. • Increased computation adds less than 1% to rendering time