SlideShare a Scribd company logo
jgs
SER332
Introduction to Graphics and Game
Development
Lecture 01: Course Presentation
Javier Gonzalez-Sanchez
javiergs@asu.edu
PERALTA 230U
Office Hours: By appointment
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 1
jgs
SER332
Introduction to Graphics
Definitions
Rendering
Foundations of graphics
Math concepts
Programming
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 2
jgsTopics
§ Review of foundations
§ Algorithms and Linear Algebra
§ Graphics rendering
§ Transformations
§ Meshes
§ Camera
§ Lightening
§ Materials
§ Animation
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 3
jgsRequired Skills and Goal
§ Programming Skills
C++
OpenGL
Note: programming requires (much) practice
Data Structures: Linked-List (Vector), Stack, Trees*
§ Goal
You have to be able to understand the theory (midterm, final) and
implement the theory in practice (projects).
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 4
jgsGrading
Exams (2) 50%25% + 25%
40%10% + 10% + 10% + 10%Projects
10%10%
Quizzes +
Attendance
100%
A+97
A93
A-89
B+85
B81
B-77
C+73
C69
D65
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 5
jgsTextbook
§ Tomas Akenine-Moller and Eric Haines. Real-Time
Rendering (3rd Edition). AK Peters, Ltd.
§ D. Hearn and M. P. Baker. Computer Graphics with
OpenGL (3rd Edition). Prentice Hall.
§ J. Neider, T. Davis, M. Woo, The OpenGL Programming
Guide, Addison-Wesley
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 6
jgsBlackboard
§ syllabus
§ slides
§ projects
§ announcements
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 7
jgsSlides
§ The slides will be available on blackboard and are intended for your
personal studies
§ You are not allowed to distribute the slides
§ You are still required to read the book for a better and more complete
understanding of the topics in this class
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 8
jgsProjects
§ Four projects are the core of the course
§ It is important that you are able to implement computer graphics algorithms
§ The projects will have a clear specification
§ Approximately, 10 hours of work outside of class per week. If you miss the
class you will need more time.
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 9
jgsExams
§ 1 midterm during the semester (before Spring break)
§ 1 final exam (comprehensive)
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 10
jgsEthics
§ Violations of academic integrity include (but are not limited to) cheating,
fabrication, tampering, plagiarism or facilitating such activities.
§ it is unethical to bring to your instructor's attention the possible impact of
your course grade on your future plans, including graduation, scholarships,
jobs, etc.
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 11
jgsAttendance
§ Attendance is required
§ Announcements are made in class
§ I will try to post all important information on Blackboard
§ If you come to class you are expected to participate
jgs
Test Yourself
The following slides should give you some idea about topics, difficulty
and requirements are to be successful
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 13
jgsDesign an Algorithm
§ You have a screen, size 100 x 100.
lower left corner (0,0)
upper right is (100, 100).
§ The function PutPixel(x, y) will draw a pixel on location (x,y).
§ Give a pseudo-code algorithm to draw a circle with center (50,50) and
radius 10.
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 14
jgsProposed Algorithm
clearScreen();
i = 0;
while (i < 360)
PutPixel( 50 + 10*sin(i), 50 + 10*cos(i) )
i = i + 1
§ Is this a good algorithm?
§ What are some of the problems?
§ How could the algorithm be improved
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 15
jgsMatrix Multiplication
§ Calculate this,
2 0 0
0 3 0
1 0 1
∗
1
2
3
=
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 16
jgsMatrix Multiplication
§ Calculate this,
2 0 0
0 3 0
1 0 1
∗
1
2
3
=
2
6
4
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 17
jgsGeometry
§ Given a line 7x + 3y = 0
§ How can you test if a point is on the left or right side of the line?
§ Can you draw the line on a piece of paper?
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 18
jgsProgramming
void init (void) {
//set display-window color to white.
glClearColor(1.0, 1.0, 1.0, 0.0);
// Set projection parameters.
glMatrixMode (GL_PROJECTION);
gluOrtho2D (0.0, 200.0, 0.0, 150.0);
}
void lineSegment (void) {
// Clear display window.
glClear (GL_COLOR_BUFFER_BIT);
// Set line segment color to red.
glColor3f (0.0, 0.0, 1.0);
glBegin (GL_LINES);
// Specify line-segment geometry.
glVertex2i (180, 15);
glVertex2i (10, 145);
glEnd ( );
// Process all OpenGL routines as quickly as possible.
glFlush ( );
}
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 19
jgsProgramming
§ How to create a project in Visual Studio
§ How to copy a project from one computer to other
§ Debugging
§ What about Object-Oriented Programming? Yes, classes, objects,
inheritance, and so on...
Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 20
jgsHomework
Read the Syllabus
Microsoft Visual Studio Up and Running
jgs
SER332 Introduction to Graphics
Javier Gonzalez-Sanchez
javiergs@asu.edu
Spring 2018
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

