Abstract: This paper extends our IEEE Visualization 2003 paper with a more detailed exposition of the concept, algorithms, and applications of the O-buffer. A more systematic classification of O-buffers and a more accurate analysis of storage requirements for O-buffers are presented. We also give a high level overview of motivations and methods to convert other primitives to O-buffers. More importantly, we introduce the O-buffer tree as a structure to compress sparse O-buffers and to organize samples in a hierarchy. In addition, we explore three new applications of O-buffers in image-based rendering and point sample rendering. Our main contribution in this paper is the introduction of the O-buffer as a new modeling and rendering primitive, a uniform framework for sample-based graphics, a unified way for hybrid rendering and a versatile representation which can be exploited to solve a wide range of problems in computer graphics and visualization.
Abstract: We present an innovative modeling and rendering primitive, called the O-buffer, for sample-based graphics, such as images, volumes, and points. The 2D or 3D O-buffer is in essence a conventional image or a volume, respectively, except that samples are not restricted to a regular grid. A sample position in the O-buffer is recorded as an offset to the nearest grid point of a regular base grid (hence the name O-buffer). The offset is typically quantized for compact representation and efficient rendering. The O-buffer emancipates pixels and voxels from the regular grids and can greatly improve the modeling power of images and volumes. It is a semi-regular structure which lends itself to efficient construction and rendering. Image quality can be improved by storing more spatial information with samples and by avoiding multiple resamplings and delaying reconstruction to the final rendering stage. Using O-buffers, we can develop more accurate multiresolution representations for images and volumes. It can also be exploited to represent and render unstructured primitives, such as points, particles, curvilinear or irregular volumes. The O-buffer is therefore a uniform representation for a variety of graphics primitives and supports mixing them in the same scene. We demonstrate the effectiveness of the O-buffer with hierarchical O-buffers, layered depth O-buffers, and hybrid volume rendering with O-buffers.
Abstract: This paper presents an efficient keyframeless image-based rendering technique. An intermediate image is used to exploit the coherences among neighboring frames. The pixels in the intermediate image are first rendered by a ray-casting method and then warped to the intermediate image at the current viewpoint and view direction. We use an offset buffer to record the precise positions of these pixels in the intermediate image. Every frame is generated in three steps: warping the intermediate image onto the frame, filling in holes, and selectively rendering a group of “old” pixels. By dynamically adjusting the number of those “old” pixels in the last step, the workload at every frame can be balanced. The pixels generated by the last two steps make contributions to the new intermediate image. Unlike occasional keyframes in conventional image-based rendering which need to be totally rerendered, intermediate images only need to be partially updated at every frame. In this way, we guarantee more stable frame rates and more uniform image qualities. The intermediate image can be warped efficiently by a modified incremental 3D warp algorithm. As a specific application, we demonstrate our technique with a voxel-based terrain rendering system.
- O-Buffer: A Framework for Sample-based Graphics Huamin Qu, Arie Kaufman To appear in IEEE Transactions on Visualization and Computer Graphics, 2004
- A Framework for Sample-based Rendering with O-buffers Huamin Qu, Arie Kaufman, Ran Shao, Ankush Kumar . IEEE Visualization, 2003
- Image Based Rendering With Stable Frame Rates Huamin Qu, Ming Wan, Jiafa Qin, Arie Kaufman . IEEE Visualization, 2000