SlideShare a Scribd company logo
SER332
Introduction to Graphics and
Game Development
Lecture 26:
Final Review
Javier Gonzalez-Sanchez
javiergs@asu.edu
PERALTA 230U
Office Hours: By appointment
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 1
Disclaimer
These slides provide examples of common questions
They are NOT comprehensive
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 2
Viewports
• Divide the screen in two vertical view ports
• Or, add a second viewport to show the score of a
game
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 3
OpenGL
• Write a short programming segment that draws the
triangle fan shown below.
• You do not have to worry about setting projections,
opening windows, setting the camera,
transformations, …. Just the code to draw the
triangle fan. Make sure triangles are in
counterclockwise order
(0,1)
(-3,3)
(-1,5)
(1,4)
(3,2)
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 4
OpenGL
glLoadIdentiy();
glTranslatef(10, 0, 0);
glRotatef(45, 0, 0, 1);
// draw a square from 0,0 to 10,10.
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 5
Vector Programming
• Given the arrays
vec3f vertices[NUM_VERTICES]; // float
vec3i indices[NUM_TRIANGLES]; // integer
• Write a procedure that returns the per-vertex
normal vector for a vertex with number index
vec3 computeVertexNormal(int index) {
}
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 6
Vector Programming
• Given the arrays
vec3f vertices[NUM_VERTICES]; // float
vec3i indices[NUM_TRIANGLES]; // integer
• Write a procedure that returns the per-face normal
vector for a face with number index
vec3 computeFaceNormal(int index) {
}
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 7
Mesh Data Structure
Define a mesh data structure able to store:
• vertex/faces,
• normals per face, and
• texture coordinates.
You worked with one like this in your project 4.
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 8
Mesh Data Structure
• Store values in the mesh data structure to define a
right-angled triangle at coordinates [0, 0, 0]. Legs
are aligned to axis X and Y, respectively. Its length is
50.
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 9
Textures
• Given the BMP image shown below. Store values in
the mesh data structure to apply a texture to the
triangle defined above and make it looks like shown
in the second image below
BMP file Model
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 10
Textures
Create a display list for a cylinder using triangles with a
texture as done in the previous question.
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 11
Materials
• Write the code to create a triangle that has the
highest emissive values. It should be the brightest
object in any scenario.
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 12
Materials
• Write the code to create a triangle and apply
Emerald material
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 13
Materials
a) Is the shininess value for chrome greater than or
lower than rubber? __________________
b) Are the diffuse constants for pearls greater than or
lower than plastic (black)? __________
c) Are the specular constants for metals greater than
or lower than pearl? ________________
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 14
Procedural Textures
Which of the next equations is useful for (a) clouds, (b) marble, (c) fire
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 15
Navigation (Assignment 4)
• Make the camera move autonomously from point
A to point B. Given that the method scenario()
return a display list with the four buildings described
below. Buildings are 100x100x100 units
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 16
Display List
Create a display list for: spaceship, ufo, asteroid
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 17
Animation
• Move the spaceship using the keyboard
• Move asteroids randomly
• Move ufo around the screen
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 18
OpenGL
• What does OpenGL stand for?
• What does GLU stand for?
• What does GLUT stand for?
• Give three OpenGL commands as example?
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 19
Hardware
Define the following terms:
• refresh rate,
• resolution,
• frame buffer,
• pixel,
• aspect ratio,
• depth of the frame buffer
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 20
Lines
• Give an example of a line equation?
• Give a line equation for the line l1. The line l1
contains the points (5,5) and (15,10).
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 21
Linear Algebra
• Given three vertices of a triangle (v1, v2, v3), how
can you compute the normal vector for v2?
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 22
Coordinate Systems
• What is a right handed coordinate system?
• What is a left handed coordinate system?
• What is the difference between a right handed and
a left handed coordinate system?
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 23
Fonts
• Give one advantage and one disadvantage of a
bitmap font.
• Give one advantage and one disadvantage of an
outline font.
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 24
Frame Buffer
1) How many bits does a frame buffer need for:
o 1024 x 768 resolution
o RGB values and alpha values and 8 bit z- buffer
2) How many bytes does a frame buffer need for:
o 1000 x 1000 resolution
o RGBA values
o Double buffering
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 25
OpenGL
• Write the glut command to request a display mode
that has: double buffering and RGBA color values.
• Write the glut command to request a display mode
that has: single buffering and RGB color values
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 26
Projection
• Camera Point (3,4,5)
• Look at Point (6,3,2)
• “up” vector (0,1,0)
Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 27
Matrix
• Add
• Subtract
• Dot Product
• Cross Product
• Multiply
SER332 Introduction to Graphics
Javier Gonzalez-Sanchez
javiergs@asu.edu
Spring 2017
Disclaimer. These slides can only be used as study material for the class SER332 at ASU. They cannot be distributed or used for another purpose.

