Graphics Systems and Models

Slides:



Advertisements
Similar presentations
Fundamentals of Computer Graphics Part 1
Advertisements

Graphics Pipeline.
Vertices and Fragments I CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
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.
IE433 CAD/CAM Computer Aided Design and Computer Aided Manufacturing Part-2 CAD Systems Industrial Engineering Department King Saud University.
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.
Computer Graphics/and Multimedia CMM472/CIT773 What is CG ?, History of CG, Course Overview.
Graphics System CSC 2141 Introduction to Computer Graphics.
ISC/GAM 4322 ISC 6310 Multimedia Development and Programming Unit 1 Graphics Systems and Models.
1 Computer Graphics Week3 –Graphics & Image Processing.
Computer Graphics Computer Graphics is everywhere: Visual system is most important sense: High bandwidth Natural communication Fast developments in Hardware.
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.
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.
Graphics Architectures & OpenGL API Introduction Angel Angel: Interactive Computer Graphics5E © Addison-Wesley
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.
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.
OpenGL Conclusions OpenGL Programming and Reference Guides, other sources CSCI 6360/4360.
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.
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)
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.
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.
Lecture 9 From Vertices to Fragments. Objectives Introduce basic implementation strategies Clipping Rasterization hidden-surface removal.
1 Computer Graphics - Chapter 1 Graphics Systems and Models Objectives are to learn about: Applications of Computer Graphics Graphics Systems Images: Physical.
1 Computer Graphics - Chapter 1 Graphics Systems and Models Objectives are to learn about: Applications of Computer Graphics Graphics Systems Images: Physical.
What is Computer Graphics?
- Introduction - Graphics Pipeline
Graphics Programming CSC
Computer Graphics.
Photorealistic Rendering vs. Interactive 3D Graphics
Week 2 - Friday CS361.
Unified Modeling Language
What is Computer Graphics?
What is Computer Graphics?
Modeling 101 For the moment assume that all geometry consists of points, lines and faces Line: A segment between two endpoints Face: A planar area bounded.
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
Real-time Computer Graphics Overview
Models and Architectures
Models and Architectures
Models and Architectures
Introduction to Computer Graphics with WebGL
AN INTRODUCTION TO COMPUTER GRAPHICS Subject: Computer Graphics Lecture No: 01 Batch: 16BS(Information Technology)
Models and Architectures
What is Computer Graphics?
Models and Architectures
CS297 Graphics with Java and OpenGL
Graphics Systems and Models (II)
Presentation transcript:

Graphics Systems and Models Chapter 1

Chapter 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 CS 480/680 Chapter 1 -- Graphics Systems and Models

1. 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 can be split into four major areas: Display of information Design Simulation User Interfaces CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 1.1 Display of Information Classical graphics techniques arose as a medium to convey information among people: 4,000 years ago -- Babylonians: floor plans of buildings on stones 2,000 years ago -- Greeks: Architectural ideas Now we have Computer-based drafting programs CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models For centuries -- Cartographers have developed maps to display celestial and geographical information. Now maps can be developed and manipulated in real-time over the internet. CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models Over the past 100 years -- workers in statistics have explored techniques for generating plots to convey information Now we have computer plotting packages CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models Medicine poses interesting and important data-analysis problems CAT Scans, MRI’s ultrasound, and other 3D data producing technologies CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models The field of Scientific Visualization provides graphical tools that help these researchers and others interpret the vast quantities of data generated CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 1.2 Design Engineering and Architecture are concerned with design starting with a set of specification seek a cost-effective (and esthetic) solution This is an iterative process The power of interacting with images on the screen has been known for at least 40 years. and today the use of interactive tools pervades the CAD field in areas such as architecture and VLSI design CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 1.3 Simulation When did graphics begin to be used? Why? The field of VR has opened up many new horizons. Same (or different) image in each eye position tracking interactive devices This has led to training capabilities NASA research grant CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 1.4 User Interfaces Our interaction with computers has become dominated by a visual paradigm that includes: windows, icons, menus, and a pointing device We have become so accustomed to this style of interface that we often forget that what we are doing is working with computer graphics. CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 2. A Graphics System There are 5 major elements in our system Processor, Memory, Frame Buffer, Input Devices, Output Devices CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 2.1 Pixels and the Frame Buffer At present, almost all graphics systems are raster-based A picture is produced from an array (the raster) of picture elements (pixels) Def: depth of the frame buffer CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 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 converting of geometric primitives into pixel assignments in the frame buffer CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 2.2 Output Devices The dominate type of display is the Cathode-ray tube (CRT) Def: refresh rate CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models Color CRT’s have three different colored phosphors arranged in small groups (typically triads). CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 2.3 Input Devices Most graphics systems provide a keyboard and at least one other input device mouse joystick data tablet We will study these devices in Chapter 3 CS 480/680 Chapter 1 -- Graphics Systems and Models

