Chapter 2
Computer Graphics Hardware
Exercises
2-1. Operating characteristics for display technologies are discussed in Sections 2-1 through 2-3
and in the references cited at the end of the chapter.
2-2. Applications appropriate for the various display technologies are discussed in Sections 2-1
through 2-3 and in the listed references.
2-4. Frame-buffer size for each of the systems using 16 bits of color information is:
800 x 600 x 16 bits / 8 bits per byte = 960 KB
1280 x 960 x 16 bits / 8 bits per byte = 2.4576 MB
1680 x 1050 x 16 bits / 8 bits per byte = 3.528 MB
Buffer sizes for the same systems using 32 bits of color are:
800 x 600 x 32 bits / 8 bits per byte = 1.92 MB
, 1280 x 960 x 32 bits / 8 bits per byte = 4.9152 MB
1680 x 1050 x 32 bits / 8 bits per byte = 7.056 MB
2-6. The times to load the two frame buffers are:
800 x 600 x 16 bits / 105 bits per sec = 76.8 sec
1680 x 1050 x 32 bits / 105 bits per sec = 564.48 sec = 9.408 min
2-8. For the 800 by 600 system, the access rate is:
800 x 600 x 60 = 2.88 x 107 pixels per sec
and the access time is approximately 34.72 nanoseconds per pixel.
Similarly, for the 1680 by 1050 system, the access rate is:
1680 x 1050 x 60 = 1.0584 x 108 pixels per sec
and the access time is approximately 9.45 nanoseconds per pixel.
2-10. The scan rate for each pixel row is
30 frames/sec × 1050 lines/frame = 31,500 lines/sec
And so, the scan time is approximately 31.75 microseconds per scan line. (Scan time per
frame is 1/30 sec, or approximately 33.3 milliseconds.)
2-11. Refresh time per frame is 1/r seconds, and the total retrace time during refresh of each
frame is:
, tretrace = tvert + m ・ thoriz
The fraction of the time spent in retrace is r ・ tretrace.
2-12. The fraction of the total refresh time per frame spent in retrace is:
65 x (400 x 10−6 + 1050 x 4 x 10−6) ≈ 0.299
2-13. The total number of available colors is 224 = 16,777,216. Using a different color for each
screen pixel, we could display 10242 = 1,048,576 colors at any one time.
2-14. Three-dimensional monitors and stereographic systems are discussed in Sections 2-1 and
in the references.
2-15. Input and output devices used with virtual-reality systems are discussed in Sections 2-4
and 2-5.
2-16. Design applications for VR include interactively constructing systems and interactively
studying system operating characteristics. Some VR design applications are given in
Sections 1-2, 1-3, 2-1, 2-4, and in the references at the end of Chapters 1 and 2.
2-17. Some applications for large-screen displays are presented in Section 2-3.
2-18. Graphics software packages are discussed in Section 2-8. Basically, packages for graphics
programming contain functions for specifying individual geometric components
(primitives, such as lines and circles), attributes of individual primitives, and parameters
for various graphics operations such as viewing and geometric transformations. A package
for a specific application, such as architectural design, allows a user to create scenes in
terms of architectural features, such as doors, windows, hallways, stairs, and rooms. Then
a building can be rotated or viewed from a given direction, such as from the front, from
above, or from the left side.
Themed Exercises
2-1. Students should have come up with a few proposals for projects that can be built on
throughout the course. They may choose to develop only one, but having multiple options
will allow for more flexibility later on. The most straightforward solution is a video game
of some type, which leaves many design choices at different levels of creativity and ability.
Other possibilities are interactive visualizations of certain types of dynamical systems or
interactive presentations of two- and three-dimensional data.
2-2. The specifications of a system’s graphics hardware and display device can sometimes be
found via the operating system by examining the properties of the devices. If the make and
model number of the devices can be found, then the specifications can most likely be
looked up on the manufacturer’s Web site.
, Chapter 3
Computer Graphics Software
Exercises
3-1. We set the color of a display window to dark gray by selecting a value for each of the three
RGB parameters in the glClearColor command and passing the values to the function.
To set the display window to dark gray, we could call:
glClearColor (0.1, 0.1, 0.1, 0.0);
Any values near zero would do, as long as all three values are equal.
To set the display window to white, we could call:
glClearColor (1.0, 1.0, 1.0, 0.0);
3-2. The following statements set the lower-left corner of a 200 pixel by 150 pixel display
window at screen coordinates (75, 200):
glutInitWindowPosition (75, 50);
glutInitWindowSize (200, 150);
3-3. The following OpenGL statements draws a line from the upper-right corner of a display
window of width 150 and height 250 to the lower-left corner:
glBegin (GL_LINES);
glVertex2i (150, 0);
glVertex2i (0, 250);
glEnd ( );
3-4. The following statement invokes an OpenGL callback function to register the rectangle
function with the display window:
glutDisplayFunc(rectangle);
3-5. A callback function is a procedure that is to be invoked whenever a particular action occurs.
Such a procedure is registered by listing the procedure name in an appropriate OpenGL
function.
3-6. Modeling coordinates are specified in a coordinate reference frame that is local to a given
object. They are used to define the relative positions of sub-components of the object in
terms of other subcomponents. World coordinates are specified in a global coordinate
system that contains many objects, each with their own modeling coordinates. Each
object’s modeling coordinates must be transformed into world coordinates in order to place
the object at a given position and orientation in the world coordinate frame.
Computer Graphics Hardware
Exercises
2-1. Operating characteristics for display technologies are discussed in Sections 2-1 through 2-3
and in the references cited at the end of the chapter.
2-2. Applications appropriate for the various display technologies are discussed in Sections 2-1
through 2-3 and in the listed references.
2-4. Frame-buffer size for each of the systems using 16 bits of color information is:
800 x 600 x 16 bits / 8 bits per byte = 960 KB
1280 x 960 x 16 bits / 8 bits per byte = 2.4576 MB
1680 x 1050 x 16 bits / 8 bits per byte = 3.528 MB
Buffer sizes for the same systems using 32 bits of color are:
800 x 600 x 32 bits / 8 bits per byte = 1.92 MB
, 1280 x 960 x 32 bits / 8 bits per byte = 4.9152 MB
1680 x 1050 x 32 bits / 8 bits per byte = 7.056 MB
2-6. The times to load the two frame buffers are:
800 x 600 x 16 bits / 105 bits per sec = 76.8 sec
1680 x 1050 x 32 bits / 105 bits per sec = 564.48 sec = 9.408 min
2-8. For the 800 by 600 system, the access rate is:
800 x 600 x 60 = 2.88 x 107 pixels per sec
and the access time is approximately 34.72 nanoseconds per pixel.
Similarly, for the 1680 by 1050 system, the access rate is:
1680 x 1050 x 60 = 1.0584 x 108 pixels per sec
and the access time is approximately 9.45 nanoseconds per pixel.
2-10. The scan rate for each pixel row is
30 frames/sec × 1050 lines/frame = 31,500 lines/sec
And so, the scan time is approximately 31.75 microseconds per scan line. (Scan time per
frame is 1/30 sec, or approximately 33.3 milliseconds.)
2-11. Refresh time per frame is 1/r seconds, and the total retrace time during refresh of each
frame is:
, tretrace = tvert + m ・ thoriz
The fraction of the time spent in retrace is r ・ tretrace.
2-12. The fraction of the total refresh time per frame spent in retrace is:
65 x (400 x 10−6 + 1050 x 4 x 10−6) ≈ 0.299
2-13. The total number of available colors is 224 = 16,777,216. Using a different color for each
screen pixel, we could display 10242 = 1,048,576 colors at any one time.
2-14. Three-dimensional monitors and stereographic systems are discussed in Sections 2-1 and
in the references.
2-15. Input and output devices used with virtual-reality systems are discussed in Sections 2-4
and 2-5.
2-16. Design applications for VR include interactively constructing systems and interactively
studying system operating characteristics. Some VR design applications are given in
Sections 1-2, 1-3, 2-1, 2-4, and in the references at the end of Chapters 1 and 2.
2-17. Some applications for large-screen displays are presented in Section 2-3.
2-18. Graphics software packages are discussed in Section 2-8. Basically, packages for graphics
programming contain functions for specifying individual geometric components
(primitives, such as lines and circles), attributes of individual primitives, and parameters
for various graphics operations such as viewing and geometric transformations. A package
for a specific application, such as architectural design, allows a user to create scenes in
terms of architectural features, such as doors, windows, hallways, stairs, and rooms. Then
a building can be rotated or viewed from a given direction, such as from the front, from
above, or from the left side.
Themed Exercises
2-1. Students should have come up with a few proposals for projects that can be built on
throughout the course. They may choose to develop only one, but having multiple options
will allow for more flexibility later on. The most straightforward solution is a video game
of some type, which leaves many design choices at different levels of creativity and ability.
Other possibilities are interactive visualizations of certain types of dynamical systems or
interactive presentations of two- and three-dimensional data.
2-2. The specifications of a system’s graphics hardware and display device can sometimes be
found via the operating system by examining the properties of the devices. If the make and
model number of the devices can be found, then the specifications can most likely be
looked up on the manufacturer’s Web site.
, Chapter 3
Computer Graphics Software
Exercises
3-1. We set the color of a display window to dark gray by selecting a value for each of the three
RGB parameters in the glClearColor command and passing the values to the function.
To set the display window to dark gray, we could call:
glClearColor (0.1, 0.1, 0.1, 0.0);
Any values near zero would do, as long as all three values are equal.
To set the display window to white, we could call:
glClearColor (1.0, 1.0, 1.0, 0.0);
3-2. The following statements set the lower-left corner of a 200 pixel by 150 pixel display
window at screen coordinates (75, 200):
glutInitWindowPosition (75, 50);
glutInitWindowSize (200, 150);
3-3. The following OpenGL statements draws a line from the upper-right corner of a display
window of width 150 and height 250 to the lower-left corner:
glBegin (GL_LINES);
glVertex2i (150, 0);
glVertex2i (0, 250);
glEnd ( );
3-4. The following statement invokes an OpenGL callback function to register the rectangle
function with the display window:
glutDisplayFunc(rectangle);
3-5. A callback function is a procedure that is to be invoked whenever a particular action occurs.
Such a procedure is registered by listing the procedure name in an appropriate OpenGL
function.
3-6. Modeling coordinates are specified in a coordinate reference frame that is local to a given
object. They are used to define the relative positions of sub-components of the object in
terms of other subcomponents. World coordinates are specified in a global coordinate
system that contains many objects, each with their own modeling coordinates. Each
object’s modeling coordinates must be transformed into world coordinates in order to place
the object at a given position and orientation in the world coordinate frame.