Similar to 201804 SER332 Lecture 01

201707 SER332 Lecture18
201707 SER332 Lecture18201707 SER332 Lecture18
201707 SER332 Lecture18
Javier Gonzalez-Sanchez
 
201707 SER332 Lecture 22
201707 SER332 Lecture 22  201707 SER332 Lecture 22
201707 SER332 Lecture 22
Javier Gonzalez-Sanchez
 
201801 SER332 Lecture 03
201801 SER332 Lecture 03201801 SER332 Lecture 03
201801 SER332 Lecture 03
Javier Gonzalez-Sanchez
 
Big data101kagglepresentation
Big data101kagglepresentationBig data101kagglepresentation
Big data101kagglepresentation
Alexandru Sisu
 
201707 SER332 Lecture 26
201707 SER332 Lecture 26  201707 SER332 Lecture 26
201707 SER332 Lecture 26
Javier Gonzalez-Sanchez
 
201707 SER332 Lecture 03
201707 SER332 Lecture 03   201707 SER332 Lecture 03
201707 SER332 Lecture 03
Javier Gonzalez-Sanchez
 
201707 SER332 Lecture 15
201707 SER332 Lecture 15  201707 SER332 Lecture 15
201707 SER332 Lecture 15
Javier Gonzalez-Sanchez
 
201707 SER332 Lecture 21
201707 SER332 Lecture 21   201707 SER332 Lecture 21
201707 SER332 Lecture 21
Javier Gonzalez-Sanchez
 
201707 SER332 Lecture 14
201707 SER332 Lecture 14   201707 SER332 Lecture 14
201707 SER332 Lecture 14
Javier Gonzalez-Sanchez
 
201707 SER332 Lecture 24
201707 SER332 Lecture 24  201707 SER332 Lecture 24
201707 SER332 Lecture 24
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 16
201801 CSE240 Lecture 16201801 CSE240 Lecture 16
201801 CSE240 Lecture 16
Javier Gonzalez-Sanchez
 
2021 videojuego matematico-guia docentes-v1.1
2021 videojuego matematico-guia docentes-v1.12021 videojuego matematico-guia docentes-v1.1
2021 videojuego matematico-guia docentes-v1.1
gabitachica
 

Similar to 201804 SER332 Lecture 01 (12)

201707 SER332 Lecture18
201707 SER332 Lecture18201707 SER332 Lecture18
201707 SER332 Lecture18
 
201707 SER332 Lecture 22
201707 SER332 Lecture 22  201707 SER332 Lecture 22
201707 SER332 Lecture 22
 
201801 SER332 Lecture 03
201801 SER332 Lecture 03201801 SER332 Lecture 03
201801 SER332 Lecture 03
 
Big data101kagglepresentation
Big data101kagglepresentationBig data101kagglepresentation
Big data101kagglepresentation
 
201707 SER332 Lecture 26
201707 SER332 Lecture 26  201707 SER332 Lecture 26
201707 SER332 Lecture 26
 
