Lecture 2 5 Aug 2004

Size: px
Start display at page:

Download "Lecture 2 5 Aug 2004"

Transcription

1 TOPICS in IT: ADVANCED GRAPHICS (CS & SE ) Lecture 2 5 Aug

2 Topics Image Formation Electromagnetic spectrum Light Human Visual Image processing Color Programming in OpenGL Background Programming Structure and naming conventions 2

3 Electromagnetic Spectrum The surface of Earth bathed in electromagnetic radiation from sun Electromagnetic energy is created by a vibration that produces wave that carry the energy Waves are ordered in the electromagnetic spectrum according to their wave length (λ) Longest (radio) Shortest (gamma) Frequency (f) refers to the number of waves a vibration creates during a period of time Wavelength and frequency are inversely related f = 1/ λ 3

4 Electromagnetic Spectrum Wavelength vs Frequency Increasing in Wavelength (λ) Increasing in Frequency (f) 4

5 (Human) Visible Light Spectrum 5

6 Light Detection Advantages Travels rapidly (300,000 km/sec) and in straight lines Surfaces reflect and absorb various wavelengths of light depending on physical and chemical properties Light therefore contains a great deal of information about environment Useful for many survival needs Allows detection of predators, prey at a distance without direct physical contact 6

7 Photosensitivity Ability to detect different intensities of diffuse illumination Present in many plants and most animals, Found in single celled animals, skin of many simple organisms, and in specialized visual organs, Light sensitivity underlies daily rhythm of activities 7

8 Vision Sensing changes in illumination that are rapid in time and localized in space Image forming eyes found in annelids (segmented worms) mollusks (snails, scallops, squid etc.) arthropods (spiders, crabs, insects etc.) and vertebrates 8

9 Visual Acuity and Sensitivity Acuity Expressed as angular resolving power Humans can resolve 1' (one minute) of arc, full moon 30' arc diameter, Some birds of prey, such as eagles can resolve 20" of arc Sensitivity how an eye responds to light In complete darkness, human eye can respond to single photon of light, stimulation of only cells by single photons in a small patch of retina is sufficient to produce a conscious percept in a human observer 9

10 Human (Vertebrate) Vision Retina The photosensitive part of the eye Specialized layer of photoreceptor cells and neurons at back of eye Image formed on retina by refraction of light by cornea and lens Efferent control systems Ciliary muscles stretch lens to alter focus setting Iris controls amount of light admitted to eye (f-stop) 10

11 Rods and Cones The retina is largely composed of two types of cells, called rods and cones Rods Specialised for night vision can be activated by a single photon but they produce lower acuity vision, however. Cones Specialised for day vision, are concentrated at the fovea and provide high acuity vision Confer color vision to primates, birds, reptiles, and most fish 11

12 Human Color Wavelength Humans have 3 types of cone pigment that are maximally sensitive to either red, green or blue Color perception results from the simultaneous stimulation of the 3 cone types Colorblindness results from a deficiency of one cone type Sensitivities 12

13 Additive and Subtractive Color Additive color Form a color by adding amounts of three primaries Used by CRTs, projection systems, positive film Primaries are Red (R), Green (G), Blue (B) Subtractive color Form a color by filtering white light with cyan (C), Magenta (M), and Yellow (Y) filters Light-material interactions Used in Printing and Negative film 13

14 Color Matching In order to define the perceptual 3D space in a "standard" way A set of experiments can (and have been) carried by having observers try and match color of a given wavelength, lambda, Done by mixing three other pure wavelengths, such as R=700nm, G=546nm, and B=436nm A problem exists, because sometimes the red light needs to be added to the target before a match can be achieved. This is shown on the graph by having its intensity, R, take on a negative value. 14

15 Commission Internationale Defined three new hypothetical light sources, x, y, and z, which yield positive matching curves Given a spectrum and wish to find the corresponding X, Y, and Z quantities Done by integrating the product of the spectral power and each of the three matching curves over all wavelengths. The weights X,Y,Z form the three-dimensional CIE XYZ space d'eclairage (CIE) 15

16 CIE Chromaticity Diagram Defines 3 color index in 2 dimensions done by projecting the 3D color space onto the plane X+Y+Z=1 16

17 Color Gamuts The chromaticity diagram can be used to compare the "gamuts" of various possible output devices Such as monitors and printers Note that a color printer cannot reproduce all the colors visible on a color monitor 17

18 RGB Color Cube The additive color model used for computer graphics is represented by the RGB color cube, R, G, and B represent the colors produced by red, green and blue phosphours, respectively. 18

19 CIE XYZ Color Space 19

20 CMYK color model Used by printers Green paper is green because it reflects green and absorbs other wavelengths To produce blue, one would mix cyan and magenta inks both reflect blue while each absorbing one of green and red Black ink is used to ensure that a high quality black can always be printed, and is often referred to as to K dye color absorbs reflects Cyan Red Blue and Green Magenta Green Blue and Red Yellow Blue Red and Green Black (K) All None 20

21 Other Color Models HSV Hue, Saturation, Value HLS Hue, Luminosity, Saturation Color conversion formula exist to convert colors between respective color models 21

22 Programming with OpenGL Background Programming Structure and naming conventions Primitives Attributes and States Programming in three dimensions Inputs and Interaction Working with Callbacks 22

23 SGI and GL Silicon Graphics (SGI) revolutionized the graphics workstation by implementing the pipeline in hardware (1982) To access the system, application programmers used a library called IRIS GL With GL, it was relatively simple to program three dimensional interactive applications 23

24 OpenGL The success of GL lead to OpenGL (1992) a platform-independent API that was Easy to use Close enough to the hardware to get excellent performance Available in a number of languages OS-independent and hardware-independent Focus on rendering Aimed at 2-D/3-D scenes made of polygons (and lines and points). Omitted windowing and input to avoid window system dependencies Not as good for 2-D windows/text/gui-style graphics 24

