Topics in Computer Graphics
1
Goals of Computer Graphics
To use computer and mathematical techniques to build a virtual, real-like 3D world, animated by time changes, inside the computer
To study techniques that can render the virtual 3D world to real-like 2D images and movies
2
Movie Industry Applications
Different kinds of “CG” movies
Type I: Created entirely Using CG
e.g. ”Fozen 2”
Type 2: Real people + CG characters
e.g. “District 9”
Type 3: CG Movie + Real People
e.g. “Space Battleship Yamato”
Type 4: Conventional movie with CG special effects
e.g. “Initial D” (production documentary)
Type 5: “3D Movies”
e.g. “Avatar”
3
Game Industry Applications
Mobile phone games (i-phone apps, android …)
Playstation (PS, Nintendo, Sega …)
PC Single Person games (Single player and multiple player)
Hand held games
Web games
Motion control games …
4
Advertising Industry Applications
Commercials in TV e.g. TVB Jade
animations in web page
e.g. South China Morning Post
5
Design Industry Applications
Computer Aided Design (CAD)
6
Virtual Reality Industry Application
VR creates an immersive environment such that the user has the false but real sensation of being in an artificially created world
Applications in games, medical therapy, visualization, design, surgery practice, teaching, …
7
Other less well known Applications
Visualization
Visualize mathematical problems
Riemann Hypothesis
UNCRACKABLE? The Collatz Conjecture
Goldbach’s Conjecture
8
Complex networks
Worldwide air transportation network
9
A global genetic interaction network maps a wiring diagram of cellular function
10
Training
flight simulator
car simulator
spaceship cabin simulator …
11
Education
animated story
book
animated presentation
Electronic books for children
12
Computer Art new type of
painting
New type of art form
…
“Butterfly 6228” Author: Human and Computer
13
Full-body anime generation with Generative Adversarial Nets (GAN)
14
Converting movie to cartoon and vice
versa
Movie to cartoon Cartoon to movie
key frames
Add several intermediate frames in between each key frame by interpolation
H2 CG movie
Comic H2
15
CG in Hong Kong
CG forum http://www.cgvisual.com/forum/index.php
16
Course Aim
The aim of this course is to provide students with an understanding of the basic principles, concepts, and techniques of computer graphics from an engineering viewpoint.
17
CILOS
(CILO1) Apply 3D object representation techniques to build up a graphics scene
(CILO2) Model and view articulated objects by hierarchical structuring techniques and coordinate transform
(CILO3) Apply lighting, shading and rasterization techniques to create a 2D image
(CILO4) Apply texture mapping and animation techniques to create a movie
(CILO5) Apply and evaluate advanced graphics techniques
(CILO6) Create an animation or a game using computer graphics
18
Course Content
Viewing & Projection Transform
Lighting
& Rasterization
Object Representation
Modeling Transform
Animation
Sample of Advanced Techniques
19
Object Representation (CILO1)
Lecture 2
How to construct simple objects such as spheres, cones, boxes …
20
Modeling Transform (CILO2)
Lecture 3
how to move the simple objects around, rotate them, scale them, reflect them, …
Lecture 4
introduce the idea of local coordinate system, and how to use the concepts to build a complex coherent moving object by using the hierarchy concept
21
Viewing and Projection Transform (CILO2)
Lecture 5
how to put the camera in a desired configuration within the graphics scene and
how to use different projections to project a 2D image on the camera, and as a result, the different projection effect that can be achieved
22
Lighting and Rasterization (CILO3)
Lecture 7
how to create light sources, shading and colour
Lecture 8
how to eliminate hidden parts
Lecture 9
how to create realistic shadows
23
Animation (CILO4)
Lecture 6
how to animate the images to create a smooth flowing movie
24
Advanced Graphics Techniques (CILO5)
Lecture 10
How to create more realistic graphics by texture mapping
Lecture 11
Sample of advanced techniques
25
OpenGL Mini Project (CILO6)
This course uses the open source de facto industry standard: OpenGL, It is a C/C++ library that allows C programmers to write programs that directly access graphics hardware
The gl and glut libraries
How to learn OpenGL
a) Learn during lecture, tutorial and mini project b) Search the web for the command
c) OpenGL Function Index at the end of the text
26
Other forms of OpenGL
Fixed function OpenGL is taught in this course first as it is the best for beginners. There are other forms of OpenGL
WebGL – OpenGL JAVA version is popular
OpenGL ES is used in iphone
OpenGL shading language (GLSL) is used nowadays
27
Relationship of this course with commercial software
Commercial software e.g. 3D studio
used by game developers, many TV commercial studios
and architectural visualization studios, movie effects etc.
This course gives you the technical knowhow behind the techniques in these software. Thus
You can use them more sensibly
You know the limitations of these software and why
You acquire the background for more advanced state of the art knowledge (e.g. SIGGRAPH is the premier conference in CG)
You can create a new special effect not supported by the software or research your own novel effect
OpenGL is also a popular tool
28
Text Book and References
Text book:
Computer Graphics with OpenGL, Hearn and Baker, 4th Ed. (2011)
Pearson (ISBN 10: 0-13-248457-9)
Course Reserve has four copies. To access Course Reserve, go to CityU Library and select “Course Reserve”
Course Reserve also has other useful supplementary reference material.
29
Assessment and Schedule
30
Coursework Components (50%)
Time
Item
Scope
Percentage
Tests
Wk 6 (24 Feb.)
Test 1
everything taught in Wk 1- 5
15%
Wk 11 (31 Mar.)
Test 2
everything taught in Wk 6 -10
15%
Assignments
Wk 13 (21 Apr.)
Mini-Project
12.5%
Other Assignments (at least 2)
5%
Wk 8 (10 Mar.)
Mini-Project Progress
2.5%
31
Guideline for mitigation request
Departmental guideline: “For course assessment work with weighting less than 20% such as short quiz, test, etc., make- up assessment will not be provided to students. The students will score “0” for the assessment work concerned.”
According to this guideline, no make up assessment will be provided
32
Mini-project progress
Hand in mini-project progress with Realistic hierarchical structures
Realistic animation
See mini project for the format
No need to hand in report this time
Hand in through Canvas. It will be opened for hand in
33
Grade distribution 19/20
34
If you have questions
Please email me your questions during the week.
We can also chat using Zoom. Please let me know when you would be available.
35
Teaching Assistant
Ms. LIU Wenwen
Office: FYW2386 Tel: 3442 9845 Email: wenwen.liu@my.cityu.edu.hk
Please email/phone to book an appointment
36
Mathematical Background
You should have the mathematical background below:
3D coordinate systems in Euclidean coordinates and polar
coordinates
Basic matrix and vector arithmetic
Calculation of determinant
Scalar (dot) product: how to calculate and its physical meanings
Vector (cross) product: how to calculate and its physical meanings
Concepts of partial derivatives
Please consult any standard text in Linear Algebra
37
Non-standard mathematical notation used
|N| is normally used to denote the magnitude of vector N and is a scalar. In this course, |N| is sometimes also used to denote “normalize the vector N to a unit vector”
e.g. The light source is at (3, 3, 3) and the surface point is at (0, 0, 0). The unit lighting vector
111 𝐿𝐿=3,3,3−(0,0,0)= ,,
333
38