In this paper, we present efficient, high-quality volume rendering techniques for large volume datasets using graphics processing units (CPUs). We employ the 3D texture mapping capability commonly available in modern CPUs as a core rendering engine and take advantage of combinations of HW-supported occlusion queries, stencil tests and programmable shaders to accelerate the whole rendering process. As a preprocessing step, we subdivide the entire volume data-set into a union of subvolumes of a uniform size. For each subvolume, we also create z filtered visible subvolumes (FVS). The FVS is defined as a set of subvolumes that contain the visible voxels. Before executing an interactive rendering loop, using FVS, we find the boundary subvolumes that are closest to the bounding planes enclosing the entire volume data, and pre-fetch them from main memory to texture memory as they are likely to be rendered regardless of the change of a viewpoint. Then, by rendering the boundary subvolumes onto stencil buffer, we create an initial occlusion map. At runtime, as we render each subvolume, the occlusion map is updated accordingly. Moreover, using the occlusion map, we issue a series of HW-supported occlusion queries to cull away occluded subvolumes and also perform an early ray termination based on the stencil test. We have implemented the volume rendering algorithm and, for a large volume data of 512 × 512 × 1024 dimensions, we achieve real-time performance (i.e., 2~3 FPS) on a Pentium IV 2.8 GHz PC equipped with ATI 9800Pro graphics card with 256MB video memory and 256MB AGP memory without any loss of image quality.
|Number of pages||12|
|Journal||Lecture Notes in Computer Science|
|State||Published - 2005|
|Event||Third Asian Simulation Conference, Asiasim 2004 - Jeju Island, Korea, Republic of|
Duration: 4 Oct 2004 → 6 Oct 2004