introduction and admin matters - university of western ... · 750 nm (nanometers) • long...
TRANSCRIPT
![Page 1: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/1.jpg)
CITS3003 Graphics & Animation
Introduction and Admin Matters
![Page 2: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/2.jpg)
Admin
• Unit coordinator & Lecturer
• Professor Ajmal Mian
• Consultation Time: 2:00-3:00pm Tuesdays (Room G12, Ground Floor, Comp Science building)
• Lab facilitators (see CITS3003 website for updates)
• Jarrod Greene
• Trent Reid
2
![Page 3: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/3.jpg)
Admin
• Recorded lectures will be on LMS
• Everything else is on the unit website http://teaching.csse.uwa.edu.au/units/CITS3003/index.php
• 2018 Lecture slides are available for those who wish to look ahead
• Slides will be updated on weekly basis and marked with 2019
• Use cshelp (help3003) for discussions
• Mid-semester test marks will be released on csmarks
• Project will need to be uploaded on cssubmit3
![Page 4: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/4.jpg)
Breakdown of Lectures
1. Introduction & Image Formation2. Programming with OpenGL3. Pipeline Architecture4. OpenGL: An Example Program5. Vertex and Fragment Shaders 16. Vertex and Fragment Shaders 27. Representation and Coordinate
Systems8. Coordinate Frame Transformations9. Transformations and Homogeneous
Coordinates10. Input, Interaction and Callbacks11. More on Callbacks12. 3D Hidden Surface Removal
Mid-semester Test
13. Mid term-test solution and project discussion
14. Computer Viewing15. Shading
Study Break
16. Shading Models17. Shading in OpenGL18. Texture Mapping19. Texture Mapping in OpenGL 20. Hierarchical Modelling21. 3D Modelling: Subdivision Surfaces22. Animation Fundamentals and
Quaternions23. Skinning
4
![Page 5: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/5.jpg)
Assessment
• The assessment will consist of:
• 10%: Mid-semester test during lecture time (week 7 Monday 8 April)
• 40%: Programming project(due in week 12)
• 50%: Final exam worth
5
![Page 6: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/6.jpg)
Project & Labs
• There will be labs from week 2-6. Lab sheets are already online along with solutions
• Labs are not assessed but it is important to complete them to be able to complete the project.
• Project will be released in week 6.
6
![Page 7: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/7.jpg)
Mini Lectures (NEW)• Listening to 1 hour lectures can be daunting.
• To revise everything for exam, you will have 23 hours worth of lectures to listen to
• Also need backup if LCS fails to record the online lecture
• This year, I am recording short or mini lectures
• By dividing a lecture into smaller topics
• Recording a short lecture offline on each topic (approx 5 min)
• Links on the unit website (downloadable, no login)
• The aim of these mini lectures is to be succinct for quick revision rather than a replacement for the full lectures
7
![Page 8: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/8.jpg)
CITS3003 Graphics & Animation
Lecture 1: Introduction to Image Formation
8
![Page 9: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/9.jpg)
Objectives
• Fundamental imaging notions
• Physical basis for image formation
o Light
o Color
o Perception
• Synthetic camera model
• Ray tracing
• Introduction to OpenGL
9
![Page 10: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/10.jpg)
Image Formation
• In computer graphics, we form images which are generally two dimensional using a process analogous to how images are formed by physical imaging systems
o Cameras
o Microscopes
o Telescopes
o Human visual system
10
![Page 11: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/11.jpg)
Elements of Image Formation
1. Objects
2. Viewer
3. Light source(s)
• Attributes that govern how light interacts with the materials in the scene
• Note the independence of the objects, the viewer, and the light source(s)
11
![Page 12: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/12.jpg)
Elements of Image Formation (cont.)
• Advantages:
• Separation of objects, viewer, light sources (can model them separately).
• Two-dimensional graphics is a special case of three-dimensional graphics
• Leads to simple software API
• Can specify objects, lights, camera, attributes separately
• Let implementation determine image
• Leads to fast hardware implementation
12
![Page 13: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/13.jpg)
Objects
• Objects in space are independent of any image formation process and of any viewer
• A set of locations (vertices) in space is sufficient to define or approximate most objects
13
![Page 14: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/14.jpg)
Viewer
• To form an image, we must have someone orsomething that is viewing our objects, be it ahuman, a camera, or a digitizer. It is theviewer that forms the image of our objects.
14
![Page 15: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/15.jpg)
Light
• Light is the part of the electromagnetic spectrum that causes a reaction in our visual system
• Generally these are wavelengths in the range of about 350-750 nm (nanometers)
• Long wavelengths appear as reds and short wavelengths as blues
15
![Page 16: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/16.jpg)
Light (Contd..)
• Light sources can emit light either as a set of discretefrequencies or continuously.
• Geometric optics models light sources as emitters of lightenergy, each of which have a fixed intensity.
• Light travels in straight lines, from the sources to thoseobjects with which it interacts.
• An ideal point source emits energy from a single location atone or more frequencies equally in all directions.
• A particular source is characterized by– the intensity of light that it emits at each frequency – that light’s directionality
16
![Page 17: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/17.jpg)
Ray Tracing and Geometric Optics
One way to form an image is tofollow rays of light from a source, finding which rays enter the camera lens.
However, rays of light may have multiple interactions with objects, get absorbed, or go to infinity.
17
![Page 18: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/18.jpg)
Luminance and Colour Images
• Luminance Image
o Monochromatic
o Values are gray levels
o Analogous to working with black and white film or television
• Colour Image
o Has perceptional attributes of hue, saturation, and lightness
18
![Page 19: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/19.jpg)
IMAGING SYSTEMS
19
![Page 20: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/20.jpg)
Pinhole Camera
• Use trigonometry to find projection of point at 𝑥, 𝑦, 𝑧
• Τ𝑥𝑝 𝑧𝑝 = Τ𝑥 𝑧 Τ𝑦𝑝 𝑧𝑝= Τ𝑦 𝑧 𝑧𝑝 = −𝑑• These are equations of simple perspective
• The point (xp, yp, −d) is called the projection of the point (x, y, z).
20
![Page 21: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/21.jpg)
Pinhole Camera (contd..)
• The field, or angle, of view of our camera is the angle made by the largest object that our camera can image on its film plane.
• The ideal pinhole camera has an infinite depth of field
• The pinhole camera has two disadvantages:– It admits only a single ray from a point source—almost no light enters
the camera.
– The camera cannot be adjusted to have a different angle of view
21
![Page 22: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/22.jpg)
The Three-Color Theory
• The human visual system has two types of sensors
• Rods: monochromatic, night vision
• Cones
o Color sensitive
o Three types of cones
o Only three values (the tristimulus values) are sent to the brain
• That is, we need only match these three values
– Need only three primary colors
22
![Page 23: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/23.jpg)
Additive and Subtractive Color
• Additive coloro Form a color by adding amounts of
three primaries• CRTs, projection systems, positive film
o Primaries are Red (R), Green (G), Blue (B)
• Subtractive coloro Form a color by filtering white light
with cyan (C), Magenta (M), and Yellow (Y) filters• Light-material interactions• Printing• Negative film
![Page 24: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/24.jpg)
Synthetic Camera Model
• OpenGL uses the synthetic pin hole camera model
• Since the image of the object is flipped relative to the object on the back of the camera, we draw another plane in front of the lens.
• With this synthetic camera model, the object is the right way up.
center of projection
image plane
projector
p (a point)
projection of point p
image is upside down
image is right way up
24
![Page 25: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/25.jpg)
Lecture 1 – OpenGL: Introduction
Introduction to OpenGL
![Page 26: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/26.jpg)
Why use OpenGL and Not Ray Tracing?
• Ray tracing seems more physically based so why don’t we use it to design a graphics system?
• Possible and is actually simple for simple objects such as polygons and quadrics with simple point sources
• In principle, can produce global lighting effects such as shadows and multiple reflections but ray tracing is slow and not well-suited for interactive applications
• Having said that, practical ray tracing with GPUs is getting close to real time
26
![Page 27: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/27.jpg)
What is OpenGL?
OpenGL is a platform-independent Application Programmers’ Interface (API) that
• Is close enough to the hardware to get excellent performance
• Focuses on rendering
27
![Page 28: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/28.jpg)
OpenGL Architecture
OpenGL is a platform-independent Application Programmers’ Interface (API) that
• Is easy to use
• Provides a link between the low-level graphics hardware and the high-level application program that you write
OpenGL Architecture28
![Page 29: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/29.jpg)
Versions of OpenGL
• Latest versions are completely shader-based:o No default shaders
o Each application must provide both a vertex and a fragment shaderi.e. you must additionally write vertex and fragment shaderprograms
• OpenGL ESo Is suitable for embedded systems
o Version 1.0 is a simplified version of OpenGL 2.1
o Version 2.0 is a simplified version of OpenGL 3.1
• OpenGL 4.1 and 4.2o Add geometry shaders and tessellator
o Version 4.6 (released on 30/07/2017) is still the latest version
29
![Page 30: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/30.jpg)
Versions of OpenGL (cont.)
o WebGL
o Is a derivative of OpenGL ES version 2.0
o Provides JavaScript bindings for OpenGL functions, allowing an HTML page to render images using any GPU resources available on the computer where the web browser is running
o WebGL is not included in the curriculum
30
![Page 31: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/31.jpg)
OpenGL Libraries
• OpenGL core libraryo OpenGL32 on Windowso GL on most unix/linux systems (libGL.a)
• OpenGL Utility Library (GLU)o Provides functionality in OpenGL core but avoids
having to rewrite codeo Will only work with legacy code
• Links with window systemo GLX for X window systemso WGL for Windowso AGL for Macintosh
31
![Page 32: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/32.jpg)
GLUT
• OpenGL Utility Toolkit (GLUT)o Provides functionality common to all window
systems• Open a window
• Get input from mouse and keyboard
• Menus
• Event-driven
o Code is portable but GLUT lacks the functionality of a good toolkit for a specific platform• No slide bars
32
![Page 33: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/33.jpg)
freeglut
• GLUT was created long ago and has been unchanged
o Amazing that it still works
o Some functionality can’t work since it requires deprecated functions
• freeglut updates GLUT
o Added capabilities
o Context checking
33
![Page 34: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/34.jpg)
GLEW
• GLEW is an OpenGL Extension Wrangler Library
• GLEW makes it easy to access OpenGL extensions available on a particular system
• It avoids having to have specific entry points in Windows code
• Application only needs to include glew.h and run a glewInit()
34
![Page 35: Introduction and Admin Matters - University of Western ... · 750 nm (nanometers) • Long wavelengths appear as reds and short wavelengths as blues 15. ... Lecture 1 –OpenGL](https://reader036.vdocument.in/reader036/viewer/2022071002/5fbf058ed57a391a5228e840/html5/thumbnails/35.jpg)
Further Reading
•“Interactive Computer Graphics – A Top-Down Approach with Shader-Based OpenGL” by Edward Angel and Dave Shreiner, 6th Ed, 2012
• Sec. 1.2 A graphics system
• Sec. 1.3 Images: Physical and Synthetic
• Sec. 1.4 Imaging Systems
• Sec. 1.5 The Synthetic Camera Model
• Sec. 1.6 The Programmer’s Interface
35