25 OpenGL Evolution Controlled by an Architectural Review Board (ARB) Members include SGI, Microsoft, NVidia, HP, 3DLabs, IBM, Apple, Dell, Intel, Matrox, Sun, HP,. Relatively stable Evolution reflects new hardware capabilities 3D texture mapping and texture objects Vertex programs Allows for platform specific features through extensions 25

26 OpenGL Design The interface with the graphics hardware. Designed for efficient implementation in hardware. Particular OpenGL implementations may be partially or totally software. We deal with OpenGL via function calls (or commands). No global variables. Most OpenGL functions have few parameters. C/C++ header: <GL/gl.h> But you make lots of function calls. No complex data types. OpenGL is function-call intensive. Think: advantages/disadvantages. 26

27 Software Organization Application Program OpenGL Motif widget or similar GLUT GLX, AGL, or WGL X, Windows, Apple O/S GLU GL Software and/or Hardware 27

28 OpenGL is Procedural OpenGL is a procedural rather than descriptive interface. In order to get a rendering of a red sphere the programmer must specify the appropriate sequence of commands Set up the camera view and modelling transformations Draw the geometry for a sphere with a red color. etc. Disadvantage of using a procedural interface The application must specify all of the operations in exacting detail and in the correct sequence to get the desired result. Advantage of this approach It allows great flexibility in the process of generating the image Application is free to trade-off rendering speed and image quality by changing the steps through which the image is drawn. 28

29 OpenGL is Not Pixel Exact This means that two different OpenGL implementations are very unlikely to render exactly the same image. This allows OpenGL to be implemented across a range of hardware platforms. If the specification were too exact, it would limit the kinds of hardware acceleration that could be used; limiting its usefulness as a standard. In practice, the lack of exactness need not be a burden -- unless you plan to build a rendering farm from a diverse set of machines. 29

30 OpenGL State OpenGL is a state machine OpenGL functions are of two types Primitive generating (drawing) Can cause output if primitive is visible How vertices are processed and appearance of primitive are controlled by the state Set and return state values Transformation functions Attribute functions So: all drawn objects are composed of primitives. The properties of these are attributes, which are determined by OpenGL states. 30

31 OpenGL Libraries OpenGL Core Library OpenGL32 on Windows GL on most unix/linux systems OpenGL Utility Library (GLU) Provides functionality in OpenGL core but avoids having to rewrite code Additional functions & types for various graphics operations. Designed to be implemented in software; calls GL. C/C++ header: <GL/glu.h>. Links with window system GLX or X window systems WGL or Windows AGL for Macintosh 31

32 GLUT Provides functionality common to all window systems Open a window Get input from mouse and keyboard Menus Event-driven Code is portable but GLUT lacks the functionality of a good toolkit for a specific platform 32

33 GLUT Functions glutinit allows application to get command line arguments and initializes system gluinitdisplaymode requests properties for the window (the rendering context) RGB color Single buffering Properties logically ORed together glutwindowsize in pixels glutwindowposition from top-left corner of display glutcreatewindow create window glutdisplayfunc display callback glutmainloop enter infinite event loop 33

34 OpenGL Extensions Functionality that anyone can add to OpenGL. OpenGL specifies rules that extensions are to follow. May be system-dependent. We will not use any extensions. 34

35 OpenGL Naming Conventions Functions Begin with gl, words capitalized & run together Example: glclearcolor Can include type information. For example, the 2d in glvertex2d indicates two parameters of type GLdouble. Constants Begin with GL, all upper-case, _ between words Example: GL_TRIANGLE_STRIP Types Begin with GL, next word not capitalized, all words run together Example: GLdouble 35

36 Related Package Naming Conventions Related packages use similar conventions. GLU Function: gluscaleimage Constant: GLU_TESS_ERROR Type: GLUtesselatorObj GLUT Function: glutinitdisplaymode Constant: GLUT_MIDDLE_BUTTON 36

37 OpenGL Types OpenGL defines its own types, which have the same (minimum) precision on all systems. Some of these: GLint: at least 32-bit integer GLfloat: at least 32-bit floating-point GLdouble: at least 64-bit floating-point and others So, for example, GLdouble is probably the same as double, but may not be. Converting (say) a GLdouble to a double is fine. But be careful when tossing around GLdouble * and double *. (Why?) 37

38 Lack of Object Orientation OpenGL is not object oriented so that there are multiple functions for a given logical function As a result, some OpenGL commands have several forms allowing for different types. For example, glvertex* can take 2, 3, or 4 parameters of many different types. Function glvertex2d takes 2 parameters of type GLdouble. Function glvertex3f takes 3 parameters of type GLfloat. Function glvertex3fv ( v for vector ) takes a single parameter of type GLfloat * (should be a pointer to an array of 3 GLfloat s). Underlying storage mode is the same 38

39 OpenGL Function Format belongs to GL library glvertex3f(x,y,z) 3 float inputs are required function glvertex3fv(p) p is a pointer to a 3 Dimensional array of floats 39

40 OpenGL #defines Most constants are defined in the include files gl.h, glu.h and glut.h #include <glut.h> should automatically include the others Examples glbegin(gl_polygon) glclear(gl_color_buffer_bit) include files also define OpenGL datatypes: GLfloat, GLdouble,. 40

41 glflush() It is important to note that OpenGL commands are not necessarily executed as soon as they are issued. It is necessary to call the command glflush() to ensure that all previously issued commands are executed. glflush() is generally called at the end of a sequence of drawing commands to ensure all objects in the scene are drawn. 41