More Related Content

PDF
Properties of-graphs-2.5
PDF
Functions 1
PPTX
Analyzing the behavior of instagram with graph theories
PDF
IDC 2010 Conference Presentation
DOCX
G6 m3-c-lesson 17-s
PDF
Bsca009
PDF
B.sc animation fifth sem sample paper of studio design and project management
PDF
201707 SER332 Lecture 15
Properties of-graphs-2.5
Functions 1
Analyzing the behavior of instagram with graph theories
IDC 2010 Conference Presentation
G6 m3-c-lesson 17-s
Bsca009
B.sc animation fifth sem sample paper of studio design and project management
201707 SER332 Lecture 15

What's hot (18)

PDF
[論文読み]Interpretable Coun.ng for Visual Ques.on Answering
PDF
Parallel Algorithm for Graph Coloring
PDF
31. solving quadratic cas_touchpad
PDF
Function equations
PDF
201801 CSE240 Lecture 19
PPT
Texture Mapping
PDF
Bresenham Line Drawing Algorithm
PDF
11. constructing an angle touchpad
PPT
Texture mapping
KEY
Population predictor
PDF
cvpr_15_poster_1200dpi
PDF
Akshay Sharma , BCA Third Year
PDF
Continuously Adaptive Mean Shift(CAMSHIFT)
PDF
Oblique drawing
PPTX
MATHS ACTIVITY ON MULTIPLICATION OF DECIMALS
PDF
Pre-Cal 40S March 9, 2009
PDF
Digital Differential Analyzer Line Drawing Algorithm in C
PDF
Math Homework
[論文読み]Interpretable Coun.ng for Visual Ques.on Answering
Parallel Algorithm for Graph Coloring
31. solving quadratic cas_touchpad
Function equations
201801 CSE240 Lecture 19
Texture Mapping
Bresenham Line Drawing Algorithm
11. constructing an angle touchpad
Texture mapping
Population predictor
cvpr_15_poster_1200dpi
Akshay Sharma , BCA Third Year
Continuously Adaptive Mean Shift(CAMSHIFT)
Oblique drawing
MATHS ACTIVITY ON MULTIPLICATION OF DECIMALS
Pre-Cal 40S March 9, 2009
Digital Differential Analyzer Line Drawing Algorithm in C
Math Homework
Ad

Similar to 201707 SER332 Lecture 26 (20)

PDF
201707 SER332 Lecture 12
PDF
201801 SER332 Lecture 02
PDF
201707 SER332 Lecture 05
PDF
D044051622
PDF
201707 SER332 Lecture 07
PDF
201801 SER332 Lecture 03
PDF
201801 CSE240 Lecture 16
PDF
201707 SER332 Lecture10
PDF
201707 SER332 Lecture 13
PDF
201707 SER332 Lecture 14
PPTX
Computer Graphics
PPTX
Beginning direct3d gameprogramming01_thehistoryofdirect3dgraphics_20160407_ji...
DOCX
GSP 215 Enhance teaching/tutorialrank.com
DOCX
GSP 215 Inspiring Innovation/tutorialrank.com
PDF
GSP 215 Effective Communication - tutorialrank.com
PPT
Overview of graphics systems
PDF
OpenGL ES on Android
PPT
Overview of graphics systems.ppt
PDF
Dissecting the Rendering of The Surge
PDF
201707 SER332 Lecture18
201707 SER332 Lecture 12
201801 SER332 Lecture 02
201707 SER332 Lecture 05
D044051622
201707 SER332 Lecture 07
201801 SER332 Lecture 03
201801 CSE240 Lecture 16
201707 SER332 Lecture10
201707 SER332 Lecture 13
201707 SER332 Lecture 14
Computer Graphics
Beginning direct3d gameprogramming01_thehistoryofdirect3dgraphics_20160407_ji...
GSP 215 Enhance teaching/tutorialrank.com
GSP 215 Inspiring Innovation/tutorialrank.com
GSP 215 Effective Communication - tutorialrank.com
Overview of graphics systems
OpenGL ES on Android
Overview of graphics systems.ppt
Dissecting the Rendering of The Surge
201707 SER332 Lecture18
Ad

