P-Buffer: Hidden-line rendering with a dynamic p-buffer
NOTICE: this is the author’s version of a work that was accepted for publication in Computers and Graphics. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in PUBLICATION, [VOL#, ISSUE#, (DATE)] DOI#
Despite the emergence of highly realistic computer-generated images, line-drawing images are still a common practice in showing the shapes and movements of three-dimensional objects. It is especially true when rendering time is critical in interactive applications such as the modeling and testing stage of computer aided design/manufacturing, computer animation, and virtual reality. Hence much effort has been devoted to provide sufficient information of the displayed objects with the least amount of time. While the techniques that determine visible surfaces in an image-space have the advantages on rendering speed and processable shapes, those that decide visible lines or line segments in an object-space are more suitable for showing hidden lines. The P-buffer algorithm introduced in this paper is a method for rendering line-drawing images with dashed hidden-lines. Being an image-space method, this algorithm preserves the low computational cost and works on a wide range of object shapes; as an extension to the Z-buffer algorithm it, moreover, discloses hidden surfaces by showing them with dashed lines. After a discussion on rendering techniques of line-drawing images, this paper presents this algorithm with pseudocode in C++ programming language and shows some experimental results as well. This image-space algorithm can be used as a compromise approach that reveals the concealed information of hidden-surface-removed views for time-critical rendering.