Computer Graphics II University of Illinois at Chicago Volume Rendering Presentation for Computer...
-
Upload
britney-charity-francis -
Category
Documents
-
view
219 -
download
0
Transcript of Computer Graphics II University of Illinois at Chicago Volume Rendering Presentation for Computer...
Computer Graphics II University of Illinois at Chicago
Volume Volume RenderingRendering
Presentation for Computer Presentation for Computer Graphics II Graphics II
Prof. Andy JohnsonProf. Andy Johnson
ByByRaj Vikram SinghRaj Vikram Singh
Computer Graphics II University of Illinois at Chicago
MotivationMotivation
Why is it different Why is it different from texture based from texture based modeling modeling techniques.techniques. VRVR GamesGames CAD/CAMCAD/CAM
2D is only skin 2D is only skin deepdeep
Computer Graphics II University of Illinois at Chicago
Motivation (contd.)Motivation (contd.)
Application AreasApplication Areas MedicineMedicine Earth ScienceEarth Science BiologyBiology SimulationsSimulations
Fluid-dynamicsFluid-dynamics Structural physicsStructural physics
Super-realistic Super-realistic games of the future games of the future ????
Computer Graphics II University of Illinois at Chicago
RenderingRendering
Conversion from voxel space to image Conversion from voxel space to image spacespace
Input is typically a structured grid (3D Input is typically a structured grid (3D array)array)
TechniquesTechniques DVR (Direct Volume Rendering)DVR (Direct Volume Rendering) 3D hardware allows geometry based rendering3D hardware allows geometry based rendering
Computer Graphics II University of Illinois at Chicago
Image-order renderingImage-order rendering
Ray casting (or Ray-Ray casting (or Ray-tracing)tracing)
Taking camera Taking camera parameters into parameters into consideration, shoot consideration, shoot rays into the volume.rays into the volume.
Use ray function to Use ray function to determine the final determine the final value of the pixelvalue of the pixel
Do this for every pixel Do this for every pixel in the final image.in the final image.
Computer Graphics II University of Illinois at Chicago
Image-order rendering Image-order rendering (contd.)(contd.)
Ray function Ray function determines the determines the quality of end-resultquality of end-result Maximum valueMaximum value Average valueAverage value Distance to valueDistance to value CompositingCompositing
Computer Graphics II University of Illinois at Chicago
Alpha CompositingAlpha Compositing
Transparency of an Transparency of an object is given by its object is given by its alpha valuealpha value
A 0.3 alpha value means A 0.3 alpha value means that the object is 30 % that the object is 30 % opaqueopaque
Typically would need Typically would need the application of a the application of a transfer function transfer function beforehandbeforehand
Do ray-traversal till the Do ray-traversal till the alpha value becomes 1alpha value becomes 1
Ray
Computer Graphics II University of Illinois at Chicago
Alpha compositing Alpha compositing (contd.)(contd.)
Resample the scalar field at discrete locations along the viewing ray:
Ray
T(s) T(s)
Back-to-front Compositing with
Computer Graphics II University of Illinois at Chicago
Problems with ray Problems with ray traversaltraversal
Choose step size carefullyChoose step size carefully Too small and it requires too much Too small and it requires too much
computationcomputation Too big and you miss important Too big and you miss important
featuresfeatures Trade off between speed and Trade off between speed and
accuracyaccuracy
Step size = 2.0 Step size = 1.0 Step size = 0.1
Computer Graphics II University of Illinois at Chicago
Problems with ray traversal Problems with ray traversal (contd.)(contd.)
Uniform sampling Voxel by voxel traversal
3D scan conversion techniques used to create ray-traversal templates
Speed vs. accuracy.
Computer Graphics II University of Illinois at Chicago
Problems with ray traversal Problems with ray traversal (contd.)(contd.)
With discrete sampling, its possible to miss voxels
Final image will not be accurate One way is to ray-cast from the base
plane and then apply perspective correction.
Computer Graphics II University of Illinois at Chicago
Object order volume Object order volume renderingrendering
Generally supported Generally supported by 3D hardwareby 3D hardware
Voxels are traversed Voxels are traversed from back to front from back to front and for every slice, and for every slice, its projection on the its projection on the view plane is view plane is determined.determined.
Back to front Back to front ordering does not ordering does not need storage for need storage for alpha bitsalpha bits
Computer Graphics II University of Illinois at Chicago
Texture based volume Texture based volume renderingrendering
Supported by commodity 3D graphics Supported by commodity 3D graphics cardscards
Have to download volume to the Have to download volume to the graphics card’s memorygraphics card’s memory
Computer Graphics II University of Illinois at Chicago
Texture based VR Texture based VR (contd.)(contd.)
Axis aligned slicesAxis aligned slices Need good bi–linear Need good bi–linear
interpolation interpolation techniquestechniques
Holds 3 copies of the Holds 3 copies of the data in memorydata in memory
View-port aligned View-port aligned slicesslices
Constant sampling Constant sampling raterate
Computer Graphics II University of Illinois at Chicago
GPU
Bus
Dataset is too large to fitinto local video memory
Subdivide the data into Smaller chunks (bricks)
Bottleneck: Bus-BandwidthBottleneck: Bus-Bandwidth Bad load balancing for GPU and Bus
Load Brick Load Brick
DrawDraw
Time
BrickingBricking
Computer Graphics II University of Illinois at Chicago
The ChallengeThe Challenge A 1024x1024x1024 at A 1024x1024x1024 at
4 Bpv is 4 gigabytes. 4 Bpv is 4 gigabytes. ( Ouch !! )( Ouch !! )
DVR is based on ray-DVR is based on ray-casting and is slowcasting and is slow
3D graphics cards 3D graphics cards have severe have severe limitations on limitations on graphics memory (≤ graphics memory (≤ 256 MB)256 MB) SGIs are too expensive SGIs are too expensive
and deadand dead
Computer Graphics II University of Illinois at Chicago
Supercomputing to the Supercomputing to the rescue ?rescue ?
Software rendering is the only Software rendering is the only immediate practical approachimmediate practical approach
A dense 1 giga-voxel volume takes A dense 1 giga-voxel volume takes approximately 10-12 seconds to approximately 10-12 seconds to render on a 32 processor Pentium render on a 32 processor Pentium Xeon cluster.Xeon cluster.
Rendering practical volumes in real-Rendering practical volumes in real-time at interactive rates is still far time at interactive rates is still far off.off.
Computer Graphics II University of Illinois at Chicago
Cluster / Distributed Cluster / Distributed computingcomputing
Sort-first Sort-first renderingrendering
Sort-last Sort-last renderingrendering
Computer Graphics II University of Illinois at Chicago
Sort last rederingSort last redering
Volume data is split Volume data is split equally amongst equally amongst rendering nodesrendering nodes
Final step requires a Final step requires a more intelligent more intelligent compositing of the compositing of the resultant imageresultant image
Depth compositing ?Depth compositing ?
Computer Graphics II University of Illinois at Chicago
Sort-first renderingSort-first rendering
Final image Final image generation is split generation is split among among participating participating nodes.nodes.
Corresponding Corresponding volume data is volume data is distributed distributed accordinglyaccordingly
E.g. ChromiumE.g. Chromium