Visualization and 3D Graphics - McMaster Universityguanw/course/vis3D.pdf · Overview Goal:...
Transcript of Visualization and 3D Graphics - McMaster Universityguanw/course/vis3D.pdf · Overview Goal:...
RHPCS, ABB 131-GRHPCS, ABB 131-GEmail: [email protected]: [email protected]: 905-525-9140 x 22540Phone: 905-525-9140 x 22540
Visualization and 3D Visualization and 3D GraphicsGraphics
Weiguang GuanWeiguang Guan
OutlineOutline
■ OverviewOverview■ Introduction to 3D graphics and Introduction to 3D graphics and
visualizationvisualization■ OpenGLOpenGL■ VTK (Visualization Toolkit)VTK (Visualization Toolkit)
OverviewOverview
■ Goal: Knowledge and skill to Goal: Knowledge and skill to visualize research data of various visualize research data of various formsforms
■ Content: 3D graphics programing Content: 3D graphics programing usingusing◆ OpenGL (low-level graphics library)OpenGL (low-level graphics library)◆ VTK (Higher-level graphics library)VTK (Higher-level graphics library)
■ Preliminary knowledgePreliminary knowledge◆ C/C++,C/C++, tcl/tk tcl/tk ◆ Basics of computer graphicsBasics of computer graphics
✦ 3D transformation 3D transformation ✦ Illumination modelIllumination model
OverviewOverview
■ Web resourcesWeb resources◆ www.opengl.orgwww.opengl.org◆ www.vtk.orgwww.vtk.org◆ www.cmake.orgwww.cmake.org
■ BooksBooks◆ Computer Graphics, Principles and Computer Graphics, Principles and
Practice, Second Edition, James D. Practice, Second Edition, James D. Foley, et al, Addison Wesley, 1990.Foley, et al, Addison Wesley, 1990.
◆ The OpenGL Programming Guide - The The OpenGL Programming Guide - The Redbook, fifth editionRedbook, fifth edition..
OverviewOverview
◆ The OpenGL Reference Manual - The The OpenGL Reference Manual - The Bluebook, fourth editionBluebook, fourth edition
◆ The Visualization Toolkit: An Object-The Visualization Toolkit: An Object-oriented Approach to 3D Graphics, 3rd oriented Approach to 3D Graphics, 3rd edition.edition.
◆ The Visualization Toolkit User’s GuideThe Visualization Toolkit User’s Guide
■ Schedule (6wk x 3) = 18 hoursSchedule (6wk x 3) = 18 hours◆ OpenGL (3wk x 3 = 9 hours)OpenGL (3wk x 3 = 9 hours)◆ VTK (3wk x 3 = 9 hours)VTK (3wk x 3 = 9 hours)◆ Lecture-to-lab ratio 1:4Lecture-to-lab ratio 1:4◆ 6 projects (60%) + final exam (40%)6 projects (60%) + final exam (40%)
RHPCS, ABB 131-GRHPCS, ABB 131-GEmail: [email protected]: [email protected]: 905-525-9140 x 22540Phone: 905-525-9140 x 22540
Introduction to 3D Graphics and Introduction to 3D Graphics and VisualizationVisualization
Weiguang GuanWeiguang Guan
OutlineOutline
■ Examples of visualization/3D Examples of visualization/3D graphicsgraphics
■ 3D graphics primer 3D graphics primer ■ Visualization primerVisualization primer
Examples of visualization/3D Examples of visualization/3D graphicsgraphics
Wirefram
e
Examples of visualization/3D Examples of visualization/3D graphicsgraphics
Shaded S
urfaces
Examples of visualization/3D Examples of visualization/3D graphicsgraphics
Shaded S
urfaces with T
exture mapped
Examples of visualization/3D Examples of visualization/3D graphicsgraphics
Fogging effect
Examples of visualization/3D Examples of visualization/3D graphicsgraphics
Volum
e rendering (density volume)
Examples of visualization/3D Examples of visualization/3D graphicsgraphics
Volum
e rendering (3D m
edical images)
3D Graphics Primer3D Graphics Primer
■ What is computer graphicsWhat is computer graphicstransforms graphics primitives (points, lines, transforms graphics primitives (points, lines,
polygons, etc) into pictures or animationspolygons, etc) into pictures or animations
■ Essentials in 3D graphicsEssentials in 3D graphics
3D Graphics Primer3D Graphics Primer
◆ 3D scene (composed of objects)3D scene (composed of objects)✦ Geometric shape/location/orientationGeometric shape/location/orientation✦ Surface material properties (ambient, diffuse, Surface material properties (ambient, diffuse,
specular, shininess, emission)specular, shininess, emission)
◆ Lights (one or more)Lights (one or more)✦ Point light sourcePoint light source (position, ambient, diffuse, (position, ambient, diffuse,
specular, etc)specular, etc)✦ Spot light source (+ spot direction, spot cut-off, Spot light source (+ spot direction, spot cut-off,
etc)etc)✦ Parallel light sourceParallel light source (distant point light source) (distant point light source)✦ Ambient lightAmbient light (contained in point/spot light (contained in point/spot light
sources)sources)
◆ ViewerViewer✦ Position Position ✦ Orientation Orientation ✦ Upward directionUpward direction
3D Graphics Primer3D Graphics Primer
■ 3D transformation3D transformation◆ ScalingScaling
[x’, y’, z’][x’, y’, z’]tt = s [x, y, z] = s [x, y, z]tt
◆ RotationRotation[x’, y’, z’][x’, y’, z’]tt = R = R3x33x3 [x, y, z] [x, y, z]tt
where Rwhere R3x33x3 is an orthogonal matrix. is an orthogonal matrix.
◆ TranslationTranslation[x’, y’, z’][x’, y’, z’]tt = [x, y, z] = [x, y, z]tt + [dx, dy, dz] + [dx, dy, dz]tt
3D Graphics Primer3D Graphics Primer
◆ Homogeneous coordinatesHomogeneous coordinates[x, y, z][x, y, z]tt [x, y, z, 1] [x, y, z, 1]tt [wx, wy, wz, w] [wx, wy, wz, w]tt
◆ Unified transformation Unified transformation [w’x’, w’y’, w’z’, w’][w’x’, w’y’, w’z’, w’]tt = M = M4x44x4
[wx, wy, wz, w][wx, wy, wz, w]tt
11000000
00ss0000
0000ss00
000000ss✦ ScalingScaling
MMSS = =
✦ TranslationTranslation
MMTT = =
✦ RotationRotation
MMRR = =
11000000
00iihhgg
00ffeedd
00ccbbaa
11000000
dzdz110000
dydy001100
dxdx000011
3D Graphics Primer3D Graphics Primer
◆ Transformation combinationTransformation combinationOrder of transformations mattersOrder of transformations matters
Rotation Rotation Translation Translation Translation Translation RotationRotation
MM = = MMT T MMR R MM = = MMR R MMT T
3D Graphics Primer3D Graphics Primer
■ Illumination model Illumination model (Phong’s)(Phong’s)
RRcc = R = Racac + R + Rdcdc + R + Rscsc + + EEcc
where where c =r, g, bc =r, g, b
a: ambienta: ambient
d: diffused: diffuse
s: speculars: specular
R: reflected lightR: reflected light
E: Emitted lightE: Emitted light
αβ
sin sin ββ----ββcos cos ααcos cos αα--ααRRscscRRdcdcRRacac
3D Graphics Primer3D Graphics Primer
■ Camera ModelCamera Model◆ Eye Coordinate Eye Coordinate
systemsystem✦ PositionPosition✦ OrientationOrientation✦ Upward directionUpward direction
◆ FrustumFrustum✦ Left/Right clipping Left/Right clipping
planesplanes✦ Bottom/Top Bottom/Top
clipping planesclipping planes✦ Near/Far clipping Near/Far clipping
planesplanes
3D Graphics Primer3D Graphics Primer
■ RenderingRendering◆ Positioning objects in 3D spacePositioning objects in 3D space◆ ClippingClipping◆ Mapping onto viewportMapping onto viewport◆ Rasterization and anti-aliasingRasterization and anti-aliasing
3D Graphics Primer3D Graphics Primer
■ FramebufferFramebuffer◆ Color buffer (single or double)Color buffer (single or double)◆ Depth buffer (or z-buffer)Depth buffer (or z-buffer)
0000000000000000
0000000000000000
1111111111111111
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
1111111111111111
1111111111111111
1111111111111111
1111111111111111
0000000000000000
0000000000000000
0000000000000000
Red, Green, Blue
2222222222222222
2222222222222222
4444444444444444
5555555555555555
5555555555555555
Depth
Visualization PrimerVisualization Primer
■ What is visualizationWhat is visualizationtransforms data into graphical primitivestransforms data into graphical primitives
■ Why visualizationWhy visualizationTo perceive and understand structures To perceive and understand structures
contained in datacontained in data
■ TerminologyTerminology◆ Data visualizationData visualization◆ Scientific visualizationScientific visualization◆ Information visualizationInformation visualization
Visualization PrimerVisualization Primer
■ Multi-disciplinary fieldMulti-disciplinary field◆ Computer graphics Computer graphics
Geometric description Geometric description rendered images rendered images
◆ ImagingImagingReal world Real world samplings of curtain properties, samplings of curtain properties,
e.g., absorption of x-ray in CT imaging, e.g., absorption of x-ray in CT imaging, proton density in MRI, velocity, momentum, proton density in MRI, velocity, momentum, photo-radioactivity, etcphoto-radioactivity, etc
◆ Computer visionComputer visionImages (photos) Images (photos) Geometric description Geometric description
Visualization PrimerVisualization Primer
■ Data to be visualizedData to be visualized◆ Geometric dataGeometric data
Point, line, curve, polygon, curved surfacePoint, line, curve, polygon, curved surface
◆ Discrete sampled data from device or Discrete sampled data from device or simulationsimulation✦ Dimensionality: 1D, 2D, Dimensionality: 1D, 2D, 3D3D + time + time✦ Sampling topology: Sampling topology: structuredstructured/unstructured/unstructured✦ Sampling geometry: Sampling geometry: regularregular, rectilinear, , rectilinear,
curvilinearcurvilinear✦ Number of quantities: Number of quantities: scalarscalar (1), vector (1), vector
(>1), tensor (9) (>1), tensor (9)
Visualization PrimerVisualization Primer
■ Volume visualization --- visualization Volume visualization --- visualization of 3D array of data of 3D array of data ◆ Volume rendering: volume viewed as Volume rendering: volume viewed as
translucent gel that emits and occludes translucent gel that emits and occludes lights.lights.✦ Internal structures are displayedInternal structures are displayed✦ Difficult to understandDifficult to understand
◆ Surface rendering: extract surfaces Surface rendering: extract surfaces from volume, then apply traditional from volume, then apply traditional computer graphics technique to display computer graphics technique to display them.them.✦ Only surfaces are displayedOnly surfaces are displayed✦ Easy to understandEasy to understand
Visualization PrimerVisualization Primer
■ Volumetric data Volumetric data Geometric data Geometric dataIso-surfacing algorithm that extracts Iso-surfacing algorithm that extracts
surface in a volume defined by an iso-surface in a volume defined by an iso-valuevalue
■ Geometric data Geometric data Volumetric data Volumetric dataVoxelization, a process to discretize a Voxelization, a process to discretize a
geometric description.geometric description.
The End ofThe End of
Introduction to 3D Graphics Introduction to 3D Graphics and Visualizationand Visualization