17
Computer Graphics: Graphics Output Primitives Primitives Attributes By: A. H. Abdul Hafez [email protected] , March 28, 2016 1 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU

Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

  • Upload
    ngodieu

  • View
    213

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

Computer Graphics: Graphics Output Primitives

Primitives Attributes

By: A. H. Abdul Hafez

[email protected],

March 28, 2016 1 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU

Page 2: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

Outlines

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 2

1. OpenGL state variables

2. RGB color components

1. direct color storage

2. color tables

3. Pen and brush shapes for line display

4. A pixel mask

5. Basic polygon fill styles

6. Examples of character bodies

7. End

Page 3: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

OpenGL state variables

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 3

The state parameters in OpenGL include:

1. Color and other primitive attributes,

2. the current matrix mode,

3. the elements of the model-view matrix,

4. the current position for the frame buffer, and

5. the parameters for the lighting effects in a scene.

All OpenGL state parameters have default values, which remain in

effect until new values are specified.

At any time, we can query the system to determine the current

value of a state parameter.

In the following lecture of this week, we discuss only the attribute

settings for output primitives. Other state parameters are examined

in later lectures.

Page 4: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

Setting Frame-buffer Values

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 4

Pixel screen positions stored linearly in row-major

order within the frame buffer.

Page 5: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

RGB color components

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 5

In a color raster system, the number of color choices available

depends on the amount of storage provided per pixel in the frame

buffer.

Also, color information can be stored in the frame buffer in two

ways:

1. We can store RGB color codes directly in the frame buffer:

Color information is placed in the frame buffer at the location of each

component pixel in the output primitives to be displayed in that color.

2. We can put the color codes into a separate table and

use the pixel locations to store index values referencing the color-table entries.

Color tables are an alternate means for providing extended color

capabilities to a user without requiring large frame buffers.

Page 6: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

1- direct color storage

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 6

A minimum number of colors can be provided in this scheme with 3 bits of

storage per pixel, as shown in the Table

With 6 bits per pixel, 2 bits can be used for each gun. This allows four different intensity

settings for each of the three color guns, and a total of 64 color options are available for

each screen pixel.

As more color options are provided, the storage required for the frame buffer also

increases. With a resolution of 1024 by 1024, a full-color (24-bit per pixel) RGB system

needs 3 megabytes of storage for the frame buffer.

Page 7: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

2- color tables

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 7

Sometimes a color table is referred to as a video lookup table

A color lookup table with 24 bits per entry that is accessed from a frame buffer

with 8 bits per pixel. A value of 196 stored at pixel position (x, y) references the

location in this table containing the hexadecimal value 0x0821 (a decimal value

of 2081)

Each 8-bit segment of this entry controls the intensity level of one of the three

electron guns in an RGB monitor.

Page 8: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

Color table example

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 8

A color lookup table with 24 bits per entry that is accessed from a frame buffer

with 8 bits per pixel. A value of 196 stored at pixel position (x, y) references the

location in this table containing the hexadecimal value 0x0821 (a decimal value of

2081). Each 8-bit segment of this entry controls the intensity level of one of the

three electron guns in an RGB monitor.

Page 9: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

Gray scale colors

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 9

Since color capabilities are now common in computer-graphics

systems, we use RGB color functions to set shades of gray, or gray

scale, in an application program.

When an RGB color setting specifies an equal amount of red,

green, and blue, the result is some shade of gray.

Values close to 0 for the color components produce dark gray, and

higher values near 1.0 produce light gray.

Applications for gray-scale display methods include enhancing

black-and-white photographs and generating visualization effects.

Page 10: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

Other color components

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 10

Other three-component color representations are useful in computer-graphics applications. For example,

1. color output on printers is described with cyan, magenta, and yellow color components, and

2. color interfaces sometimes use parameters such as lightness and darkness to choose a color.

Physically, we can describe a color as electromagnetic radiation with a particular frequency range and energy distribution, but then there are also the characteristics of our perception of the color.

Thus, we use the physical term intensity to quantify the amount of light energy radiating in a particular direction over a period of time, and we use the psychological term luminance to characterize the perceived brightness of the light.

Page 11: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

Pen and brush shapes for line display

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 11

Curved lines drawn with a paint

program using various shapes

and patterns. From left to right,

the brush shapes are square,

round, diagonal line, dot pattern,

and faded airbrush.

Page 12: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

OpenGL line styles and line widths

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 12

Plotting three data sets

with three different

OpenGL line styles and

line widths:

1. single-width dash-

dot pattern,

2. double-width dash

pattern, and

3. triple-width dot

pattern.

Page 13: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

A pixel mask

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 13

(a) for a rectangular

pen, and the associated

array of pixels (b)

displayed by centering

the mask over a

specified pixel position

Generating a line with

this pen shape pixel

mask

Page 14: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

Basic polygon fill styles

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 14

Page 15: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

Bit patterns

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 15

A 3 × 3 bit pattern (a) superimposed on a parallelogram to produce

the fill area in (b), where the top-right corner of the pattern

coincides with the lower-left corner of the parallelogram.

Page 16: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

Examples of character bodies

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 16

Page 17: Computer Graphics - compe.hku.edu.trcompe.hku.edu.tr/Dosyalar/COME-306--Bilgisayar-Grafikleri...component pixel in the output primitives to be displayed in that color. 2. ... Since

The end of the Lecture

March 28, 2016 CG, by Dr. A.H. Abdul Hafez, CE Dept. HKU 17

Thanks for your time

Questions are welcome