![Page 1: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/1.jpg)
© Torsten Möller
Introduction toComputer Graphics
Torsten MöllerTASC 8021
www.cs.sfu.ca/~torsten
![Page 2: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/2.jpg)
© Torsten Möller
Today
• What is computer graphics?• Contents of this course• Syllabus
• Overview of course topics
![Page 3: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/3.jpg)
© Torsten Möller
What Is Computer Graphics?
• Using a computer as a rendering tool for the generation (from models) and manipulation of images is called computer graphics
• More precisely: image synthesis
![Page 4: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/4.jpg)
© Torsten Möller
Goals of Computer Graphics
• Generate synthetic images• Do it in a practical way and scientifically
sound.• In real time?• And make it look easy…
![Page 5: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/5.jpg)
© Torsten Möller
Cmpt 361
![Page 6: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/6.jpg)
© Torsten Möller
Cmpt 461/761
![Page 7: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/7.jpg)
© Torsten Möller
What Is Computer Graphics?
Visibility
Computer Graphics
Animation
Hardware
and System
Architecture
Applications
Design (CAD)Virtual Reality
Human
Computer
Interaction
Visualization
for Science
and Business
Entertainment
Image
Synthesis
Modeling
Viewing
Rendering
Radiosity vs. Ray Tracing
Texture Mapping
Shading & Illumination
Models
![Page 8: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/8.jpg)
© Torsten Möller
Modeling
• How to represent real environments– Geometry: curves, surfaces, volumes– Photometry: light, color, reflectance
• How to build these representations– Interactive: sculpt it– Algorithmic: let it grow (fractals, extraction)– Scanning: via 3D sensing
• Generate primitives– Lines, triangles, quads, patches– Cylinder, spheres– Higher-order primitives
• See CMPT 464 / 461
Computer Graphics
Image
Synthesis
Modeling
Viewing
Rendering
![Page 9: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/9.jpg)
© Torsten Möller
Modeling: Interactive Computer Graphics
Image
Synthesis
Modeling
Viewing
Rendering
![Page 10: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/10.jpg)
© Torsten Möller
Modeling: Scanning
Hardware/Human Points Primitives
Computer Graphics
Image
Synthesis
Modeling
Viewing
Rendering
![Page 11: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/11.jpg)
© Torsten Möller
Scanned 3D Objects
• Size of data sets?• David:
– 480 individually aimed scans– 2 billion polygons– 7,000 color images– 32 gigabytes– 30 nights of scanning– 22 people
Computer Graphics
Image
Synthesis
Modeling
Viewing
Rendering
![Page 12: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/12.jpg)
© Torsten Möller
Scanned 3D Objects
• David’s left eye
Computer Graphics
Image
Synthesis
Modeling
Viewing
Rendering
![Page 13: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/13.jpg)
© Torsten Möller
Out of nowhere - fractals
Modeling: Algorithmic and Procedural
Computer Graphics
Image
Synthesis
Modeling
Viewing
Rendering
![Page 14: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/14.jpg)
© Torsten Möller
Rendering
• What is an image?– Distribution of light energy on 2D “film”
• How do we represent and store images?– Sampled array of “pixels”: p[x,y]
• How do we generate images from scenes?– Input: 3D description of scene, camera– Project to camera’s
viewpoint– Illumination
• See CMPT 461/761
Visibility
Computer Graphics
Image
Synthesis
Modeling
Viewing
Rendering
Radiosity vs. Ray Tracing
Texture Mapping
Shading & Illumination
Models
![Page 15: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/15.jpg)
Computer Graphics
Animation
Hardware
and System
Architecture
ApplicationsImage
Synthesis
© Torsten Möller
Vertex Processing Units (6)
Fragment Shader Units (16)
Raster Operation Units (16)
Hardware
• Example: NVIDIA GeForce 6800
![Page 16: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/16.jpg)
© Torsten Möller
Animation
• Model how things move• Temporal change of
– Objects (position, orientation, size, shape, color, etc.)– Camera (position, direction, angle, focus, etc.)– Illumination (position, direction, color, brightness)
• Represent motion– Sequence of stills– Parameter curves
• See CMPT 466 (Animation)
Computer Graphics
Animation
Hardware
and System
Architecture
ApplicationsImage
Synthesis
![Page 17: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/17.jpg)
© Torsten Möller
Uses Of Graphics
• Special effects• Feature animation • Computer Games• Virtual environments• Visualization
(science, business, cartography, ...)• Design• Interaction• ...
Computer Graphics
Applications
Design (CAD)Virtual Reality
Human
Computer
Interaction
Visualization
for Science
and Business
Entertainment
![Page 18: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/18.jpg)
© Torsten Möller
Interaction
![Page 19: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/19.jpg)
© Torsten Möller
Geometric modeling in 361
• Concentrate on polygonal models for geometry– Start in 2D: points, lines, and polygons– 3D polygonal meshes and subdivision surfaces
• A little bit of parametric curves and surfaces
• OK, we have a geometric model, what now?• Have to display it on the screen – rendering
![Page 20: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/20.jpg)
© Torsten Möller
Rendering in CMPT 361
• Add in viewing information: – Transformation: transform our geometric model
depending on position and orientation of camera– Visibility: determine what can be seen (do not draw
what cannot been seen)• Add in light: illumination and shading• Add in texture: texture mapping• Add in color: some coverage on color models/
representations
![Page 21: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/21.jpg)
Hardware
© Torsten Möller
Modelling Transform Visibility
Illumination +Shading
ColorPerception,Interaction
Texture/Realism
Graphics Pipeline
CMPT 361
![Page 22: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/22.jpg)
© Torsten Möller
Topics of CMPT 361 (1)
• Image formation and two fundamental graphics algorithm used for image formation
• Graphics architectures• Programming basics using OpenGL – the graphics
library we use• 2D raster graphics – scan conversion
(rasterization) of simple primitives (lines, circles, polygons) and clipping
• 2D and 3D geometric transformations – rotation, translation, use of homogenous coordinates, etc.
![Page 23: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/23.jpg)
© Torsten Möller
Topics of CMPT 361 (2)
• 3D viewing – transformations, hidden surface removal, clipping, etc.
• Illumination and shading – local models, global models, color models, texture mapping
• Curves and surfaces• Polygonal meshes and subdivision surfaces• Sampling issues and antialiasing
![Page 24: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/24.jpg)
© Torsten Möller
The Quest for Visual Realism
![Page 25: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/25.jpg)
© Torsten Möller
Syllabus
See Web Page
![Page 26: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/26.jpg)
© Torsten Möller
What Is It I Expect?
• Good programming background– C/C++– Preferably some previous OpenGL exposure
• Good Unix exposure– Make files, etc.
• Basic computer science– Data structures, algorithms
• Basic math– Numerical integration– Linear algebra, systems of linear equations– Vectors, matrices
• Keeping up with the text(s) is very important
![Page 27: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/27.jpg)
© Torsten Möller
I Am Not Going To ...
• Teach C/C++• Teach data structures• Teach linear algebra and basic numerical
methods• Questions about C/C++ are low priority• Lab procedures are your responsibility
![Page 28: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/28.jpg)
© Torsten Möller
Other Courses at CMPT
• CMPT 461/761 – Image Synthesis• CMPT 464/764 – Geometric Modeling• CMPT 467/767 – Visualization • CMPT 466 – Animation
• CMPT 363/773 – User Interface Design• CMPT 365/820 – Multimedia Systems• CMPT 412, 414, 821, 822 – Computer/
Computational Vision• CMPT 406/813 – Computational Geometry
![Page 29: Introduction to Computer Graphics - Computing Science - Simon](https://reader036.vdocuments.mx/reader036/viewer/2022071602/613d7223736caf36b75d6c4f/html5/thumbnails/29.jpg)
© Torsten Möller
Other Courses at SFU
• Cmpt 340 – Biomedical Computing• Cmpt 468/768 - Computer Music• Cmpt 419/726 - Machine Learning• Ensc 489/889 – Computer Aided Design,
3D object modeling• Ensc 424 – Multimedia Communications
Eng.; Image/Video Coding• Ensc 429 – Signal Processing