IntroductionUse of computers to generate images for
- Visualization (simple data, medical)
- Industrial design (electrical, mechanical)
- Animation (movies and visualization)
- Games
RequiresHow?
- Lots of Math
- Linear Algebra (matrices, vectors: dot products)
- Discrete representations (images)
- A little Physics
- Lighting/Energy Transfer
- Color reflections/refraction
- A whole lot of Computer Science
- Data structures (arrays, dynamics structures)
- Languages
- Map world scene to pixels on the screen (Math).
- Pixels are dependent on many physical properties (Physics).
- Scan line
- Ray Tracing
OpenGL
General purpose, open source, Graphics code:
- Widely used
- Widely available:
(bindings for C, C++, FORTRAN, Java, Python, Ruby, Tcl)- Powerful (lighting and shading built-in)
- Easy to use
Typically interested in rendering volumetric data on a 2D surface (screen).
Requires knowledge of:A considerable amount of code---Software Engineering is important!
- Computer Graphics
- Image Processing
How?
- Voxels (Volume elements)
- Very computationally intensive!
Visualization ToolKit---VTK
Advanced Visual Systems
IBM Visualization Data Explorer (DX)
MPIRE Massively Parallel Interactive Rendering Environment
- The Splatter Image Gallery
The images were generated using Splatter on the Cray T3D (128 processors, 8GB of RAM) and Cray T3E (240 processors, 32GB of RAM) at the San Diego Supercomputer Center.- The Splatter Movie Gallery
The animations were generated using Splatter on a Cray T3D equipped with 128 processors and 8GB of RAM.- Splatter Users Manual
For some perspective, rendering a 512x512x512 data set requires a minimum of 4 bytes per voxel (512MB). The Visible Human Project (VHP) has a CT data set that is 512x512x1873 (1.8GB to render). The VHP also have two cryosection data sets that are 2048x1216x1878 (14 GB) and 2048x1216x5189 (38 GB) in size. To support interactive volume rendering, the entire data set must reside in RAM---waiting for 1.8GB to be read from disk for each image is not an option. The increasing availability of parallel computers with hundreds or thousands of processors provides a viable solution. For instance, the CRAY T3E available at SDSC has 256 processing elements (PEs) with 128MB of RAM per PE (for a total of 32GB).