3D triangle rendering by texture hardware and color software using
simultaneous triangle-walking and interpolation for parallel operation
Abstract
A 3D graphics accelerator operates in parallel with a host central
processing unit (CPU). Software executing on the host CPU performs
transformation and lighting operations on 3D-object primitives such as
triangles, and generates gradients across the triangle for red, green,
blue, Z-depth, alpha, fog, and specular color components. The gradients
for texture attributes are also generated and sent to the graphics
accelerator. Both the graphics accelerator and the CPU software perform
triangle edge and span walking in synchronization to each other. The CPU
software walks the triangle to interpolate non-texture color and depth
attributes, while the graphics accelerator walks the triangle to
interpolate texture attributes. The graphics accelerator performs a
non-linear perspective correction and reads a texture pixel from a texture
map. The texture pixel is combined with a color pixel that is received
from the CPU software interpolation of non-texture attributes. Once the
texture pixel from the graphics accelerator and the color pixel from the
CPU software are sent to a blender in the graphics accelerator, both
continue to interpolate the next pixel in the horizontal-line span, or
move to a pixel in the next span. Both the CPU software and the graphics
accelerator interpolate the same pixel at the same time. Using both the
CPU and the graphics accelerator improves performance since both operate
in parallel on the same pixel at the critical interpolation bottleneck.
| Inventors: |
Lin; Tao (Fremont, CA) |
| Assignee: |
NeoMagic Corp.
(Santa Clara,
CA)
|
| Appl. No.:
|
08/928,291 |
| Filed:
|
September 12, 1997 |