3. Images: Physical and Synthetic The Usual pedagogical approach: construct raster images simple 2D entities (points, lines, polygons) Define objects based upon 2D 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. CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 3.1 Objects and Viewers Two basic entities must be part of any image-formation process: the object the viewer The object exists in space independent of any image-formation process, and of any viewer. CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models What we will study Now Both the object and the viewer exist in a 3D world. However, the image they define is 2D The process by which the specification of the object is combined with the specification of the viewer to produce an image is the essence of image formation. Future: In Chapter 2, we show how OpenGL allows us to build simple objects In Chapter 9 we learn how to define objects in a manner that incorporates relationships among objects. CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 3.2 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 on the objects. CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 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. CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models Light is a form of electromagnetic radiation: CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 3.3 Ray Tracing We can start building an imaging model by following light from a source. CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models Ray tracing is an image formation technique that is based on these ideas and that can form the basis for producing computer generated images. CS 480/680 Chapter 1 -- Graphics Systems and Models

4. 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. CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 5. The Pinhole Camera What is one? A Pinhole camera is a box with a small hole in the center on one side, and the film on the opposite side CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models Pinhole camera near Cliff House in San Francisco CS 480/680 Chapter 1 -- Graphics Systems and Models

6. The Synthetic Camera Model Consider the imaging system shown here: CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models A few Basic principles: First, the specification of the objects is independent of the specification of the viewer. In a graphics library we would expect separate functions for specifying objects and the viewer. Second, we can compute the image using simple trigonometric calculations CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models Because of this, we can move the image plane in front of the lens (call this the projection plane) and end up with: In Chapter 5, we discuss this process in detail and derive the relevant mathematical formulas CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models We must also consider the limited size of the image. Therefore, we must discuss clipping: CS 480/680 Chapter 1 -- Graphics Systems and Models

7. 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: CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 7.1 Application Programmer’s Interfaces What is an API? Why do you want one? CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models If we are to follow the synthetic camera model, we need functions in the API to specify: Objects Viewer Light Sources Material Properties CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models Objects are usually defined by a set of vertices The following code fragment defines a triangular polygon 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(); CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models We can define a viewer or camera in a variety of ways We can identify four types of necessary specifications: Position Orientation Focal length Film plane CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 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. CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 7.2 A 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 CS 480/680 Chapter 1 -- Graphics Systems and Models

8. 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 CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models Early systems used general purpose computers 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 CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 8.1 Display Processors The earliest attempts to build a special purpose graphics system were concerned primarily with relieving the task of refreshing the display CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 8.2 Pipeline Architectures 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: CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 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. CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 8.3 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. CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 8.4 Clipping Why do we Clip? Efficient clipping algorithms are developed in Chapter 7 CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 8.5. 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. CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 8.6 Rasterization Finally, our projected objects must be represented as pixels in the frame buffer. We discuss this scan-conversion or rasterization process in Chapter 7 CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 8.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. The geometry engine developed by SGI was a VLSI implementation for many of these operations in a special purpose chip. These became the basis for a series of graphics workstations. Back end -- involves direct manipulation of bits in the frame buffer. Ideally suited for parallel bit processors. CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 9. 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 We will use the OpenGL API CS 480/680 Chapter 1 -- Graphics Systems and Models

Chapter 1 -- Graphics Systems and Models 10. Suggested Readings Journals: Computer Graphics -- ACM IEEE Compute Graphics and Applications Textbooks: Foley et.al. Hearn and Baker Hill CS 480/680 Chapter 1 -- Graphics Systems and Models