42 Program Structure Most OpenGL programs have a similar structure that consists of the following functions main(): defines the callback functions opens one or more windows with the required properties enters event loop (last executable statement) init(): sets the state variables Viewing Attributes callbacks Display function Input and window functions 42

43 Event Loop Every glut program must have a display callback The display callback is executed whenever OpenGL decides the display must be refreshed, for example when the window is opened The main function ends with the program entering an event loop 43

44 References The Electro Magnetic Spectrum Tutorial, What is RF Radiation?, m The Physics Classroom, The Electromagnetic and Visible Spectra, Light Sources, The Visual System, The Visual System I & II, Dr. Paul Patton, Computer Graphics Color Models, CSC 418: Colour Representation, Michiel van de Panne, University of Toronto, 44

45 References www/terry/opengl/changing_state.html es/lecture/pipeline.html Ed Angel Lecture notes (Lectures 4, 5, 6, 7, 8 and 9) Open GL web page 45

Programming with OpenGL Part 1: Background

Programming with OpenGL Part 1: Background Programming with OpenGL Part 1: Background Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Objectives Development of the OpenGL API

More information

Early History of APIs. PHIGS and X. SGI and GL. Programming with OpenGL Part 1: Background. Objectives

Early History of APIs. PHIGS and X. SGI and GL. Programming with OpenGL Part 1: Background. Objectives Programming with OpenGL Part 1: Background Early History of APIs Objectives Development of the OpenGL API OpenGL Architecture - OpenGL as a state machine Functions - Types -Formats Simple program IFIPS

More information

Lecture 2 CISC440/640 Spring Department of Computer and Information Science

Lecture 2 CISC440/640 Spring Department of Computer and Information Science Lecture 2 CISC440/640 Spring 2015 Department of Computer and Information Science Today s Topic The secrets of Glut-tony 2 So let s do some graphics! For the next week or so this is your world: -1 1-1 1

More information

CS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012

CS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012 CS450/550 Pipeline Architecture Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012 0 Objectives Learn the basic components of a graphics system Introduce the OpenGL pipeline

More information

Introduction to OpenGL Week 1

Introduction to OpenGL Week 1 CS 432/680 INTERACTIVE COMPUTER GRAPHICS Introduction to OpenGL Week 1 David Breen Department of Computer Science Drexel University Based on material from Ed Angel, University of New Mexico Objectives

More information

Objectives. Image Formation Revisited. Physical Approaches. The Programmer s Interface. Practical Approach. Introduction to OpenGL Week 1

Objectives. Image Formation Revisited. Physical Approaches. The Programmer s Interface. Practical Approach. Introduction to OpenGL Week 1 CS 432/680 INTERACTIVE COMPUTER GRAPHICS Introduction to OpenGL Week 1 David Breen Department of Computer Science Drexel University Objectives Learn the basic design of a graphics system Introduce graphics

More information

Computer Graphics. Bing-Yu Chen National Taiwan University

Computer Graphics. Bing-Yu Chen National Taiwan University Computer Graphics Bing-Yu Chen National Taiwan University Introduction to OpenGL General OpenGL Introduction An Example OpenGL Program Drawing with OpenGL Transformations Animation and Depth Buffering

More information

Computer Graphics - Chapter 1 Graphics Systems and Models

Computer Graphics - Chapter 1 Graphics Systems and Models Computer Graphics - Chapter 1 Graphics Systems and Models Objectives are to learn about: Applications of Computer Graphics Graphics Systems Images: Physical and Synthetic The Human Visual System The Pinhole

More information

Drawing Primitives. OpenGL basics

Drawing Primitives. OpenGL basics CSC 706 Computer Graphics / Dr. N. Gueorguieva 1 OpenGL Libraries Drawing Primitives OpenGL basics OpenGL core library OpenGL32 on Windows GL on most unix/linux systems (libgl.a) OpenGL Utility Library

More information

CIS 441/541: Introduction to Computer Graphics Lecture 14: OpenGL Basics

CIS 441/541: Introduction to Computer Graphics Lecture 14: OpenGL Basics CIS 441/541: Introduction to Computer Graphics Lecture 14: OpenGL Basics Oct. 26th, 2016 Hank Childs, University of Oregon Announcements OH Hank: Weds 1-2, Thursday 11-12 Dan: Weds 4-530, Thursday 930-11

More information

Programming with OpenGL Part 1: Background

Programming with OpenGL Part 1: Background Programming with OpenGL Part 1: Background Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Objectives Development of the OpenGL API

More information

LECTURE 02 OPENGL API

LECTURE 02 OPENGL API COMPUTER GRAPHICS LECTURE 02 OPENGL API Still from Pixar s Inside Out, 2015 IMRAN IHSAN ASSISTANT PROFESSOR WWW.IMRANIHSAN.COM EARLY HISTORY OF APIS IFIPS (1973) formed two committees to come up with a

More information

API Background. Prof. George Wolberg Dept. of Computer Science City College of New York

API Background. Prof. George Wolberg Dept. of Computer Science City College of New York API Background Prof. George Wolberg Dept. of Computer Science City College of New York Objectives Graphics API history OpenGL API OpenGL function format Immediate Mode vs Retained Mode Examples The Programmer

More information

The Display pipeline. The fast forward version. The Display Pipeline The order may vary somewhat. The Graphics Pipeline. To draw images.

The Display pipeline. The fast forward version. The Display Pipeline The order may vary somewhat. The Graphics Pipeline. To draw images. View volume The fast forward version The Display pipeline Computer Graphics 1, Fall 2004 Lecture 3 Chapter 1.4, 1.8, 2.5, 8.2, 8.13 Lightsource Hidden surface 3D Projection View plane 2D Rasterization

More information

Lecture 1. Computer Graphics and Systems. Tuesday, January 15, 13

