The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.03 - March (2004 vol.53)
pp: 251-258
ABSTRACT
<p><b>Abstract</b>—The OpenGL geometry pipeline lighting stage requires raising a number in the range <tmath>[0, 1]</tmath> to a power between <tmath>[1, 128]</tmath> to compute specular reflections and spotlights. The result need only be accurate to a number of bits related to the color depth of the output device. This paper describes a hardware implementation of such an exponentiation unit based on a logarithm lookup table, a multiplier, and an inverse log table. The inputs arrive in IEEE single-precision floating-point format and the output is a floating-point color component in the range <tmath>[0,1]</tmath> with 8-10 bits of accuracy. The log lookup table is partitioned into subintervals to reduce table size and each subinterval is computed from a bipartite table to further reduce size. A synthesized design uses 32k gates to achieve 10-bit accuracy with a latency of 9.4 ns in a 180 nm process. Although the system is tailored to the OpenGL application, the same principles can be applied to the design of other exponentiation units.</p>
INDEX TERMS
Powering, exponentiation, computer arithmetic, OpenGL hardware acceleration, table lookups, table complexity, bipartite tables.
CITATION
David Harris, "An Exponentiation Unit for an OpenGL Lighting Engine", IEEE Transactions on Computers, vol.53, no. 3, pp. 251-258, March 2004, doi:10.1109/TC.2004.1261833
54 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool