This paper proposes a hardware-software codesign of rasterization, which is the most complex fixed function of the programmable three-dimensional (3D) graphics rendering flow. Our approach first develops a software code executed by the existed programmable shader core to implement the setup function of rasterization module. Next, a special scan-conversion acceleration unit is developed to cooperate with the shader core to interpolate the required data attributes together. We implement the scan-conversion function in fixed-point domain such that it only costs 8.5k gates, about 1.7% of the entire graphics processor unit (GPU) gate count, but can help reducing more than 30% cycles compared with the pure software implementation. Since our design realizes the rasterization in the shader core, it can avoid the cycles spent on transferring the interpolated data between different storage units in some GPU designs which adopt hardware rasterization designs. The proposed rasterization design is very suitable for low-cost embedded graphics applications.
[1]
Lee-Sup Kim,et al.
A 3-way SIMD engine for programmable triangle setup in embedded 3D graphics hardware
,
2005,
2005 IEEE International Symposium on Circuits and Systems.
[2]
Bob McNamara,et al.
Tiled polygon traversal using half-plane edge functions
,
2000,
Workshop on Graphics Hardware.
[3]
Hoi-Jun Yoo,et al.
A 210-mW graphics LSI implementing full 3-D pipeline with 264 mtexels/s texturing for mobile multimedia applications
,
2004,
IEEE Journal of Solid-State Circuits.
[4]
HyunWook Park,et al.
A 36 fps SXGA 3-D Display Processor Embedding a Programmable 3-D Graphics Rendering Engine
,
2008,
IEEE Journal of Solid-State Circuits.
[5]
Juan Pineda,et al.
A parallel algorithm for polygon rasterization
,
1988,
SIGGRAPH.