Lecture 1. Computer Graphics and Systems. Tuesday, January 15, 13 Lecture 1 Computer Graphics and Systems What is Computer Graphics? Image Formation Sun Object Figure from Ed Angel,D.Shreiner: Interactive Computer Graphics, 6 th Ed., 2012 Addison Wesley Computer Graphics

More information

Today s Agenda. Basic design of a graphics system. Introduction to OpenGL

Today s Agenda. Basic design of a graphics system. Introduction to OpenGL Today s Agenda Basic design of a graphics system Introduction to OpenGL Image Compositing Compositing one image over another is most common choice can think of each image drawn on a transparent plastic

More information

Programming using OpenGL: A first Introduction

Programming using OpenGL: A first Introduction Programming using OpenGL: A first Introduction CMPT 361 Introduction to Computer Graphics Torsten Möller Machiraju/Zhang/Möller 1 Today Overview GL, GLU, GLUT, and GLUI First example OpenGL functions and

More information

CSC Graphics Programming. Budditha Hettige Department of Statistics and Computer Science

CSC Graphics Programming. Budditha Hettige Department of Statistics and Computer Science CSC 307 1.0 Graphics Programming Department of Statistics and Computer Science Graphics Programming 2 Common Uses for Computer Graphics Applications for real-time 3D graphics range from interactive games

More information

VR-programming tools (procedural) More VRML later in this course! (declarative)

VR-programming tools (procedural) More VRML later in this course! (declarative) Realtime 3D Computer Graphics & Virtual Reality OpenGL Introduction VR-programming Input and display devices are the main hardware interface to users Immersion embeds users through the generation of live-like

More information

Introduction to OpenGL

Introduction to OpenGL CS100433 Introduction to OpenGL Junqiao Zhao 赵君峤 Department of Computer Science and Technology College of Electronics and Information Engineering Tongji University Before OpenGL Let s think what is need

More information

Programming with OpenGL Part 2: Complete Programs Computer Graphics I, Fall

Programming with OpenGL Part 2: Complete Programs Computer Graphics I, Fall Programming with OpenGL Part 2: Complete Programs 91.427 Computer Graphics I, Fall 2008 1 1 Objectives Refine first program Alter default values Introduce standard program structure Simple viewing 2-D

More information

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo Computer Graphics Bing-Yu Chen National Taiwan University The University of Tokyo Introduction The Graphics Process Color Models Triangle Meshes The Rendering Pipeline 1 What is Computer Graphics? modeling

More information

Teacher Assistant : Tamir Grossinger Reception hours: by - Building 37 / office -102 Assignments: 4 programing using

Teacher Assistant : Tamir Grossinger   Reception hours: by  - Building 37 / office -102 Assignments: 4 programing using Teacher Assistant : Tamir Grossinger email: tamirgr@gmail.com Reception hours: by email - Building 37 / office -102 Assignments: 4 programing using C++ 1 theoretical You can find everything you need in

More information

The Elements of Colour

The Elements of Colour Color science 1 The Elements of Colour Perceived light of different wavelengths is in approximately equal weights achromatic.

More information

Lectures OpenGL Introduction

Lectures OpenGL Introduction Lectures OpenGL Introduction By Tom Duff Pixar Animation Studios Emeryville, California and George Ledin Jr Sonoma State University Rohnert Park, California 2004, Tom Duff and George Ledin Jr 1 What is

More information

CS 4204 Computer Graphics

CS 4204 Computer Graphics CS 4204 Computer Graphics OpenGL Basics Yong Cao Virginia Tech References: 2001 Siggraph, An Interactive Introduction to OpenGL Programming, Dave Shreiner,Ed Angel, Vicki Shreiner Official Presentation

More information

Graphics Programming

Graphics Programming Graphics Programming 3 rd Week, 2011 OpenGL API (1) API (application programming interface) Interface between an application program and a graphics system Application Program OpenGL API Graphics Library

More information

Exercise 1 Introduction to OpenGL

Exercise 1 Introduction to OpenGL Exercise 1 Introduction to OpenGL What we are going to do OpenGL Glut Small Example using OpenGl and Glut Alexandra Junghans 2 What is OpenGL? OpenGL Two Parts most widely used and supported graphics API

More information

Lecture 4 of 41. Lab 1a: OpenGL Basics

Lecture 4 of 41. Lab 1a: OpenGL Basics Lab 1a: OpenGL Basics William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://snipurl.com/1y5gc Course web site: http://www.kddresearch.org/courses/cis636 Instructor

More information

Computer Graphics (Basic OpenGL)

Computer Graphics (Basic OpenGL) Computer Graphics (Basic OpenGL) Thilo Kielmann Fall 2008 Vrije Universiteit, Amsterdam kielmann@cs.vu.nl http://www.cs.vu.nl/ graphics/ Computer Graphics (Basic OpenGL, Input and Interaction), ((57))

More information

Image Formation. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Image Formation. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Image Formation Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Objectives Fundamental imaging notions Physical basis for image formation

More information

Reading. 2. Color. Emission spectra. The radiant energy spectrum. Watt, Chapter 15.

Reading. 2. Color. Emission spectra. The radiant energy spectrum. Watt, Chapter 15. Reading Watt, Chapter 15. Brian Wandell. Foundations of Vision. Chapter 4. Sinauer Associates, Sunderland, MA, pp. 69-97, 1995. 2. Color 1 2 The radiant energy spectrum We can think of light as waves,

More information

Computer Graphics. OpenGL

Computer Graphics. OpenGL Computer Graphics OpenGL What is OpenGL? OpenGL (Open Graphics Library) is a library for computer graphics It consists of several procedures and functions that allow a programmer to specify the objects

More information

CS 543 Lecture 1 (Part II): Intro to OpenGL and GLUT (Part I) Emmanuel Agu

