• DocumentCode
    865867
  • Title

    An exponentiation unit for an OpenGL lighting engine

  • Author

    Harris, David

  • Author_Institution
    Harvey Mudd Coll., Claremont, CA, USA
  • Volume
    53
  • Issue
    3
  • fYear
    2004
  • fDate
    3/1/2004 12:00:00 AM
  • Firstpage
    251
  • Lastpage
    258
  • Abstract
    The OpenGL geometry pipeline lighting stage requires raising a number in the range [0,1] to a power between [1,128] 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. We describe 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 [0,1] 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.
  • Keywords
    computational complexity; floating point arithmetic; pipeline arithmetic; software standards; table lookup; IEEE single-precision floating-point format; OpenGL hardware acceleration; OpenGL lighting engine; bipartite table; computer arithmetic; exponentiation unit; floating-point color component; geometry pipeline lighting stage; inverse log table; logarithm lookup table; table complexity; Acceleration; Computational geometry; Computer graphics; Engines; Hardware; Optical reflection; Pipelines; Quantization; Read only memory; Table lookup;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.2004.1261833
  • Filename
    1261833