More from Javier Gonzalez-Sanchez (20)

PDF
201804 SER332 Lecture 01
PDF
201801 SER332 Lecture 04
PDF
201801 CSE240 Lecture 26
PDF
201801 CSE240 Lecture 25
PDF
201801 CSE240 Lecture 24
PDF
201801 CSE240 Lecture 23
PDF
201801 CSE240 Lecture 22
PDF
201801 CSE240 Lecture 21
PDF
201801 CSE240 Lecture 20
PDF
201801 CSE240 Lecture 18
PDF
201801 CSE240 Lecture 17
PDF
201801 CSE240 Lecture 15
PDF
201801 CSE240 Lecture 14
PDF
201801 CSE240 Lecture 13
PDF
201801 CSE240 Lecture 12
PDF
201801 CSE240 Lecture 11
PDF
201801 CSE240 Lecture 10
PDF
201801 CSE240 Lecture 09
PDF
201801 CSE240 Lecture 08
PDF
201801 CSE240 Lecture 07
201804 SER332 Lecture 01
201801 SER332 Lecture 04
201801 CSE240 Lecture 26
201801 CSE240 Lecture 25
201801 CSE240 Lecture 24
201801 CSE240 Lecture 23
201801 CSE240 Lecture 22
201801 CSE240 Lecture 21
201801 CSE240 Lecture 20
201801 CSE240 Lecture 18
201801 CSE240 Lecture 17
201801 CSE240 Lecture 15
201801 CSE240 Lecture 14
201801 CSE240 Lecture 13
201801 CSE240 Lecture 12
201801 CSE240 Lecture 11
201801 CSE240 Lecture 10
201801 CSE240 Lecture 09
201801 CSE240 Lecture 08
201801 CSE240 Lecture 07

Recently uploaded (20)

PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Hybrid model detection and classification of lung cancer
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
OMC Textile Division Presentation 2021.pptx
PPTX
1. Introduction to Computer Programming.pptx
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
A Presentation on Touch Screen Technology
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Chapter 5: Probability Theory and Statistics
1 - Historical Antecedents, Social Consideration.pdf
Group 1 Presentation -Planning and Decision Making .pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
A comparative study of natural language inference in Swahili using monolingua...
Hybrid model detection and classification of lung cancer
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
OMC Textile Division Presentation 2021.pptx
1. Introduction to Computer Programming.pptx
Enhancing emotion recognition model for a student engagement use case through...
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Accuracy of neural networks in brain wave diagnosis of schizophrenia
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Programs and apps: productivity, graphics, security and other tools
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
A Presentation on Touch Screen Technology
Zenith AI: Advanced Artificial Intelligence
Agricultural_Statistics_at_a_Glance_2022_0.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Chapter 5: Probability Theory and Statistics

