ISC/GAM 4322 ISC 6310 Multimedia Development and Programming Unit 1 Graphics Systems and Models.

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS SOFTWARE.
Advertisements

Fundamentals of Computer Graphics Part 1
Graphics Pipeline.
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Graphics Systems I-Chen Lin’s CG slides, Doug James’s CG slides Angel, Interactive Computer Graphics, Chap 1 Introduction to Graphics Pipeline.
Image Formation Mohan Sridharan Based on slides created by Edward Angel CS4395: Computer Graphics 1.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
CSC 461: Lecture 2 1 CSC461 Lecture 2: Image Formation Objectives Fundamental imaging notions Fundamental imaging notions Physical basis for image formation.
CHAPTER 7 Viewing and Transformations © 2008 Cengage Learning EMEA.
Computer Graphics/and Multimedia CMM472/CIT773 What is CG ?, History of CG, Course Overview.
1 Chapter 1: Graphics Systems and Models. 2 Applications of C. G. – 1/4 Display of information Maps GIS (geographic information system) CT (computer tomography)
C O M P U T E R G R A P H I C S Guoying Zhao 1 / 46 C O M P U T E R G R A P H I C S Guoying Zhao 1 / 46 Computer Graphics Introduction II.
Chapter 1 Graphics Systems and Models. What is Computer Graphics? Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media.
Computer Graphics/and Multimedia CMM472/CIT773 What is CG ?, History of CG, Course Overview.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Computer Graphics I, Fall 2008 Image Formation.
1 Image Formation. 2 Objectives Fundamental imaging notions Physical basis for image formation ­Light ­Color ­Perception Synthetic camera model Other.
CHAPTER 4 Window Creation and Control © 2008 Cengage Learning EMEA.
Graphics System CSC 2141 Introduction to Computer Graphics.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
1 Computer Graphics Week3 –Graphics & Image Processing.
Computer Graphics in Java1 Objects and Viewers Two basic entities (one object seen from two different positions) :
Computer Graphics.
1 By Dr. Hany Elsalamony. 2 3  Computer graphics generally means creation, storage and manipulation of models and images  Such models come from diverse.
Chapter 1: Graphics Systems and Models Instructor: Shih-Shinh Huang 1.
Advanced Computer Graphics March 06, Grading Programming assignments Paper study and reports (flipped classroom) Final project No written exams.
Using OpenGL in Visual C++ Opengl32.dll and glu32.dll should be in the system folder Opengl32.dll and glu32.dll should be in the system folder Opengl32.lib.
Graphics Systems and Models Chapter 1. CS 480/680 2Chapter 1 -- Graphics Systems and Models Introduction: Introduction: Computer Graphics Computer Graphics.
1 Chapter 1: Graphics Systems and Models Dr. Payne CSCI 3600 North Georgia College & St. Univ.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
1 Graphics CSCI 343, Fall 2015 Lecture 1 Introduction to Graphics Read: Chapter 1 of textbook.
COMPUTER GRAPHICS Hochiminh city University of Technology Faculty of Computer Science and Engineering CHAPTER 01: Graphics System.
Computer Graphics I, Fall : What is Computer Graphics?
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
CS 480/680 Computer Graphics Image Formation Dr. Frederick C Harris, Jr.
CSE Real Time Rendering Week 2. Graphics Processing 2.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Computer Graphics Week2 –Creating a Picture. Steps for creating a picture Creating a model Perform necessary transformation Lighting and rendering the.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
Chun-Yuan Lin Graphics Systems and Models 2015/11/12 1 CG.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Introduction to OpenGL  OpenGL is a graphics API  Software library  Layer between programmer and graphics hardware (and software)  OpenGL can fit in.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
1 Angel: Interactive Computer Graphics5E © Addison- Wesley 2009 Image Formation Fundamental imaging notions Fundamental imaging notions Physical basis.
1 Chapter 1: Graphics Systems and Models. 2 Applications of C. G. – 1/4 Display of information Maps GIS (geographic information system) CT (computer tomography)
What are Computer Graphics Basically anything that is on you Monitor – This includes the text that you will see Text isn’t Advanced Graphics But…. Understanding.
Chapter 1 Graphics Systems and Models Models and Architectures.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Models and Architectures 靜宜大學 資訊工程系 蔡奇偉 副教授 2012.
GLSL Review Monday, Nov OpenGL pipeline Command Stream Vertex Processing Geometry processing Rasterization Fragment processing Fragment Ops/Blending.
Graphics Programming. Graphics Functions We can think of the graphics system as a black box whose inputs are function calls from an application program;
Graphics Graphics Korea University cgvr.korea.ac.kr Introduction to Computer Graphics 고려대학교 컴퓨터 그래픽스 연구실.
1 Chapter 1: Introduction to Graphics. 2 What is computer graphics.
1 Computer Graphics - Chapter 1 Graphics Systems and Models Objectives are to learn about: Applications of Computer Graphics Graphics Systems Images: Physical.
- Introduction - Graphics Pipeline
Graphics Systems and Models
Graphics Programming CSC
Week 2 - Friday CS361.
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
Models and Architectures
Models and Architectures
Models and Architectures
Introduction to Computer Graphics with WebGL
Models and Architectures
Models and Architectures
Graphics Systems and Models (II)
Presentation transcript:

ISC/GAM 4322 ISC 6310 Multimedia Development and Programming Unit 1 Graphics Systems and Models

Introduction  Computer Graphics –What is it?  Overview of what we will cover –A Graphics Overview –Graphics Theory –A Graphics Software System: OpenGL  Our approach will be top-down –We want you to start writing application programs that generate graphical output as quickly as possible

Computer Graphics  Computer Graphics deals with all aspects of creating images with a computer –Hardware CPU’s GPU –Software OpenGL DirectX –Applications

Applications of Computer Graphics  The development of Computer Graphics has been driven by the needs of the user community and by the advances in hardware and software.  Applications –Display of Information –Design –Games & Simulations –User Interfaces

1. Display of Information

2. Design

3.Simulations: GAMES!

4: User Interfaces

Graphics Then & Now  Graphics in ‘81 videovideo  Graphics in ‘07 videovideo

A Graphics System  There are 5 major elements in our system –Processor –Memory –Frame Buffer –Input Devices –Output Devices

Definitions  Depth of the Frame Buffer –1-bit –8-bit deep –Full-color is 24-bit or more  Resolution –The number of pixels in the frame buffer  Rasterization or Scan Conversion –The conversion of geometric primitives into pixel assignments in the frame buffer

Output Devices: CRT Can be used either as a line-drawing device (calligraphic) or to display contents of frame buffer (raster mode)

Raster System

Color CRT’s  Have three different colored phosphors arranged in small groups (typically triads).

Flat Panel LCDs

Input Devices  Most graphics systems provide a keyboard and at least one other input device –Mouse –Joystick/Controller –Multi- Touch Data Tablet –Wii-mote –Guitar  We will study these devices in Chapter 3 & hook them up to our application.

Images:Physical and Synthetic  The Usual Approach: –Construct Raster Images Simple 2D Entities –Points –Lines –Polygons  Define objects based upon 2D representation.  Because such functionality is supported by most present computer graphics systems, we are going to learn to create images here, rather than expand a limited model.

Objects and Viewers  Image-Formation Process (the Two Entities): –The Object –The Viewer  The object exists in space independent of any image-formation process, and of any viewer.

Graphic – A Projection Model Image Output 3D Object Synthetic Camera Projection, shading, lighting models

What Now!  Both the object and the viewer exist in a 3D world. However, the image they define is 2D  Image-Formation –The Object + the Viewer’s Specifications An Image  Future –Chapter 2 OpenGL –Build Simple Objects. –Chapter 9 Interactive Objects –Objects Relations w/ Each Other

Light and Images  Much information was missing from the preceding picture: –We have yet to mention light! If there were no light sources the objects would be dark, and there would be nothing visible in our image. –We have not mentioned how color enters the picture. –Or, what are the effects of different kinds of surfaces have on the objects.

Imitating real life  Taking a more physical approach, we can start with the following arrangement:  The details of the interaction between light and the surfaces of the object determine how much light enters the camera.

Light properties Light is a form of electromagnetic radiation:

Trace a Ray!  We can start building an imaging model by following light from a source.

Ray Tracing  Ray tracing is an image formation technique that is based on these ideas and that can form the basis for producing computer generated images.

The Human Visual System  Our extremely complex visual system has all the components of a physical imaging system, such as a camera or a microscope.

