Download presentation
Presentation is loading. Please wait.
Published byEdgar Conley Modified over 9 years ago
1
Graphics Systems and Models Chapter 1
2
CS 480/680 2Chapter 1 -- Graphics Systems and Models Introduction: Introduction: Computer Graphics Computer Graphics What is it? What is it? Overview of what we will cover: Overview of what we will cover: A graphics overview A graphics overview Graphics Theory Graphics Theory A graphics Software System: OpenGL A graphics Software System: OpenGL Our approach will be top-down. Our approach will be top-down. We want you to start writing application programs that generate graphical output as quickly as possible We want you to start writing application programs that generate graphical output as quickly as possible
3
CS 480/680 3Chapter 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. 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: Applications can be split into four major areas: Display of information Display of information Design Design Simulation Simulation User Interfaces User Interfaces
4
CS 480/680 4Chapter 1 -- Graphics Systems and Models 1.1 Display of Information 1.1 Display of Information Classical graphics techniques arose as a medium to convey information among people: Classical graphics techniques arose as a medium to convey information among people: 4,000 years ago -- Babylonians: floor plans of buildings on stones 4,000 years ago -- Babylonians: floor plans of buildings on stones 2,000 years ago -- Greeks: Architectural ideas 2,000 years ago -- Greeks: Architectural ideas Now we have Computer-based drafting programs Now we have Computer-based drafting programs
5
CS 480/680 5Chapter 1 -- Graphics Systems and Models For centuries -- Cartographers have developed maps to display celestial and geographical information. 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. Now maps can be developed and manipulated in real-time over the internet.
6
CS 480/680 6Chapter 1 -- Graphics Systems and Models Over the past 100 years -- workers in statistics have explored techniques for generating plots to convey information Over the past 100 years -- workers in statistics have explored techniques for generating plots to convey information Now we have computer plotting packages Now we have computer plotting packages
7
CS 480/680 7Chapter 1 -- Graphics Systems and Models Medicine poses interesting and important data- analysis problems Medicine poses interesting and important data- analysis problems CAT Scans, MRI’s ultrasound, and other 3D data producing technologies CAT Scans, MRI’s ultrasound, and other 3D data producing technologies
8
CS 480/680 8Chapter 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 The field of Scientific Visualization provides graphical tools that help these researchers and others interpret the vast quantities of data generated
9
CS 480/680 9Chapter 1 -- Graphics Systems and Models 1.2 Design 1.2 Design Engineering and Architecture are concerned with design Engineering and Architecture are concerned with design starting with a set of specification starting with a set of specification seek a cost-effective (and esthetic) solution seek a cost-effective (and esthetic) solution This is an iterative process This is an iterative process The power of interacting with images on the screen The power of interacting with images on the screen has been known for at least 40 years. 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 and today the use of interactive tools pervades the CAD field in areas such as architecture and VLSI design
10
CS 480/680 10Chapter 1 -- Graphics Systems and Models 1.3 Simulation 1.3 Simulation When did graphics begin to be used? When did graphics begin to be used? Why? Why? The field of VR has opened up many new horizons. The field of VR has opened up many new horizons. Same (or different) image in each eye Same (or different) image in each eye position tracking position tracking interactive devices interactive devices This has led to training capabilities This has led to training capabilities NASA research grant NASA research grant
11
CS 480/680 11Chapter 1 -- Graphics Systems and Models 1.4 User Interfaces 1.4 User Interfaces Our interaction with computers has become dominated by a visual paradigm that includes: Our interaction with computers has become dominated by a visual paradigm that includes: windows, windows, icons, icons, menus, and menus, and a pointing device 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. We have become so accustomed to this style of interface that we often forget that what we are doing is working with computer graphics.
12
CS 480/680 12Chapter 1 -- Graphics Systems and Models 2. A Graphics System There are 5 major elements in our system There are 5 major elements in our system Processor, Memory, Frame Buffer, Input Devices, Output Devices Processor, Memory, Frame Buffer, Input Devices, Output Devices
13
CS 480/680 13Chapter 1 -- Graphics Systems and Models 2.1 Pixels and the Frame Buffer 2.1 Pixels and the Frame Buffer At present, almost all graphics systems are raster-based At present, almost all graphics systems are raster-based A picture is produced from an array (the raster) of picture elements (pixels) A picture is produced from an array (the raster) of picture elements (pixels) Def: depth of the frame buffer Def: depth of the frame buffer
14
CS 480/680 14Chapter 1 -- Graphics Systems and Models Definitions: Definitions: Depth of the frame buffer Depth of the frame buffer 1-bit 1-bit 8-bit deep 8-bit deep full-color is 24-bit or more full-color is 24-bit or more Resolution Resolution the number of pixels in the frame buffer the number of pixels in the frame buffer Rasterization or scan conversion Rasterization or scan conversion The converting of geometric primitives into pixel assignments in the frame buffer The converting of geometric primitives into pixel assignments in the frame buffer
15
CS 480/680 15Chapter 1 -- Graphics Systems and Models 2.2 Output Devices 2.2 Output Devices The dominate type of display is the Cathode- ray tube (CRT) The dominate type of display is the Cathode- ray tube (CRT) Def: refresh rate Def: refresh rate
16
CS 480/680 16Chapter 1 -- Graphics Systems and Models
17
CS 480/680 17Chapter 1 -- Graphics Systems and Models Color CRT’s Color CRT’s have three different colored phosphors arranged in small groups (typically triads). have three different colored phosphors arranged in small groups (typically triads).
18
CS 480/680 18Chapter 1 -- Graphics Systems and Models 2.3 Input Devices 2.3 Input Devices Most graphics systems provide a keyboard and at least one other input device Most graphics systems provide a keyboard and at least one other input device mouse mouse joystick joystick data tablet data tablet We will study these devices in Chapter 3 We will study these devices in Chapter 3
19
CS 480/680 19Chapter 1 -- Graphics Systems and Models 3. Images: Physical and Synthetic The Usual pedagogical approach: The Usual pedagogical approach: construct raster images construct raster images simple 2D entities (points, lines, polygons) simple 2D entities (points, lines, polygons) Define objects based upon 2D 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. 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.
20
CS 480/680 20Chapter 1 -- Graphics Systems and Models 3.1 Objects and Viewers 3.1 Objects and Viewers Two basic entities must be part of any image- formation process: Two basic entities must be part of any image- formation process: the object the object the viewer the viewer The object exists in space independent of any image-formation process, and of any viewer. The object exists in space independent of any image-formation process, and of any viewer.
21
CS 480/680 21Chapter 1 -- Graphics Systems and Models What we will study Now What we will study Now Both the object and the viewer exist in a 3D world. However, the image they define is 2D 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. 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: Future: In Chapter 2, we show how OpenGL allows us to build simple objects 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. In Chapter 9 we learn how to define objects in a manner that incorporates relationships among objects.
22
CS 480/680 22Chapter 1 -- Graphics Systems and Models 3.2 Light and Images 3.2 Light and Images Much information was missing from the preceding picture: Much information was missing from the preceding picture: We have yet to mention light! 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. 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 We have not mentioned how color enters the picture Or, what are the effects of different kinds of surfaces on the objects. Or, what are the effects of different kinds of surfaces on the objects.
23
CS 480/680 23Chapter 1 -- Graphics Systems and Models Taking a more physical approach, we can start with the following arrangement: 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. The details of the interaction between light and the surfaces of the object determine how much light enters the camera.
24
CS 480/680 24Chapter 1 -- Graphics Systems and Models Light is a form of electromagnetic radiation: Light is a form of electromagnetic radiation:
25
CS 480/680 25Chapter 1 -- Graphics Systems and Models 3.3 Ray Tracing 3.3 Ray Tracing We can start building an imaging model by following light from a source. We can start building an imaging model by following light from a source.
26
CS 480/680 26Chapter 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. Ray tracing is an image formation technique that is based on these ideas and that can form the basis for producing computer generated images.
27
CS 480/680 27Chapter 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. Our extremely complex visual system has all the components of a physical imaging system, such as a camera or a microscope.
28
CS 480/680 28Chapter 1 -- Graphics Systems and Models 5. The Pinhole Camera What is one? What is one? A Pinhole camera is a box A Pinhole camera is a box with a small hole in the center on one side, with a small hole in the center on one side, and the film on the opposite side and the film on the opposite side
29
CS 480/680 29Chapter 1 -- Graphics Systems and Models Pinhole camera near Cliff House in San Francisco Pinhole camera near Cliff House in San Francisco
30
CS 480/680 30Chapter 1 -- Graphics Systems and Models 6. The Synthetic Camera Model Consider the imaging system shown here: Consider the imaging system shown here:
31
CS 480/680 31Chapter 1 -- Graphics Systems and Models A few Basic principles: A few Basic principles: First, the specification of the objects is independent of the specification of the viewer. 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. 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 Second, we can compute the image using simple trigonometric calculations
32
CS 480/680 32Chapter 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: 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 In Chapter 5, we discuss this process in detail and derive the relevant mathematical formulas
33
CS 480/680 33Chapter 1 -- Graphics Systems and Models We must also consider the limited size of the image. We must also consider the limited size of the image. Therefore, we must discuss clipping: Therefore, we must discuss clipping:
34
CS 480/680 34Chapter 1 -- Graphics Systems and Models 7. The Programmer’s Interface There are numerous ways that a user can interact with a graphics system. There are numerous ways that a user can interact with a graphics system. In a typical paint program it would look like: In a typical paint program it would look like:
35
CS 480/680 35Chapter 1 -- Graphics Systems and Models 7.1 Application Programmer’s Interfaces 7.1 Application Programmer’s Interfaces What is an API? What is an API? Why do you want one? Why do you want one?
36
CS 480/680 36Chapter 1 -- Graphics Systems and Models If we are to follow the synthetic camera model, we need functions in the API to specify: If we are to follow the synthetic camera model, we need functions in the API to specify: Objects Objects Viewer Viewer Light Sources Light Sources Material Properties Material Properties
37
CS 480/680 37Chapter 1 -- Graphics Systems and Models Objects are usually defined by a set of vertices Objects are usually defined by a set of vertices The following code fragment defines a triangular polygon in OpenGL The following code fragment defines a triangular polygon in OpenGL glBegin(GL_POLYGON); glBegin(GL_POLYGON); glVertex3f(0.0,0.0,0.0); glVertex3f(0.0,0.0,0.0); glVertex3f(0.0,1.0,0.0); glVertex3f(0.0,1.0,0.0); glVertex3f(0.0,0.0,1.0); glVertex3f(0.0,0.0,1.0); glEND(); glEND();
38
CS 480/680 38Chapter 1 -- Graphics Systems and Models We can define a viewer or camera in a variety of ways We can define a viewer or camera in a variety of ways We can identify four types of necessary specifications: We can identify four types of necessary specifications: Position Position Orientation Orientation Focal length Focal length Film plane Film plane
39
CS 480/680 39Chapter 1 -- Graphics Systems and Models Light sources can be defined by their location, strength, color, and directionality. 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. API’s provide a set of functions to specify these parameters for each source. Material properties are characteristics, or attributes, of the objects 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. such properties are usually defined through a series of function calls at the time that each object is defined.
40
CS 480/680 40Chapter 1 -- Graphics Systems and Models 7.2 A Sequence of Images 7.2 A Sequence of Images In Chapter 2, we begin our detailed discussion of the OpenGL API 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 Color Plates 1 through 8 show what is possible with available hardware and a good API, but also they are not difficult to generate
41
CS 480/680 41Chapter 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 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 Researchers have taken various approaches to developing architectures to support graphics APIs
42
CS 480/680 42Chapter 1 -- Graphics Systems and Models Early systems used general purpose computers Early systems used general purpose computers single processing unit 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 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
43
CS 480/680 43Chapter 1 -- Graphics Systems and Models 8.1 Display Processors 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 The earliest attempts to build a special purpose graphics system were concerned primarily with relieving the task of refreshing the display
44
CS 480/680 44Chapter 1 -- Graphics Systems and Models 8.2 Pipeline Architectures 8.2 Pipeline Architectures The major advances in graphics architectures parallel closely the advances in workstations. 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 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: A simple arithmetic pipeline is shown here:
45
CS 480/680 45Chapter 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: 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. We will discuss the details of these steps in subsequent chapters.
46
CS 480/680 46Chapter 1 -- Graphics Systems and Models 8.3 Transformations 8.3 Transformations Many of the steps in the imaging process can be viewed as transformations between representations of objects in different coordinate systems 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 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 each change of coordinate systems by a matrix We can represent successive changes by multiplying (or concatenating) the individual matrices into a single matrix. We can represent successive changes by multiplying (or concatenating) the individual matrices into a single matrix.
47
CS 480/680 47Chapter 1 -- Graphics Systems and Models 8.4 Clipping 8.4 Clipping Why do we Clip? Why do we Clip? Efficient clipping algorithms are developed in Chapter 7 Efficient clipping algorithms are developed in Chapter 7
48
CS 480/680 48Chapter 1 -- Graphics Systems and Models 8.5. Projection 8.5. Projection In general three-dimensional objects are kept in three dimensions as long as possible, as they pass through the pipeline. 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. Eventually though, they must be projected into two-dimensional objects. There are various projections that we can implement. 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. 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.
49
CS 480/680 49Chapter 1 -- Graphics Systems and Models 8.6 Rasterization 8.6 Rasterization Finally, our projected objects must be represented as pixels in the frame buffer. Finally, our projected objects must be represented as pixels in the frame buffer. We discuss this scan-conversion or rasterization process in Chapter 7 We discuss this scan-conversion or rasterization process in Chapter 7
50
CS 480/680 50Chapter 1 -- Graphics Systems and Models 8.7 Performance Characteristics 8.7 Performance Characteristics There are two fundamentally different types of processing There are two fundamentally different types of processing Front end -- geometric processing, based on the processing of vertices Front end -- geometric processing, based on the processing of vertices ideally suited for pipelining, and usually involves floating- point calculations. 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. 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. Back end -- involves direct manipulation of bits in the frame buffer. Ideally suited for parallel bit processors. Ideally suited for parallel bit processors.
51
CS 480/680 51Chapter 1 -- Graphics Systems and Models 9. Summary In this chapter we have set the stage for our top- down development of computer graphics. 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 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 Our next step is to explore the application side of Computer Graphics programming We will use the OpenGL API We will use the OpenGL API
52
CS 480/680 52Chapter 1 -- Graphics Systems and Models 10. Suggested Readings Journals: Journals: Computer Graphics -- ACM Computer Graphics -- ACM IEEE Compute Graphics and Applications IEEE Compute Graphics and Applications Textbooks: Textbooks: Foley et.al. Foley et.al. Hearn and Baker Hearn and Baker Hill Hill
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.