201707 SER332 Lecture 26

  • 1. SER332 Introduction to Graphics and Game Development Lecture 26: Final Review Javier Gonzalez-Sanchez javiergs@asu.edu PERALTA 230U Office Hours: By appointment
  • 2. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 1 Disclaimer These slides provide examples of common questions They are NOT comprehensive
  • 3. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 2 Viewports • Divide the screen in two vertical view ports • Or, add a second viewport to show the score of a game
  • 4. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 3 OpenGL • Write a short programming segment that draws the triangle fan shown below. • You do not have to worry about setting projections, opening windows, setting the camera, transformations, …. Just the code to draw the triangle fan. Make sure triangles are in counterclockwise order (0,1) (-3,3) (-1,5) (1,4) (3,2)
  • 5. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 4 OpenGL glLoadIdentiy(); glTranslatef(10, 0, 0); glRotatef(45, 0, 0, 1); // draw a square from 0,0 to 10,10.
  • 6. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 5 Vector Programming • Given the arrays vec3f vertices[NUM_VERTICES]; // float vec3i indices[NUM_TRIANGLES]; // integer • Write a procedure that returns the per-vertex normal vector for a vertex with number index vec3 computeVertexNormal(int index) { }
  • 7. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 6 Vector Programming • Given the arrays vec3f vertices[NUM_VERTICES]; // float vec3i indices[NUM_TRIANGLES]; // integer • Write a procedure that returns the per-face normal vector for a face with number index vec3 computeFaceNormal(int index) { }
  • 8. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 7 Mesh Data Structure Define a mesh data structure able to store: • vertex/faces, • normals per face, and • texture coordinates. You worked with one like this in your project 4.
  • 9. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 8 Mesh Data Structure • Store values in the mesh data structure to define a right-angled triangle at coordinates [0, 0, 0]. Legs are aligned to axis X and Y, respectively. Its length is 50.
  • 10. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 9 Textures • Given the BMP image shown below. Store values in the mesh data structure to apply a texture to the triangle defined above and make it looks like shown in the second image below BMP file Model
  • 11. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 10 Textures Create a display list for a cylinder using triangles with a texture as done in the previous question.
  • 12. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 11 Materials • Write the code to create a triangle that has the highest emissive values. It should be the brightest object in any scenario.
  • 13. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 12 Materials • Write the code to create a triangle and apply Emerald material
  • 14. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 13 Materials a) Is the shininess value for chrome greater than or lower than rubber? __________________ b) Are the diffuse constants for pearls greater than or lower than plastic (black)? __________ c) Are the specular constants for metals greater than or lower than pearl? ________________
  • 15. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 14 Procedural Textures Which of the next equations is useful for (a) clouds, (b) marble, (c) fire
  • 16. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 15 Navigation (Assignment 4) • Make the camera move autonomously from point A to point B. Given that the method scenario() return a display list with the four buildings described below. Buildings are 100x100x100 units
  • 17. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 16 Display List Create a display list for: spaceship, ufo, asteroid
  • 18. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 17 Animation • Move the spaceship using the keyboard • Move asteroids randomly • Move ufo around the screen
  • 19. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 18 OpenGL • What does OpenGL stand for? • What does GLU stand for? • What does GLUT stand for? • Give three OpenGL commands as example?
  • 20. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 19 Hardware Define the following terms: • refresh rate, • resolution, • frame buffer, • pixel, • aspect ratio, • depth of the frame buffer
  • 21. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 20 Lines • Give an example of a line equation? • Give a line equation for the line l1. The line l1 contains the points (5,5) and (15,10).
  • 22. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 21 Linear Algebra • Given three vertices of a triangle (v1, v2, v3), how can you compute the normal vector for v2?
  • 23. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 22 Coordinate Systems • What is a right handed coordinate system? • What is a left handed coordinate system? • What is the difference between a right handed and a left handed coordinate system?
  • 24. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 23 Fonts • Give one advantage and one disadvantage of a bitmap font. • Give one advantage and one disadvantage of an outline font.
  • 25. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 24 Frame Buffer 1) How many bits does a frame buffer need for: o 1024 x 768 resolution o RGB values and alpha values and 8 bit z- buffer 2) How many bytes does a frame buffer need for: o 1000 x 1000 resolution o RGBA values o Double buffering
  • 26. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 25 OpenGL • Write the glut command to request a display mode that has: double buffering and RGBA color values. • Write the glut command to request a display mode that has: single buffering and RGB color values
  • 27. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 26 Projection • Camera Point (3,4,5) • Look at Point (6,3,2) • “up” vector (0,1,0)
  • 28. Javier Gonzalez-Sanchez | SER332 | Spring 2017 | 27 Matrix • Add • Subtract • Dot Product • Cross Product • Multiply
  • 29. SER332 Introduction to Graphics Javier Gonzalez-Sanchez javiergs@asu.edu Spring 2017 Disclaimer. These slides can only be used as study material for the class SER332 at ASU. They cannot be distributed or used for another purpose.