The Pinhole Camera  Looks like this:  A Pinhole camera is a box –with a small hole in the center on one side, –and the film on the opposite side –And you could take pictures with it in the old days Pinhole camera near Cliff House in San Francisco

The Synthetic Camera Model  Creating a “software” image based on the traditional optical system.  Consider the imaging system shown here: Upside down

Some Basic Principles  The objects specification is independent of the viewer specifications.  In a graphics library we would expect separate functions for specifying objects and the viewer.  We can compute the image using simple trigonometric calculations

 Symmetry in projections –Move the image plane in front of the lens  In Chapter 5, we discuss this process in detail and derive the relevant mathematical formulas Some Adjustments

Constraints  Clipping –We must also consider the limited size of the image.

The Programmer’s Interface  There are numerous ways that a user can interact with a graphics system –In a typical paint program it would look like this:

Application Programmer’s Interfaces  What is an API?  Why do you want one?

Synthetic Camera Model  If we are to follow the synthetic camera model, we need functions in the API to specify: –Objects –The Viewer –Light Sources –Material Properties

Objects  Objects are usually defined by a set of vertices  The following code fragment defines a triangle in OpenGL –glBegin(GL_POLYGON); – glVertex3f(0.0,0.0,0.0); – glVertex3f(0.0,1.0,0.0); – glVertex3f(0.0,0.0,1.0); –glEND();

 We can define a viewer or camera in a variety of ways –Necessary Specifications Position Orientation Focal Length Film Plane The Viewer

Lights  Light sources can be defined by their location, strength, color, and directionality.  API’s provide a set of functions to specify these parameters for each source.  Material properties are characteristics, or attributes, of the objects –Such properties are usually defined through a series of function calls at the time that each object is defined.

Materials  Material properties are characteristics, or attributes, of the objects –Such properties are usually defined through a series of function calls at the time that each object is defined.

Sequence of Images  In Chapter 2, we begin our detailed discussion of the OpenGL API  Color Plates 1 through 8 show what is possible with available hardware and a good API, but also they are not difficult to generate.

Graphics Architectures  On one side of the API is the application program. On the other is some combination of hardware and software that implements the functionality of the API  Researchers have taken various approaches to developing architectures to support graphics APIs

 General Purpose Computers (CPU) –Single Processing Unit  In the early days of computer graphics, computers were so slow that refreshing even simple images, containing a few hundred line segments, would burden an expensive computer Early Systems

Display Processors  The earliest attempts to build a special purpose graphics system were concerned primarily with relieving the task of refreshing the display

 The major advances in graphics architectures parallel closely the advances in workstations.  For computer graphics applications, the most important use of custom VLSI circuits has been in creating pipeline architectures  A simple arithmetic pipeline is shown here: Pipeline Architecture

Pipeline  If we think in terms of processing the geometry of our objects to obtain an image, we can use the following block diagram:  We will discuss the details of these steps in subsequent chapters.

Transformations  Many of the steps in the imaging process can be viewed as transformations between representations of objects in different coordinate systems  for example: from the system in which the object was defined to the system of the camera.  We can represent each change of coordinate systems by a matrix  We can represent successive changes by multiplying (or concatenating) the individual matrices into a single matrix.  Will all be discussed in chapter 4!

 Why do we Clip?  Efficient clipping algorithms are developed in Chapter 7 Clipping

Projection  In general three-dimensional objects are kept in three dimensions as long as possible, as they pass through the pipeline.  Eventually though, they must be projected into two-dimensional objects.  There are various projections that we can implement.  We shall see in Chapter 5 that we can implement this step using 4 x 4 matrices, and, thus, also fit it into the pipeline.

Rasterization  Finally, our projected objects must be represented as pixels in the frame buffer. E.g we have to squash our 3D object into a 2D pixel representation.  We discuss this scan-conversion or rasterization process in Chapter 7

Performance Characteristics  There are two fundamentally different types of processing. –Front end -- geometric processing, based on the processing of vertices ideally suited for pipelining, and usually involves floating-point calculations. –Back end -- involves direct manipulation of bits in the frame buffer. Ideally suited for parallel bit processors.

Summary  In this chapter we have set the stage for our top-down development of computer graphics. –Computer graphics is a method of image formation that should be related to classical methods -- in particular to cameras –Our next step is to explore the application side of Computer Graphics programming. E.g Let’s start programming using the OpenGL API!