No subject
Mon Aug 15 11:10:41 PDT 2005
half numbers have 1 sign bit, 5 exponent bits, and 10 mantissa bits. The
interpretation of the sign, exponent and mantissa is analogous to IEEE-754
floating-point numbers. half supports normalized and denormalized numbers,
infinities and NANs (Not A Number). The range of representable numbers is
roughly 6.0e-8 - 6.5e4; numbers smaller than 6.1e-5are denormalized.
Conversions from float to half round the mantissa to 10 bits; the 13 least
significant bits are lost. Conversions from half to float are lossless; all
half numbers are exactly representable as float values.
The data type implemented by class half is identical to Nvidia's 16-bit
floating-point format ("fp16 / half"). 16-bit data, including infinities and
NANs, can be transferred between OpenEXR files and Nvidia 16-bit
floating-point frame buffers without losing any bits.
> Support both e-sRGB and sRGB. The user specifies which when the
> surface is created. Most folks (like toolkit authors) will specify
> sRGB, but users doing higher quality work can specify an e-sRGB
> buffer.
I would recommend that any such ideas be treated as totally different
Xr implementations, much like the image-map version is considered different
than the Xrender version. I don't think it is a good idea to require any
implementation to support more than one form of math. If somebody wants
"precise" they can use a precise version of Xr that renders into local memory.
--
,~,~,~,~ ~ ~ ~ ~
/\_ _|_========___ Bill Spitzak
~~~/\/\\~~~~~~\____________/~~~~~~~~ spitzak at d2.com
More information about the cairo
mailing list