HP Professional AP500 Graphics: The Workstation Difference - Page 6

Regularity, Complexity

Page 6 highlights

Graphics: The Workstation Difference 6 256-color displays and 24-bit frame buffers that display true color images, to high end graphics subsystems that execute virtually all graphics in hardware. While it is neither appropriate nor possible to move all graphics operations into graphics hardware, there are some operations for which specialized hardware makes sense. To determine which operations can be efficiently accelerated in hardware, you need to understand the impact of two parameters on graphics algorithms: complexity and regularity. Complexity is a measure of the number of operations that must be executed in a graphics operation. Examples include a simple pixel write, which requires nothing more than "write this pixel value to this location in the frame buffer," and the slightly more complex Z-buffer algorithm, which requires "read current Z value from the frame buffer, compare with new Z value, and write the pixel with the lowest Z value to the frame buffer." These operations are very simple, easy to implement in hardware, and relatively easy to make faster than a pure software implementation. At the other end of the complexity spectrum are operations such as "read application data and process it." This operation is entirely dependent on the application -- a flight simulator terrain model, a genetic engineering molecular model, and a mechanical CAD model of the front suspension of a car each would be dramatically different. Regularity measures the amount of variation or choice in an algorithm. Some algorithms are extremely regular -- the previously mentioned pixel write requires no choices and has no variations, and the Z-buffer algorithm requires a single comparison and choice. But the manipulation of application objects like models involves extreme variation and, thus provides very little regularity. An example of a graphics operation that can vary in both complexity and regularity is lighting. Some lighting, such as ambient or simple directional light, is relatively simple. These two lighting models can be placed in hardware fairly easily. On the other hand, lights can be directional, have "barn doors" (controls that allow screening the light, much like the flaps on professional theater lights), fall off with distance, have color, cast shadows, and other even more complex functions. These lighting models are extremely complex, very irregular, and very difficult to put into hardware. They are invariably done in software. Complexity - Data Traversal - Object Operations - Lighting - Texturing - Transformation - Span Generation - Span Interpolation - Z-buffer, Pixel Write Regularity Figure 2: Complexity vs. Regularity 0054-0499-A

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

Graphics: The Workstation Difference
6
0054-0499-A
256-color displays and 24-bit frame buffers that display true color images, to high end graphics
subsystems that execute virtually all graphics in hardware.
While it is neither appropriate nor possible to move
all
graphics operations into graphics
hardware, there are some operations for which specialized hardware makes sense. To determine
which operations can be efficiently accelerated in hardware, you need to understand the impact of
two parameters on graphics algorithms:
complexity
and
regularity
.
Complexity is a measure of the number of operations that must be executed in a graphics
operation. Examples include a simple pixel write, which requires nothing more than “write this
pixel value to this location in the frame buffer,” and the slightly more complex Z-buffer
algorithm, which requires “read current Z value from the frame buffer, compare with new Z
value, and write the pixel with the lowest Z value to the frame buffer.”
These operations are very
simple, easy to implement in hardware, and relatively easy to make faster than a pure software
implementation.
At the other end of the complexity spectrum are operations such as “read application data and
process it.”
This operation is entirely dependent on the application -- a flight simulator terrain
model, a genetic engineering molecular model, and a mechanical CAD model of the front
suspension of a car each would be dramatically different.
Regularity measures the amount of variation or choice in an algorithm.
Some algorithms are
extremely regular -- the previously mentioned pixel write requires no choices and has no
variations, and the Z-buffer algorithm requires a single comparison and choice. But the
manipulation of application objects like models involves extreme variation and, thus provides
very little regularity.
An example of a graphics operation that can vary in both complexity and regularity is lighting.
Some lighting, such as ambient or simple directional light, is relatively simple.
These two
lighting models can be placed in hardware fairly easily.
On the other hand, lights can be
directional, have “barn doors” (controls that allow screening the light, much like the flaps on
professional theater lights), fall off with distance, have color, cast shadows, and other even more
complex functions.
These lighting models are extremely complex, very irregular, and very
difficult to put into hardware.
They are invariably done in software.
Regularity
Complexity
Z-buffer, Pixel Write
Texturing
Span Interpolation
Span Generation
Transformation
Lighting
Data Traversal
Object Operations
Figure 2: Complexity vs. Regularity