|
![](/i/fill.gif) |
On Fri, 03 Sep 2004 14:57:00 +0200, Christoph Hormann
<chr### [at] gmx de> wrote:
> Fredrik Eriksson wrote:
>> I now have a few questions for the POV community:
>> - Is support for 32-bits per component floating point output desired?
>> It wouldn't take much effort to do, but I doubt it's needed/useful.
>
> That would be great if you would implement it in a portable way (i.e.
> allowing exchange of files between different endiannesses and between
> IEEE and non-IEEE floating point systems. This is possible but not
> trivial.
I'm using the OpenEXR library, so it's portable to any system that's
portable to. If all I wanted was to output "raw" FP data, I could have
used the code I posted in this forum on the 25th. I want the extra
features of OpenEXR however.
Currently I'm using the 16-bit "half" output format, but OpenEXR supports
32-bit float as well.
From the OpenEXR website:
"OpenEXR has been ported to GNU/Linux, OS X 10.2, Win32, and IRIX. It
should be fairly easy to port to other UNIX-like operating systems."
The header 'half.h' contains this text:
// The implementation of type half makes the following assumptions
// about the implementation of the built-in C++ types:
//
// float is an IEEE 754 single-precision number
// sizeof (float) == 4
// sizeof (unsigned int) == sizeof (float)
// alignof (unsigned int) == alignof (float)
// sizeof (unsigned short) == 2
I'm going to have a look to see if I can loosen those restrictions. I'll
also try to see if there are any other restrictions, either implicit or
stated elsewhere.
Hopefully, I'll be able to change those restrictions to something like:
- float has a range comparable to, or greater than, that of the IEEE-754
single precision type
- sizeof( unsigned int ) >= 4
- sizeof( unsigned short ) >= 2
On a related note:
Does anyone have a (preferably complete) list of platforms to which
POV-Ray has been successfully ported?
I am particularly interested in issues such as endianness (or, more
generally, byte order), the size of primitive data types and alignment
restrictions.
--
FE
Post a reply to this message
|
![](/i/fill.gif) |