CS 543 Lecture 1 (Part II): Intro to OpenGL and GLUT (Part I) Emmanuel Agu CS 543 Lecture 1 (Part II): Intro to OpenGL and GLUT (Part I) Emmanuel Agu OpenGL Basics OpenGL s function Rendering Rendering? Convert geometric/mathematical object descriptions into images OpenGL can

More information

ERKELEY DAVIS IRVINE LOS ANGELES RIVERSIDE SAN DIEGO SAN FRANCISCO EECS 104. Fundamentals of Computer Graphics. OpenGL

ERKELEY DAVIS IRVINE LOS ANGELES RIVERSIDE SAN DIEGO SAN FRANCISCO EECS 104. Fundamentals of Computer Graphics. OpenGL ERKELEY DAVIS IRVINE LOS ANGELES RIVERSIDE SAN DIEGO SAN FRANCISCO SANTA BARBARA SANTA CRUZ EECS 104 Fundamentals of Computer Graphics OpenGL Slides courtesy of Dave Shreine, Ed Angel and Vicki Shreiner

More information

Lecture 1 Image Formation.

Lecture 1 Image Formation. Lecture 1 Image Formation peimt@bit.edu.cn 1 Part 3 Color 2 Color v The light coming out of sources or reflected from surfaces has more or less energy at different wavelengths v The visual system responds

More information

GL_COLOR_BUFFER_BIT, GL_PROJECTION, GL_MODELVIEW

GL_COLOR_BUFFER_BIT, GL_PROJECTION, GL_MODELVIEW OpenGL Syntax Functions have prefix gl and initial capital letters for each word glclearcolor(), glenable(), glpushmatrix() glu for GLU functions glulookat(), gluperspective() constants begin with GL_,

More information

Comp 410/510 Computer Graphics Spring Programming with OpenGL Part 2: First Program

Comp 410/510 Computer Graphics Spring Programming with OpenGL Part 2: First Program Comp 410/510 Computer Graphics Spring 2017 Programming with OpenGL Part 2: First Program Objectives Refine the first program Introduce a standard program structure - Initialization Program Structure Most

More information

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CSE528 Computer Graphics: Theory, Algorithms, and Applications CSE528 Computer Graphics: Theory, Algorithms, and Applications Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 11794--4400 Tel: (631)632-8450; Fax: (631)632-8334

More information

CS635 Spring Department of Computer Science Purdue University

CS635 Spring Department of Computer Science Purdue University Color and Perception CS635 Spring 2010 Daniel G Aliaga Daniel G. Aliaga Department of Computer Science Purdue University Elements of Color Perception 2 Elements of Color Physics: Illumination Electromagnetic

More information

Computer Graphics. Bing-Yu Chen National Taiwan University

Computer Graphics. Bing-Yu Chen National Taiwan University Computer Graphics Bing-Yu Chen National Taiwan University Introduction The Graphics Process Color Models Triangle Meshes The Rendering Pipeline 1 INPUT What is Computer Graphics? Definition the pictorial

More information

Computer Graphics, Chapt 08

Computer Graphics, Chapt 08 Computer Graphics, Chapt 08 Creating an Image Components, parts of a scene to be displayed Trees, terrain Furniture, walls Store fronts and street scenes Atoms and molecules Stars and galaxies Describe

More information

Introduction to Computer Graphics with WebGL

Introduction to Computer Graphics with WebGL Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science Laboratory University of New Mexico Image Formation

More information

Graphics Programming. August 31, Programming of the Sierpinski gasket. Programming with OpenGL and C/C++

