1 / 18

Ray-casting in VolumePro™ 1000

Ray-casting in VolumePro™ 1000. Yin Wu, Vishal Bhatia, Hugh Lauer, Larry Seiler. VolumePro™ 1000 Summary. Second generation real-time volume rendering accelerator Ray-casting at 10 9 samples per second Ray-per-pixel image quality Translucent & opaque embedded polygons

rodd
Download Presentation

Ray-casting in VolumePro™ 1000

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ray-casting inVolumePro™ 1000 Yin Wu, Vishal Bhatia, Hugh Lauer,Larry Seiler

  2. VolumePro™ 1000 Summary • Second generation real-time volume rendering accelerator • Ray-casting at 109 samples per second • Ray-per-pixel image quality • Translucent & opaque embedded polygons • 8-, 16-, & 32-bit voxels (up to four fields) • Geometry-based space leaping, early ray termination • …

  3. Shear-Warp Traverse & resample data in memory order. Warp needed for final image. Fast Efficient memory access VolumePro 500 Image Quality 2nd resampling No embedded geometry Full Image order Traverse & resample data in pixel order Image Quality No 2nd resampling Embedded geometry Performance Memory accesses similar to random access. The Challenge in Ray-castingPerformance vs. Image Quality

  4. VolumePro 1000 Ray-casting • Rays through pixels on image plane • Image quality equiv. to full image order • No 2nd resampling

  5. VolumePro 1000 Ray-casting • Rays through pixels on image plane • … • Samples organized in planes parallel to faces of the volume • Traverse & process data in memory order • Maximize memory performance

  6. xy-image order — 2 parts(aka shear-image order) • Voxel processing part • Traverse data slice-by-slice in memory order • Read voxels for each slice of samples • Voxel-oriented processing (e.g., gradient estimation) • Store in on-chip buffers • Sample processing part • Define sample points where rays intersect slices • Traverse & interpolate on-chip buffer in pixel order • Sample-oriented processing • e.g., illumination, filtering, depth testing, compositing • Output to image

  7. VolumePro 1000 ray-casting(Additional optimizations) • Section: rays assoc. with tile of image plane • Minimize on-chip buffer space • All slices of a section processed before next section • Enables early ray termination • Mini-block and stamp organized memory • Burst accesses to 222 voxels or 22 pixels • From VolumePro 500 • Skewed across eight memory channels • Parallel access to 8 adjacent mini-blocks or stamps in any dimension • From VolumePro 500, Cube-4 (SUNY Stony Brook)

  8. Voxelprocessing Voxelprocessing Voxelprocessing Voxelprocessing Sequencer 16-node SIMD processor Sampleprocessing Sample processing Sample processing Sample processing Block Diagram Pipelines 250 MHz Voxels (organized as mini-blocks) PCI bus Interface33-66 MHz control On-chip Slice buffers Memory Interfaceeight channels16-bit DDR SDRAM (266-333 MHz) control Pixels (organized as stamps)

  9. Technical summary • Four 250 MHz pipelines, 109 samples per second • Trilinear interpolations on seven channels • Four colors or voxel fields • Three gradient components • Classification of (up to) four voxel fields • Phong illumination calculation • 25-30 individual visibility tests • Alpha correction, gradient magnitude modulation • Perspective rendering (in Shear-Warp)

  10. What next? • Is 109 samples/second enough? • 1 megapixel at 15 fps  ~66 samples/ray (average) • Not very many, even with aggressive space leaping • Major items yet to be done • Content-based space-leaping • Faster memory, pipelines, and Sequencer • Perspective volume rendering • More programmability

  11. Pretty Pictures

  12. Supplementary Slides

  13. Embedding Surfaces in Volumes • Allows inserting pointers, medical prostheses, or geological data markers into the volume • Also supports arbitrary clipping regions, all in real time • Each ray is cast in multiple segments, between surfaces specified by depth buffers • Surface rendering performed in 3D graphics chip using OpenGL Front clip bounds Trans- lucent surface Opaquebackground

  14. Embedding Surfaces in Volumes • Allows inserting pointers, medical prostheses, or geological data markers into the volume • Also supports arbitrary clipping regions, all in real time • Each ray is cast in multiple segments, between surfaces specified by depth buffers • Surface rendering performed in 3D graphics chip using OpenGL

  15. Embedding Surfaces in Volumes • Allows inserting pointers, medical prostheses, or geological data markers into the volume • Also supports arbitrary clipping regions, all in real time • Each ray is cast in multiple segments, between surfaces specified by depth buffers • Surface rendering performed in 3D graphics chip using OpenGL

  16. Embedding Surfaces in Volumes • Allows inserting pointers, medical prostheses, or geological data markers into the volume • Also supports arbitrary clipping regions, all in real time • Each ray is cast in multiple segments, between surfaces specified by depth buffers • Surface rendering performed in 3D graphics chip using OpenGL

More Related