201707 SER332 Lecture 03
201707 SER332 Lecture 03   201707 SER332 Lecture 03
201707 SER332 Lecture 03
 
201707 SER332 Lecture 15
201707 SER332 Lecture 15  201707 SER332 Lecture 15
201707 SER332 Lecture 15
 
201707 SER332 Lecture 21
201707 SER332 Lecture 21   201707 SER332 Lecture 21
201707 SER332 Lecture 21
 
201707 SER332 Lecture 14
201707 SER332 Lecture 14   201707 SER332 Lecture 14
201707 SER332 Lecture 14
 
201707 SER332 Lecture 24
201707 SER332 Lecture 24  201707 SER332 Lecture 24
201707 SER332 Lecture 24
 
201801 CSE240 Lecture 16
201801 CSE240 Lecture 16201801 CSE240 Lecture 16
201801 CSE240 Lecture 16
 
2021 videojuego matematico-guia docentes-v1.1
2021 videojuego matematico-guia docentes-v1.12021 videojuego matematico-guia docentes-v1.1
2021 videojuego matematico-guia docentes-v1.1
 

More from Javier Gonzalez-Sanchez

201801 SER332 Lecture 04
201801 SER332 Lecture 04201801 SER332 Lecture 04
201801 SER332 Lecture 04
Javier Gonzalez-Sanchez
 
201801 SER332 Lecture 02
201801 SER332 Lecture 02201801 SER332 Lecture 02
201801 SER332 Lecture 02
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 26
201801 CSE240 Lecture 26201801 CSE240 Lecture 26
201801 CSE240 Lecture 26
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 25
201801 CSE240 Lecture 25201801 CSE240 Lecture 25
201801 CSE240 Lecture 25
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 24
201801 CSE240 Lecture 24201801 CSE240 Lecture 24
201801 CSE240 Lecture 24
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 23
201801 CSE240 Lecture 23201801 CSE240 Lecture 23
201801 CSE240 Lecture 23
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 22
201801 CSE240 Lecture 22201801 CSE240 Lecture 22
201801 CSE240 Lecture 22
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 21
201801 CSE240 Lecture 21201801 CSE240 Lecture 21
201801 CSE240 Lecture 21
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 20
201801 CSE240 Lecture 20201801 CSE240 Lecture 20
201801 CSE240 Lecture 20
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 19
201801 CSE240 Lecture 19201801 CSE240 Lecture 19
201801 CSE240 Lecture 19
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 18
201801 CSE240 Lecture 18201801 CSE240 Lecture 18
201801 CSE240 Lecture 18
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 17
201801 CSE240 Lecture 17201801 CSE240 Lecture 17
201801 CSE240 Lecture 17
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 15
201801 CSE240 Lecture 15201801 CSE240 Lecture 15
201801 CSE240 Lecture 15
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 14
201801 CSE240 Lecture 14201801 CSE240 Lecture 14
201801 CSE240 Lecture 14
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 13
201801 CSE240 Lecture 13201801 CSE240 Lecture 13
201801 CSE240 Lecture 13
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 12
201801 CSE240 Lecture 12201801 CSE240 Lecture 12
201801 CSE240 Lecture 12
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 11
201801 CSE240 Lecture 11201801 CSE240 Lecture 11
201801 CSE240 Lecture 11
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 10
201801 CSE240 Lecture 10201801 CSE240 Lecture 10
201801 CSE240 Lecture 10
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 09
201801 CSE240 Lecture 09201801 CSE240 Lecture 09
201801 CSE240 Lecture 09
Javier Gonzalez-Sanchez
 
201801 CSE240 Lecture 08
201801 CSE240 Lecture 08201801 CSE240 Lecture 08
201801 CSE240 Lecture 08
Javier Gonzalez-Sanchez
 

More from Javier Gonzalez-Sanchez (20)

201801 SER332 Lecture 04
201801 SER332 Lecture 04201801 SER332 Lecture 04
201801 SER332 Lecture 04
 
201801 SER332 Lecture 02
201801 SER332 Lecture 02201801 SER332 Lecture 02
201801 SER332 Lecture 02
 
201801 CSE240 Lecture 26
201801 CSE240 Lecture 26201801 CSE240 Lecture 26
201801 CSE240 Lecture 26
 
201801 CSE240 Lecture 25
201801 CSE240 Lecture 25201801 CSE240 Lecture 25
201801 CSE240 Lecture 25
 
201801 CSE240 Lecture 24
201801 CSE240 Lecture 24201801 CSE240 Lecture 24
201801 CSE240 Lecture 24
 
201801 CSE240 Lecture 23
201801 CSE240 Lecture 23201801 CSE240 Lecture 23
201801 CSE240 Lecture 23
 
201801 CSE240 Lecture 22
201801 CSE240 Lecture 22201801 CSE240 Lecture 22
201801 CSE240 Lecture 22
 
201801 CSE240 Lecture 21
201801 CSE240 Lecture 21201801 CSE240 Lecture 21
201801 CSE240 Lecture 21
 
201801 CSE240 Lecture 20
201801 CSE240 Lecture 20201801 CSE240 Lecture 20
201801 CSE240 Lecture 20
 
201801 CSE240 Lecture 19
201801 CSE240 Lecture 19201801 CSE240 Lecture 19
201801 CSE240 Lecture 19
 
201801 CSE240 Lecture 18
201801 CSE240 Lecture 18201801 CSE240 Lecture 18
201801 CSE240 Lecture 18
 
201801 CSE240 Lecture 17
201801 CSE240 Lecture 17201801 CSE240 Lecture 17
201801 CSE240 Lecture 17
 
201801 CSE240 Lecture 15
201801 CSE240 Lecture 15201801 CSE240 Lecture 15
201801 CSE240 Lecture 15
 
201801 CSE240 Lecture 14
201801 CSE240 Lecture 14201801 CSE240 Lecture 14
201801 CSE240 Lecture 14
 
201801 CSE240 Lecture 13
201801 CSE240 Lecture 13201801 CSE240 Lecture 13
201801 CSE240 Lecture 13
 
201801 CSE240 Lecture 12
201801 CSE240 Lecture 12201801 CSE240 Lecture 12
201801 CSE240 Lecture 12
 
201801 CSE240 Lecture 11
201801 CSE240 Lecture 11201801 CSE240 Lecture 11
201801 CSE240 Lecture 11
 
201801 CSE240 Lecture 10
201801 CSE240 Lecture 10201801 CSE240 Lecture 10
201801 CSE240 Lecture 10
 
201801 CSE240 Lecture 09
201801 CSE240 Lecture 09201801 CSE240 Lecture 09
201801 CSE240 Lecture 09
 
201801 CSE240 Lecture 08
201801 CSE240 Lecture 08201801 CSE240 Lecture 08
201801 CSE240 Lecture 08
 

Recently uploaded

Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
Sharepoint Designs
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
ayushiqss
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 

Recently uploaded (20)

Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 

