3D graphics eBook - Course Materials Repository
3D graphics eBook - Course Materials Repository 3D graphics eBook - Course Materials Repository
Volume rendering 241 Optimization techniques The primary goal of optimization is to skip as much of the volume as possible. A typical medical data set can be 1 GB in size. To render that at 30 frame/s requires an extremely fast memory bus. Skipping voxels means that less information needs to be processed. Empty space skipping Often, a volume rendering system will have a system for identifying regions of the volume containing no visible material. This information can be used to avoid rendering these transparent regions. [12] Early ray termination This is a technique used when the volume is rendered in front to back order. For a ray through a pixel, once sufficient dense material has been encountered, further samples will make no significant contribution to the pixel and so may be neglected. Octree and BSP space subdivision The use of hierarchical structures such as octree and BSP-tree could be very helpful for both compression of volume data and speed optimization of volumetric ray casting process. Volume segmentation By sectioning out large portions of the volume that one considers uninteresting before rendering, the amount of calculations that have to be made by ray casting or texture blending can be significantly reduced. This reduction can be as much as from O(n) to O(log n) for n sequentially indexed voxels. Volume segmentation also has significant performance benefits for other ray tracing algorithms. Multiple and adaptive resolution representation By representing less interesting regions of the volume in a coarser resolution, the data input overhead can be reduced. On closer observation, the data in these regions can be populated either by reading from memory or disk, or by interpolation. The coarser resolution volume is resampled to a smaller size in the same way as a 2D mipmap image is created from the original. These smaller volume are also used by themselves while rotating the volume to a new orientation. Pre-integrated volume rendering Pre-integrated volume rendering [13] [14] is a method that can reduce sampling artifacts by pre-computing much of the required data. It is especially useful in hardware-accelerated applications [15] [16] because it improves quality without a large performance impact. Unlike most other optimizations, this does not skip voxels. Rather it reduces the number of samples needed to accurately display a region of voxels. The idea is to render the intervals between the samples instead of the samples themselves. This technique captures rapidly changing material, for example the transition from muscle to bone with much less computation.
Volume rendering 242 Image-based meshing Image-based meshing is the automated process of creating computer models from 3D image data (such as MRI, CT, Industrial CT or microtomography) for computational analysis and design, e.g. CAD, CFD, and FEA. Temporal reuse of voxels For a complete display view, only one voxel per pixel (the front one) is required to be shown (although more can be used for smoothing the image), if animation is needed, the front voxels to be shown can be cached and their location relative to the camera can be recalculated as it moves. Where display voxels become too far apart to cover all the pixels, new front voxels can be found by ray casting or similar, and where two voxels are in one pixel, the front one can be kept. References [1] Marc Levoy, "Display of Surfaces from Volume Data", IEEE CG&A, May 1988. Archive of Paper (http:/ / graphics. stanford. edu/ papers/ volume-cga88/ ) [2] Drebin, R.A., Carpenter, L., Hanrahan, P., "Volume Rendering", Computer Graphics, SIGGRAPH88. DOI citation link (http:/ / portal. acm. org/ citation. cfm?doid=378456. 378484) [3] Westover, Lee Alan (July, 1991). "SPLATTING: A Parallel, Feed-Dorward Volume Rendering Algorithm" (ftp:/ / ftp. cs. unc. edu/ pub/ publications/ techreports/ 91-029. pdf) (PDF). . Retrieved 5 August 2011. [4] Huang, Jian (Spring 2002). "Splatting" (http:/ / web. eecs. utk. edu/ ~huangj/ CS594S02/ splatting. ppt) (PPT). . Retrieved 5 August 2011. [5] "Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation" (http:/ / graphics. stanford. edu/ papers/ shear/ ) [6] Hibbard W., Santek D., "Interactivity is the key" (http:/ / www. ssec. wisc. edu/ ~billh/ p39-hibbard. pdf), Chapel Hill Workshop on Volume Visualization, University of North Carolina, Chapel Hill, 1989, pp. 39–43. [7] Wallis JW, Miller TR, Lerner CA, Kleerup EC (1989). "Three-dimensional display in nuclear medicine". IEEE Trans Med Imaging 8 (4): 297–303. doi:10.1109/42.41482. PMID 18230529. [8] Wallis JW, Miller TR (1 August 1990). "Volume rendering in three-dimensional display of SPECT images" (http:/ / jnm. snmjournals. org/ cgi/ pmidlookup?view=long& pmid=2384811). J. Nucl. Med. 31 (8): 1421–8. PMID 2384811. . [9] Wallis JW, Miller TR (March 1991). "Three-dimensional display in nuclear medicine and radiology". J Nucl Med. 32 (3): 534–46. PMID 2005466. [10] "LMIP: Local Maximum Intensity Projection: Comparison of Visualization Methods Using Abdominal CT Angiograpy" (http:/ / www. image. med. osaka-u. ac. jp/ member/ yoshi/ lmip_index. html). . [11] Pfister H., Hardenbergh J., Knittel J., Lauer H., Seiler L.: The VolumePro real-time ray-casting system In Proceeding of SIGGRAPH99 DOI (http:/ / doi. acm. org/ 10. 1145/ 311535. 311563) [12] Sherbondy A., Houston M., Napel S.: Fast volume segmentation with simultaneous visualization using programmable graphics hardware. In Proceedings of IEEE Visualization (2003), pp. 171–176. [13] Max N., Hanrahan P., Crawfis R.: Area and volume coherence for efficient visualization of 3D scalar functions. In Computer Graphics (San Diego Workshop on Volume Visualization, 1990) vol. 24, pp. 27–33. [14] Stein C., Backer B., Max N.: Sorting and hardware assisted rendering for volume visualization. In Symposium on Volume Visualization (1994), pp. 83–90. [15] Engel K., Kraus M., Ertl T.: High-quality pre-integrated volume rendering using hardware-accelerated pixel shading. In Proceedings of Eurographics/SIGGRAPH Workshop on Graphics Hardware (2001), pp. 9–16. [16] Lum E., Wilson B., Ma K.: High-Quality Lighting and Efficient Pre-Integration for Volume Rendering. In Eurographics/IEEE Symposium on Visualization 2004. Bibliography 1. Barthold Lichtenbelt, Randy Crane, Shaz Naqvi, Introduction to Volume Rendering (Hewlett-Packard Professional Books), Hewlett-Packard Company 1998. 2. Peng H., Ruan, Z, Long, F, Simpson, JH, Myers, EW: V3D enables real-time 3D visualization and quantitative analysis of large-scale biological image data sets. Nature Biotechnology, 2010 (DOI: 10.1038/nbt.1612) Volume Rendering of large high-dimensional image data (http:/ / www. nature. com/ nbt/ journal/ vaop/ ncurrent/ full/ nbt. 1612. html).
- Page 195 and 196: Specular highlight 190 Specular hig
- Page 197 and 198: Specular highlight 192 normalized o
- Page 199 and 200: Sphere mapping 194 Sphere mapping I
- Page 201 and 202: Stencil codes 196 Stencil codes Ste
- Page 203 and 204: Stencil codes 198 Stencils The shap
- Page 205 and 206: Stencil codes 200 [7] Wellein, G et
- Page 207 and 208: Subdivision surface 202 used a four
- Page 209 and 210: Subsurface scattering 204 Subsurfac
- Page 211 and 212: Subsurface scattering 206 External
- Page 213 and 214: Surface normal 208 If a (possibly n
- Page 215 and 216: Surface normal 210 Normal in geomet
- Page 217 and 218: Texture filtering 212 Texture filte
- Page 219 and 220: Texture mapping 214 Texture mapping
- Page 221 and 222: Texture mapping 216 constant distan
- Page 223 and 224: Texture synthesis 218 • Structure
- Page 225 and 226: Texture synthesis 220 Pattern-based
- Page 227 and 228: Texture synthesis 222 • Micro-tex
- Page 229 and 230: UV mapping 224 A UV map can either
- Page 231 and 232: Vertex 226 Polytope vertices are re
- Page 233 and 234: Vertex Buffer Object 228 //Make the
- Page 235 and 236: Vertex Buffer Object 230 GLuint sha
- Page 237 and 238: Vertex Buffer Object 232 vertexes *
- Page 239 and 240: Virtual actor 234 Virtual actor A v
- Page 241 and 242: Virtual actor 236 exercises, and ev
- Page 243 and 244: Volume rendering 238 Volume ray cas
- Page 245: Volume rendering 240 Maximum intens
- Page 249 and 250: Volumetric lighting 244 References
- Page 251 and 252: Voxel 246 • Outcast, a game made
- Page 253 and 254: Z-buffering 248 Z-buffering In comp
- Page 255 and 256: Z-buffering 250 } } display COLOR a
- Page 257 and 258: Z-fighting 252 Z-fighting Z-fightin
- Page 259 and 260: Appendix 3D computer graphics softw
- Page 261 and 262: 3D computer graphics software 256
- Page 263 and 264: 3D computer graphics software 258
- Page 265 and 266: 3D computer graphics software 260 2
- Page 267 and 268: Article Sources and Contributors 26
- Page 269 and 270: Article Sources and Contributors 26
- Page 271 and 272: Image Sources, Licenses and Contrib
- Page 273 and 274: Image Sources, Licenses and Contrib
Volume rendering 241<br />
Optimization techniques<br />
The primary goal of optimization is to skip as much of the volume as possible. A typical medical data set can be 1<br />
GB in size. To render that at 30 frame/s requires an extremely fast memory bus. Skipping voxels means that less<br />
information needs to be processed.<br />
Empty space skipping<br />
Often, a volume rendering system will have a system for identifying regions of the volume containing no visible<br />
material. This information can be used to avoid rendering these transparent regions. [12]<br />
Early ray termination<br />
This is a technique used when the volume is rendered in front to back order. For a ray through a pixel, once<br />
sufficient dense material has been encountered, further samples will make no significant contribution to the pixel and<br />
so may be neglected.<br />
Octree and BSP space subdivision<br />
The use of hierarchical structures such as octree and BSP-tree could be very helpful for both compression of volume<br />
data and speed optimization of volumetric ray casting process.<br />
Volume segmentation<br />
By sectioning out large portions of the volume that one considers uninteresting before rendering, the amount of<br />
calculations that have to be made by ray casting or texture blending can be significantly reduced. This reduction can<br />
be as much as from O(n) to O(log n) for n sequentially indexed voxels. Volume segmentation also has significant<br />
performance benefits for other ray tracing algorithms.<br />
Multiple and adaptive resolution representation<br />
By representing less interesting regions of the volume in a coarser resolution, the data input overhead can be<br />
reduced. On closer observation, the data in these regions can be populated either by reading from memory or disk, or<br />
by interpolation. The coarser resolution volume is resampled to a smaller size in the same way as a 2D mipmap<br />
image is created from the original. These smaller volume are also used by themselves while rotating the volume to a<br />
new orientation.<br />
Pre-integrated volume rendering<br />
Pre-integrated volume rendering [13] [14] is a method that can reduce sampling artifacts by pre-computing much of the<br />
required data. It is especially useful in hardware-accelerated applications [15] [16] because it improves quality without<br />
a large performance impact. Unlike most other optimizations, this does not skip voxels. Rather it reduces the number<br />
of samples needed to accurately display a region of voxels. The idea is to render the intervals between the samples<br />
instead of the samples themselves. This technique captures rapidly changing material, for example the transition<br />
from muscle to bone with much less computation.