Computer Graphics II University of Illinois at Chicago Volume Rendering Presentation for Computer...

21
Computer Graphics II University of Illinois at Chicago Volume Rendering Volume Rendering Presentation for Computer Presentation for Computer Graphics II Graphics II Prof. Andy Johnson Prof. Andy Johnson By By Raj Vikram Singh Raj Vikram Singh

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

Computer Graphics II University of Illinois at Chicago

QUESTIONS ??QUESTIONS ??