Graphics Programming. August 31, Programming of the Sierpinski gasket. Programming with OpenGL and C/C++ Computer Graphics Graphics Programming August 31, 2005 Contents Our Goal in This Chapter Programming of the Sierpinski gasket How To? Programming with OpenGL and C/C++ OpenGL API (Application Programmer

More information

CSC 8470 Computer Graphics. What is Computer Graphics?

CSC 8470 Computer Graphics. What is Computer Graphics? CSC 8470 Computer Graphics What is Computer Graphics? For us, it is primarily the study of how pictures can be generated using a computer. But it also includes: software tools used to make pictures hardware

More information

Lecture 2 2D transformations Introduction to OpenGL

Lecture 2 2D transformations Introduction to OpenGL Lecture 2 2D transformations Introduction to OpenGL OpenGL where it fits what it contains how you work with it OpenGL parts: GL = Graphics Library (core lib) GLU = GL Utilities (always present) GLX, AGL,

More information

(0, 1, 1) (0, 1, 1) (0, 1, 0) What is light? What is color? Terminology

(0, 1, 1) (0, 1, 1) (0, 1, 0) What is light? What is color? Terminology lecture 23 (0, 1, 1) (0, 0, 0) (0, 0, 1) (0, 1, 1) (1, 1, 1) (1, 1, 0) (0, 1, 0) hue - which ''? saturation - how pure? luminance (value) - intensity What is light? What is? Light consists of electromagnetic

More information

Introduction to color science

Introduction to color science Introduction to color science Trichromacy Spectral matching functions CIE XYZ color system xy-chromaticity diagram Color gamut Color temperature Color balancing algorithms Digital Image Processing: Bernd

More information

INTRODUCTION. Slides modified from Angel book 6e

INTRODUCTION. Slides modified from Angel book 6e INTRODUCTION Slides modified from Angel book 6e Fall 2012 COSC4328/5327 Computer Graphics 2 Objectives Historical introduction to computer graphics Fundamental imaging notions Physical basis for image

More information

Basic Graphics Programming

Basic Graphics Programming 15-462 Computer Graphics I Lecture 2 Basic Graphics Programming Graphics Pipeline OpenGL API Primitives: Lines, Polygons Attributes: Color Example January 17, 2002 [Angel Ch. 2] Frank Pfenning Carnegie

More information

Illumination and Shading

Illumination and Shading Illumination and Shading Light sources emit intensity: assigns intensity to each wavelength of light Humans perceive as a colour - navy blue, light green, etc. Exeriments show that there are distinct I

More information

CS 432 Interactive Computer Graphics

CS 432 Interactive Computer Graphics CS 432 Interactive Computer Graphics Lecture 1 Part 3 Anatomy of OpenGL Programs Matt Burlick - Drexel University - CS 432 1 Reading Angel Chapter 2 Red Book Chapter 4 Matt Burlick - Drexel University

More information

Image Formation. Camera trial #1. Pinhole camera. What is an Image? Light and the EM spectrum The H.V.S. and Color Perception

Image Formation. Camera trial #1. Pinhole camera. What is an Image? Light and the EM spectrum The H.V.S. and Color Perception Image Formation Light and the EM spectrum The H.V.S. and Color Perception What is an Image? An image is a projection of a 3D scene into a 2D projection plane. An image can be defined as a 2 variable function

More information

Game Programming. Bing-Yu Chen National Taiwan University

Game Programming. Bing-Yu Chen National Taiwan University Game Programming Bing-Yu Chen National Taiwan University What is Computer Graphics? Definition the pictorial synthesis of real or imaginary objects from their computer-based models descriptions OUTPUT

More information

3D graphics, raster and colors CS312 Fall 2010

3D graphics, raster and colors CS312 Fall 2010 Computer Graphics 3D graphics, raster and colors CS312 Fall 2010 Shift in CG Application Markets 1989-2000 2000 1989 3D Graphics Object description 3D graphics model Visualization 2D projection that simulates

More information

SNC 2PI Optics Unit Review /95 Name:

SNC 2PI Optics Unit Review /95 Name: SNC 2PI Optics Unit Review /95 Name: Part 1: True or False Indicate in the space provided if the statement is true (T) or false(f) [15] 1. Light is a form of energy 2. Shadows are proof that light travels

More information

CS Computer Graphics: Intro to OpenGL

CS Computer Graphics: Intro to OpenGL CS 543 - Computer Graphics: Intro to OpenGL by Robert W. Lindeman gogo@wpi.edu (with help from Emmanuel Agu ;-) OpenGL Basics Last time: What is Computer Graphics? What is a graphics library What to expect

More information

CS Computer Graphics: Intro to OpenGL

CS Computer Graphics: Intro to OpenGL CS 543 - Computer Graphics: Intro to OpenGL by Robert W. Lindeman gogo@wpi.edu (with help from Emmanuel Agu ;-) OpenGL Basics Last time: What is Computer Graphics? What is a graphics library What to expect

More information

Overview of Graphics Systems Hearn & Baker Chapter 2. Some slides are taken from Robert Thomsons notes.

Overview of Graphics Systems Hearn & Baker Chapter 2. Some slides are taken from Robert Thomsons notes. Overview of Graphics Systems Hearn & Baker Chapter 2 Some slides are taken from Robert Thomsons notes. OVERVIEW Video Display Devices Raster Scan Systems Graphics Workstations and Viewing Systems Input

More information

Pick up Light Packet & Light WS

Pick up Light Packet & Light WS Pick up Light Packet & Light WS Only sit or stand at a station with a cup. Test or Quiz Make Ups Today/Tomorrow after School Only. Sound Test Corrections/Retakes: Wednesday, Next Tuesday, Wednesday, Thursday

More information

CGT521 Introduction to

CGT521 Introduction to CGT521 Introduction to Bedrich Benes, Ph.D. Purdue University Department of Computer Graphics Rendering We have a virtual scene (a model in the memory of computer) and we want to display it What is the

More information

Computer Graphics Lecture 2

Computer Graphics Lecture 2 1 / 16 Computer Graphics Lecture 2 Dr. Marc Eduard Frîncu West University of Timisoara Feb 28th 2012 2 / 16 Outline 1 Graphics System Graphics Devices Frame Buffer 2 Rendering pipeline 3 Logical Devices

More information

CSE 167: Lecture #6: Color. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 167: Lecture #6: Color. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 CSE 167: Introduction to Computer Graphics Lecture #6: Color Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework project #3 due this Friday, October 14

More information

Introduction to Computer Graphics with OpenGL/GLUT

Introduction to Computer Graphics with OpenGL/GLUT Introduction to Computer Graphics with OpenGL/GLUT What is OpenGL? A software interface to graphics hardware Graphics rendering API (Low Level) High-quality color images composed of geometric and image

More information

OpenGL Introduction Computer Graphics and Visualization

OpenGL Introduction Computer Graphics and Visualization Fall 2009 2 OpenGL OpenGL System Interaction Portable Consistent visual display regardless of hardware, OS and windowing system Callable from Ada, C, C++, Fortran, Python, Perl and Java Runs on all major

More information

Survey in Computer Graphics Computer Graphics and Visualization

Survey in Computer Graphics Computer Graphics and Visualization Example of a Marble Ball Where did this image come from? Fall 2010 What hardware/software/algorithms did we need to produce it? 2 A Basic Graphics System History of Computer Graphics 1200-2008 Input devices

More information

National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor

National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Computer Graphics 1. Graphics Systems National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Textbook: Hearn and Baker, Computer Graphics, 3rd Ed., Prentice Hall Ref: E.Angel, Interactive

More information

Computer Graphics. Chapter 3 Computer Graphics Software

Computer Graphics. Chapter 3 Computer Graphics Software Computer Graphics Chapter 3 Computer Graphics Software Outline Graphics Software Packages Introduction to OpenGL Example Program 2 3 Graphics Software Software packages General Programming Graphics Packages

More information

CS4670: Computer Vision

CS4670: Computer Vision CS4670: Computer Vision Noah Snavely Lecture 30: Light, color, and reflectance Light by Ted Adelson Readings Szeliski, 2.2, 2.3.2 Light by Ted Adelson Readings Szeliski, 2.2, 2.3.2 Properties of light

More information

CS452/552; EE465/505. Color Display Issues

CS452/552; EE465/505. Color Display Issues CS452/552; EE465/505 Color Display Issues 4-16 15 2 Outline! Color Display Issues Color Systems Dithering and Halftoning! Splines Hermite Splines Bezier Splines Catmull-Rom Splines Read: Angel, Chapter

More information

Light Transport Baoquan Chen 2017

Light Transport Baoquan Chen 2017 Light Transport 1 Physics of Light and Color It s all electromagnetic (EM) radiation Different colors correspond to radiation of different wavelengths Intensity of each wavelength specified by amplitude

More information

CSE4030 Introduction to Computer Graphics

CSE4030 Introduction to Computer Graphics CSE4030 Introduction to Computer Graphics Dongguk University Jeong-Mo Hong Timetable 00:00~00:10 Introduction (English) 00:10~00:50 Topic 1 (English) 00:50~00:60 Q&A (English, Korean) 01:00~01:40 Topic

More information

Computer Graphics. Making Pictures. Computer Graphics CSC470 1

Computer Graphics. Making Pictures. Computer Graphics CSC470 1 Computer Graphics Making Pictures Computer Graphics CSC470 1 Getting Started Making Pictures Graphics display: Entire screen (a); windows system (b); [both have usual screen coordinates, with y-axis y

More information

What is it? How does it work? How do we use it?

What is it? How does it work? How do we use it? What is it? How does it work? How do we use it? Dual Nature http://www.youtube.com/watch?v=dfpeprq7ogc o Electromagnetic Waves display wave behavior o Created by oscillating electric and magnetic fields

More information

Computer Graphics and Visualization. Graphics Systems and Models

Computer Graphics and Visualization. Graphics Systems and Models UNIT -1 Graphics Systems and Models 1.1 Applications of computer graphics: Display Of Information Design Simulation & Animation User Interfaces 1.2 Graphics systems A Graphics system has 5 main elements:

More information

OpenGL/GLUT Intro. Week 1, Fri Jan 12

OpenGL/GLUT Intro. Week 1, Fri Jan 12 University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2007 Tamara Munzner OpenGL/GLUT Intro Week 1, Fri Jan 12 http://www.ugrad.cs.ubc.ca/~cs314/vjan2007 News Labs start next week Reminder:

More information

CS130 : Computer Graphics Lecture 2: Graphics Pipeline. Tamar Shinar Computer Science & Engineering UC Riverside

CS130 : Computer Graphics Lecture 2: Graphics Pipeline. Tamar Shinar Computer Science & Engineering UC Riverside CS130 : Computer Graphics Lecture 2: Graphics Pipeline Tamar Shinar Computer Science & Engineering UC Riverside Raster Devices and Images Raster Devices - raster displays show images as a rectangular array

More information

COMP 371/4 Computer Graphics Week 1

COMP 371/4 Computer Graphics Week 1 COMP 371/4 Computer Graphics Week 1 Course Overview Introduction to Computer Graphics: Definition, History, Graphics Pipeline, and Starting Your First OpenGL Program Ack: Slides from Prof. Fevens, Concordia

More information

Announcements OpenGL. Computer Graphics. Autumn 2009 CS4815

Announcements OpenGL. Computer Graphics. Autumn 2009 CS4815 Computer Graphics Autumn 2009 Outline 1 Labs 2 Labs Outline 1 Labs 2 Labs Labs Week02 lab Marking 8 10 labs in total each lab worth 2 3% of overall grade marked on attendance and completion of lab completed

More information

Computer Graphics 1 Computer Graphics 1

Computer Graphics 1 Computer Graphics 1 Projects: an example Developed by Nate Robbins Shapes Tutorial What is OpenGL? Graphics rendering API high-quality color images composed of geometric and image primitives window system independent operating

More information

Computer Graphics (CS 4731) OpenGL/GLUT(Part 1)

Computer Graphics (CS 4731) OpenGL/GLUT(Part 1) Computer Graphics (CS 4731) Lecture 2: Introduction to OpenGL/GLUT(Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Recall: OpenGL GLBasics OpenGL s function Rendering

More information

Rendering. Part 1 An introduction to OpenGL

Rendering. Part 1 An introduction to OpenGL Rendering Part 1 An introduction to OpenGL Olivier Gourmel VORTEX Team IRIT University of Toulouse gourmel@irit.fr Image synthesis The Graphics Processing Unit (GPU): A highly parallel architecture specialized

More information

To Do. Computer Graphics (Fall 2008) Course Outline. Course Outline. Methodology for Lecture. Demo: Surreal (HW 3)

To Do. Computer Graphics (Fall 2008) Course Outline. Course Outline. Methodology for Lecture. Demo: Surreal (HW 3) Computer Graphics (Fall 2008) COMS 4160, Lecture 9: OpenGL 1 http://www.cs.columbia.edu/~cs4160 To Do Start thinking (now) about HW 3. Milestones are due soon. Course Course 3D Graphics Pipeline 3D Graphics

More information

Basic Graphics Programming

Basic Graphics Programming CSCI 480 Computer Graphics Lecture 2 Basic Graphics Programming January 11, 2012 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s12/ Graphics Pipeline OpenGL API

More information

Computer Graphics Course 2005

Computer Graphics Course 2005 Computer Graphics Course 2005 Introduction to GLUT, GLU and OpenGL Administrative Stuff Teaching Assistant: Rony Goldenthal Reception Hour: Wed. 18:00 19:00 Room 31 (Ross 1) Questions: E-mail: cg@cs Newsgroups:

More information

1.2 Basic Graphics Programming

1.2 Basic Graphics Programming Fall 2018 CSCI 420: Computer Graphics 1.2 Basic Graphics Programming Hao Li http://cs420.hao-li.com 1 Last time Last Time Story Computer Graphics Image Last Time 3D Printing 3D Capture Animation Modeling

More information

Image Formation. CS418 Computer Graphics Eric Shaffer.

Image Formation. CS418 Computer Graphics Eric Shaffer. Image Formation CS418 Computer Graphics Eric Shaffer http://graphics.cs.illinois.edu/cs418/fa14 Some stuff about the class Grades probably on usual scale: 97 to 93: A 93 to 90: A- 90 to 87: B+ 87 to 83:

More information

Graphics Pipeline & APIs

Graphics Pipeline & APIs Graphics Pipeline & APIs CPU Vertex Processing Rasterization Fragment Processing glclear (GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT); glpushmatrix (); gltranslatef (-0.15, -0.15, solidz); glmaterialfv(gl_front,

More information

Light. Properties of light. What is light? Today What is light? How do we measure it? How does light propagate? How does light interact with matter?

Light. Properties of light. What is light? Today What is light? How do we measure it? How does light propagate? How does light interact with matter? Light Properties of light Today What is light? How do we measure it? How does light propagate? How does light interact with matter? by Ted Adelson Readings Andrew Glassner, Principles of Digital Image

More information

Lecture 11. Color. UW CSE vision faculty

Lecture 11. Color. UW CSE vision faculty Lecture 11 Color UW CSE vision faculty Starting Point: What is light? Electromagnetic radiation (EMR) moving along rays in space R(λ) is EMR, measured in units of power (watts) λ is wavelength Perceiving

More information

GLUT. What is OpenGL? Introduction to OpenGL and GLUT

GLUT. What is OpenGL? Introduction to OpenGL and GLUT What is OpenGL? Introduction to OpenGL and An application programming interface (API) A (low-level) Graphics rendering API Generate high-quality h color images composed of geometric and image primitives

More information

CSE 167: Lecture #6: Color. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Lecture #6: Color. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Lecture #6: Color Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #3 due this Friday, October 19

More information

Information Coding / Computer Graphics, ISY, LiTH. OpenGL! ! where it fits!! what it contains!! how you work with it 11(40)

Information Coding / Computer Graphics, ISY, LiTH. OpenGL! ! where it fits!! what it contains!! how you work with it 11(40) 11(40) Information Coding / Computer Graphics, ISY, LiTH OpenGL where it fits what it contains how you work with it 11(40) OpenGL The cross-platform graphics library Open = Open specification Runs everywhere

More information

OpenGL. Jimmy Johansson Norrköping Visualization and Interaction Studio Linköping University

OpenGL. Jimmy Johansson Norrköping Visualization and Interaction Studio Linköping University OpenGL Jimmy Johansson Norrköping Visualization and Interaction Studio Linköping University Background Software interface to graphics hardware 250+ commands Objects (models) are built from geometric primitives

More information

Reading. 4. Color. Outline. The radiant energy spectrum. Suggested: w Watt (2 nd ed.), Chapter 14. Further reading:

Reading. 4. Color. Outline. The radiant energy spectrum. Suggested: w Watt (2 nd ed.), Chapter 14. Further reading: Reading Suggested: Watt (2 nd ed.), Chapter 14. Further reading: 4. Color Brian Wandell. Foundations of Vision. Chapter 4. Sinauer Associates, Sunderland, MA, 1995. Gerald S. Wasserman. Color Vision: An

More information

OPEN GL BACKGROUND. Objectives. Early History of APIs. SGI and GL. PHIGS and X. Modified from Angel 6e book slides

OPEN GL BACKGROUND. Objectives. Early History of APIs. SGI and GL. PHIGS and X. Modified from Angel 6e book slides OPEN GL Modified from Angel 6e book slides BACKGROUND Objectives Early History of APIs Development of the OpenGL API OpenGL Architecture OpenGL as a state machine OpenGL as a data flow machine Functions

More information

Announcements OpenGL. Computer Graphics. Spring CS4815

Announcements OpenGL. Computer Graphics. Spring CS4815 Computer Graphics Spring 2017-2018 Outline 1 2 Tutes and Labs Tute02, vector review (see matrix) Week02 lab Lab Marking 10 labs in total each lab worth 3% of overall grade marked on attendance and completion

More information

CSE 167: Introduction to Computer Graphics Lecture #6: Colors. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

CSE 167: Introduction to Computer Graphics Lecture #6: Colors. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 CSE 167: Introduction to Computer Graphics Lecture #6: Colors Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Homework project #3 due this Friday, October 18

More information

RECITATION - 1. Ceng477 Fall

RECITATION - 1. Ceng477 Fall RECITATION - 1 Ceng477 Fall 2007-2008 2/ 53 Agenda General rules for the course General info on the libraries GLUT OpenGL GLUI Details about GLUT Functions Probably we will not cover this part 3/ 53 General

More information

11/1/13. Basic Graphics Programming. Teaching Assistant. What is OpenGL. Course Producer. Where is OpenGL used. Graphics library (API)

11/1/13. Basic Graphics Programming. Teaching Assistant. What is OpenGL. Course Producer. Where is OpenGL used. Graphics library (API) CSCI 420 Computer Graphics Lecture 2 Basic Graphics Programming Teaching Assistant Yijing Li Office hours TBA Jernej Barbic University of Southern California Graphics Pipeline OpenGL API Primitives: Lines,

More information