201804 SER332 Lecture 01

  • 1. jgs SER332 Introduction to Graphics and Game Development Lecture 01: Course Presentation Javier Gonzalez-Sanchez javiergs@asu.edu PERALTA 230U Office Hours: By appointment
  • 2. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 1 jgs SER332 Introduction to Graphics Definitions Rendering Foundations of graphics Math concepts Programming
  • 3. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 2 jgsTopics § Review of foundations § Algorithms and Linear Algebra § Graphics rendering § Transformations § Meshes § Camera § Lightening § Materials § Animation
  • 4. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 3 jgsRequired Skills and Goal § Programming Skills C++ OpenGL Note: programming requires (much) practice Data Structures: Linked-List (Vector), Stack, Trees* § Goal You have to be able to understand the theory (midterm, final) and implement the theory in practice (projects).
  • 5. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 4 jgsGrading Exams (2) 50%25% + 25% 40%10% + 10% + 10% + 10%Projects 10%10% Quizzes + Attendance 100% A+97 A93 A-89 B+85 B81 B-77 C+73 C69 D65
  • 6. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 5 jgsTextbook § Tomas Akenine-Moller and Eric Haines. Real-Time Rendering (3rd Edition). AK Peters, Ltd. § D. Hearn and M. P. Baker. Computer Graphics with OpenGL (3rd Edition). Prentice Hall. § J. Neider, T. Davis, M. Woo, The OpenGL Programming Guide, Addison-Wesley
  • 7. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 6 jgsBlackboard § syllabus § slides § projects § announcements
  • 8. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 7 jgsSlides § The slides will be available on blackboard and are intended for your personal studies § You are not allowed to distribute the slides § You are still required to read the book for a better and more complete understanding of the topics in this class
  • 9. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 8 jgsProjects § Four projects are the core of the course § It is important that you are able to implement computer graphics algorithms § The projects will have a clear specification § Approximately, 10 hours of work outside of class per week. If you miss the class you will need more time.
  • 10. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 9 jgsExams § 1 midterm during the semester (before Spring break) § 1 final exam (comprehensive)
  • 11. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 10 jgsEthics § Violations of academic integrity include (but are not limited to) cheating, fabrication, tampering, plagiarism or facilitating such activities. § it is unethical to bring to your instructor's attention the possible impact of your course grade on your future plans, including graduation, scholarships, jobs, etc.
  • 12. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 11 jgsAttendance § Attendance is required § Announcements are made in class § I will try to post all important information on Blackboard § If you come to class you are expected to participate
  • 13. jgs Test Yourself The following slides should give you some idea about topics, difficulty and requirements are to be successful
  • 14. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 13 jgsDesign an Algorithm § You have a screen, size 100 x 100. lower left corner (0,0) upper right is (100, 100). § The function PutPixel(x, y) will draw a pixel on location (x,y). § Give a pseudo-code algorithm to draw a circle with center (50,50) and radius 10.
  • 15. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 14 jgsProposed Algorithm clearScreen(); i = 0; while (i < 360) PutPixel( 50 + 10*sin(i), 50 + 10*cos(i) ) i = i + 1 § Is this a good algorithm? § What are some of the problems? § How could the algorithm be improved
  • 16. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 15 jgsMatrix Multiplication § Calculate this, 2 0 0 0 3 0 1 0 1 ∗ 1 2 3 =
  • 17. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 16 jgsMatrix Multiplication § Calculate this, 2 0 0 0 3 0 1 0 1 ∗ 1 2 3 = 2 6 4
  • 18. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 17 jgsGeometry § Given a line 7x + 3y = 0 § How can you test if a point is on the left or right side of the line? § Can you draw the line on a piece of paper?
  • 19. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 18 jgsProgramming void init (void) { //set display-window color to white. glClearColor(1.0, 1.0, 1.0, 0.0); // Set projection parameters. glMatrixMode (GL_PROJECTION); gluOrtho2D (0.0, 200.0, 0.0, 150.0); } void lineSegment (void) { // Clear display window. glClear (GL_COLOR_BUFFER_BIT); // Set line segment color to red. glColor3f (0.0, 0.0, 1.0); glBegin (GL_LINES); // Specify line-segment geometry. glVertex2i (180, 15); glVertex2i (10, 145); glEnd ( ); // Process all OpenGL routines as quickly as possible. glFlush ( ); }
  • 20. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 19 jgsProgramming § How to create a project in Visual Studio § How to copy a project from one computer to other § Debugging § What about Object-Oriented Programming? Yes, classes, objects, inheritance, and so on...
  • 21. Javier Gonzalez-Sanchez | SER332 | Spring 2018 | 20 jgsHomework Read the Syllabus Microsoft Visual Studio Up and Running
  • 22. jgs SER332 Introduction to Graphics Javier Gonzalez-Sanchez javiergs@asu.edu Spring 2018 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.