COMP 371
Computer Graphics
Session 1
Course Overview - Syllabus
Lecture Overview
Administrative Issues
Modeling
Animation
Rendering
About OpenGL Programming
02 ©Computer Graphics Instructors
Course Prerequisites
Courses
COMP 232 or COEN 231
COMP 352 or COEN 352
Very good programming skills in C/C++
Basic Data Structures
COMP 232 or COEN 231
COMP 352 or COEN 352
Geometry
Simple Linear Algebra
06 ©Computer Graphics Instructors
Computer Graphics
Study of Computer Graphics
Capturing (imaging) the world
of interest (real or imaginary) in
a pixel, such that it
appears realistic (when the
world is real),
appears as intended by the
artist (when the world is
imaginary)
Acknowledgement:
Ray traced image using POVRAY
08 ©Computer Graphics Instructors
What is a Pixel?
Usually, a rectangular area on a 2D display
surface with two properties, one fixed and
the other under computer control :
area of the pixel is fixed
color of the pixel is set under program
control
09 ©Computer Graphics Instructors
What is a Pixel?
10 ©Computer Graphics Instructors
Computer Graphics
Important Attributes of the World
(real or Imaginary)?
Two very important and rather complex
attributes:
visual look or appearance due to light reflection,
refraction, occlusion, material, world lighting, …
dynamic behavior due to interaction with other
elements of the world -- movement, collision,
elastic effects, ...
11 ©Computer Graphics Instructors
Computer Graphics
Three Fundamental Tasks
Modelling the world,
Simulating behavior of objects in the world,
Presenting (rendering) the world.
For interactive applications
Interacting with virtual object.
Geometry and Physics are traditional tools
12 ©Computer Graphics Instructors
Computer Graphics
Different Digital Representations of
the World
Digital Images
Segmented Regions
3D Geometric Objects
Symbolic Descriptions
Different branches of Visual Computing
depend on transforming the data amongst
these representations
13 ©Computer Graphics Instructors
Computer Graphics
What is Computer Graphics?
Computer graphics is thus concerned with all
aspects of producing images using a computer:
Modeling - how to represent shape of objects
Animation - how to represent and control motion
Rendering - how to create images of objects
Image Processing - how to manipulate & edit
images
This course will cover the above theoretical
aspects and provide practical training using
OpenGL graphics library
14 ©Computer Graphics Instructors
Computer Graphics
Modeling
How to represent objects
Turn the real into a virtual representation
Describe (approximate) the real world or fictional
objects using mathematics
If the image does not exist in real life, a blueprint
is drawn by an artist
15 ©Computer Graphics Instructors
Computer Graphics
Animation
Control and represent motion of the objects
keyframe - inverse kinematics
performance-based
procedural
physics based [simulation]
16 ©Computer Graphics Instructors
Computer Graphics
Rendering
How to create images of objects
Color
Lighting
Shading
Surface detail (texture)
Reflection, transparency, shadows
Wire-frame Final Render
17 ©Computer Graphics Instructors
Computer Graphics
Image Processing
Various Effects
Scene Completion
example shown later
High Dynamic Range
increase ratio of light to dark
04 ©Computer Graphics Instructors
Computer Graphics
Computer Graphics Goals
1. Create synthetic images which cannot be
distinguished from reality
Autodesk’s Fake or photo Quiz
http://area.autodesk.com/fakeorfoto
19 ©Computer Graphics Instructors
Computer Graphics
Computer Graphics Goals
2. Create a new reality (not necessarily
scientific)
Scene completion using Millions of photos
James Hays, Alexei Efros
Non-photorealistic rendering
Aaron Hertzmann, Denis Zorin
20 ©Computer Graphics Instructors
Computer Graphics
You will learn a lot!
Fundamental concepts of 3D Graphics
Common algorithms used in Graphics
How to write programs using OpenGL
How to deliver a project focused on 3D
Graphics
Many core CG concepts which the industry is
looking for in CS employees!
You do need programming knowledge, in
particular C/C++, to take this course
WARNING: HIGH LOAD COURSE
22 ©Computer Graphics Instructors
Computer Graphics
You will be able to
Write C/C++ and OpenGL applications such as:
computer games and other graphical applications
Take programming jobs for the 3D graphics
and visual domain
23 ©Computer Graphics Instructors
Computer Graphics
Resources
Can run OpenGL on any system
Windows: check graphics card properties for level
of OpenGL supported
Linux: Mesa (software implementation of OpenGL)
Mac: need extensions for 3.1 equivalence
Get GLFW from web
Get GLEW from web
You will have remote access to labs with
OpenGL already installed
24 ©Computer Graphics Instructors
Computer Graphics
After this course
COMP 376 – Intro to Game Development
COMP 476 – Advanced Game Development
COMP 477 – Animation
25 ©Computer Graphics Instructors
Computer Graphics
Slides Acknowledgements
Concordia University
Prof. Thomas Fevens
Prof. A Ben Hamza
Prof. Tiberiu Popa
Prof. Charalambos Poullis
Others
E. Angel, P. Shirley, J. Barbic, R. Barzel, A. van
Dam
26 ©Computer Graphics Instructors
Computer Graphics
Next Lecture
Introduction to Computer Graphics
Graphics pipeline
OpenGL API
Primitives: lines, polygons
Attributes: color
Example
27 ©Computer Graphics Instructors