Download - COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Transcript
Page 1: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

COMP371 COMPUTER GRAPHICS

SESSION 1COURSE OVERVIEW - SYLLABUS

Page 2: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Lecture Overview• Introduction to the class• Introduction to Computer Graphics and

OpenGL Programming

2

Page 3: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

3

• Charalambos [Charis] Poullis• Associate Professor @ CSE/ENCS

• Research interests• Computer Vision/Graphics • Virtual/Augmented Reality

• Immersive and Creative Technologies Lab• www.theICTlab.org• www.facebook.com/theICTlab

Introductions

Page 4: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

4

• Email - preferred• [email protected]

• Office: • Building: EV• Floor: 3• Room: 183

• Office hours: • Wednesday 14:00-16:00 • by appointment

Contact details

Page 5: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent
Page 6: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

CYPRUS

Page 7: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

CYPRUS

Page 8: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent
Page 9: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

CYPRUSUniversity of Southern California

Page 10: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

University of Cyprus

Page 11: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Cyprus University of Technology

Page 12: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Concordia University

Page 13: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Research Interests▪ Computer Vision▪ Computer Graphics▪ Virtual Reality▪ Augmented Reality

www.theICTlab.org

Page 14: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Recent workMulti-label Pixelwise Classification for Reconstruction of Large-scale Urban Areas, Y. He, S. Mudur, C. Poullis

Page 15: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Recent workMulti-label Pixelwise Classification for Reconstruction of Large-scale Urban Areas, Y. He, S. Mudur, C. Poullis

Page 16: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Recent workMulti-label Pixelwise Classification for Reconstruction of Large-scale Urban Areas, Y. He, S. Mudur, C. Poullis

Page 17: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Recent workMulti-label Pixelwise Classification for Reconstruction of Large-scale Urban Areas, Y. He, S. Mudur, C. Poullis

Page 18: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Recent work

Page 19: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Recent work

Page 20: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Recent workA Long-Range Vision System for Projection Mapping of Stereoscopic Content in Outdoor Areas, B. Maneshgar, L. Sujir, S. Mudur, C. Poullis

Page 21: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Recent work

A Long-Range Vision System for Projection Mapping of Stereoscopic Content in Outdoor Areas, B. Maneshgar, L. Sujir, S. Mudur, C. Poullis

Page 22: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Recent work

A Long-Range Vision System for Projection Mapping of Stereoscopic Content in Outdoor Areas, B. Maneshgar, L. Sujir, S. Mudur, C. Poullis

Page 23: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

23

• Teaching Assistants: • Jocelyn [Chen Qiao]Section UUUJ, Monday @ 16:15 - 18:05 - H811• Tim [Timothy Forbes]• Section UUUI, Wednesday @ 16:15 - 18:05 - H811

• Grader• Jocelyn [Chen Qiao] - By appointment only

[email protected]

Teaching/Lab Assistants

Page 24: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Course Website• Please visit this site regularly.www.poullis.org/courses/2017/Fall/COMP371/

• For class discussions we will use Piazza• Signup link:http://piazza.com/concordia_university/fall2017/comp371• Access code:

• The lecture notes will be posted on the course website the day of the lecture (comp371/n0tes_2017)

• Bring to class and keep notes 24

Page 25: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Syllabus - Course Outline• Posted on the course websitehttp://www.poullis.org/courses/2017/Fall/COMP371/resources/COMP371F2017_CourseOutline.pdf

25

Page 26: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Prerequisites• Courses

• COMP 232 or COEN 231• COMP 352 or COEN 352

• Pointers and Basic Data Structures (e.g. linked lists, arrays)

• Geometry• Simple Linear Algebra

26

Page 27: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Assignments• 3 homeworks - submitted online - 10% each• 2 quizzes - 25% + 25% • 1 project - presentation - 20%

27

Page 28: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Grading• Specifications → required functionality and

features

• Style and documentation

• Aesthetics → Quality

• Appealing extras → bonus marks

Page 29: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Academic Integrity Policy• Feel free to discuss assignments with each

other, but coding must be done individually

• Feel free to incorporate code or tips you find on the Web, provided this doesn’t make the assignment trivial and you explicitly acknowledge your sources

• Remember: we can Google too!

Page 30: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

What is Computer Graphics?• Computer graphics is 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 and edit

imagesThis course will cover the above theoretical aspects and provide practical training using the OpenGL graphics library

30

Page 31: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Modeling • How to represent objects• Take the real and turn it 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

31

Page 32: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Animation • Control and represent motion of the objects

• keyframe - inverse kinematics• performance-based• procedural• physics based [simulation]

32

Page 33: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Rendering • How to create images of objects• Color• Lighting• Shading• Surface detail (texture)• Reflection, transparency, shadows

33

Page 34: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Image Processing • Various effects

• Scene completion • example shown later

• High dynamic range• increase ratio of light to dark

34

Page 35: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Computer Graphics Goals1. Create synthetic images which cannot be distinguished from reality

• Autodesk’s Fake or photo Quiz• http://area.autodesk.com/fakeorfoto

35

Page 36: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Computer Graphics Goals2. Create a new reality (not necessarily scientific)

• Scene completion using Millions of Photographs• James Hays, Alexei Efros

• Non-photorealistic rendering• Aaron Hertzmann, Denis Zorin

36

Page 37: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

TentativeLectureSchedule

37

Page 38: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

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

38

Page 39: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

You will be able to• Write C/C++ and OpenGL applications such as

computer games and other graphical applications

39

Page 40: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Required Resources• OpenGL works on all popular systems

• 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• http://www.glfw.org/

• Get GLEW from web• http://glew.sourceforge.net/

40

Page 41: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

After this course• COMP 376 – Intro to Game Development• COMP 476 – Advanced Game Development• COMP 477 – Animation• COMP 498/691G – Computer Vision

41

Page 42: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Slides AcknowledgementsThe slides are a combination of multiple resources and materials generously made publicly available by E. Angel, P. Shirley, J. Barbic, R. Barzel, A. van Dam, Thomas Fevens, A Ben Hamza, Tiberiu Popa, Sudhir Mudur

42

Page 43: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

Next Lecture• Introduction to Computer Graphics

• Graphics pipeline• OpenGL API• Primitives: lines, polygons• Attributes: color• Code Example

43

Page 44: COMP371 COMPUTER GRAPHICS 01... · What is Computer Graphics? • Computer graphics is concerned with all aspects of producing images using a computer: • Modeling - how to represent

44