You dont really need 128bit textures, so much as you do a 128bit pipeline. 32bit is adequate for storage for most situations.
The only time 32bits isn’t enuff, is when you’re doing extensive calculations on fragments. But this is only in the pipeline where the calculations take place. Storing you textures in 128bit, over 32bit, will give you hardly any benefit at all.
AFAIK Photoshop supports 64bit images. IIRC. But it’s pointless for most things.
In fact, there can be situations where you want to have more than 32bits textures. For example, a good use of them is to store high dynamic range images.
In Devedeq’s page you can find images using Greg Ward’s format: http://www.debevec.org/Research/HDR/
There is a page with the descriptions of a couple of formats: http://positron.cs.berkeley.edu/~gwlarson/pixformat/
Hope this helps.
– Carlos
[This message has been edited by Cab (edited 11-12-2002).]
The HDR pixel format stores RGBE where the E is the exponent of the highest-valued component (in a float) and R, G, B are the highest 8 bits (including leading one) of the mantissa, when normalized to that exponent. Each is stored as 8 bits, so it’s a “high dynamic range” image file format with 32 bits per pixel.
PNG and TGA and TIFF can store (and, to some extent, compress) images with 16 bits per component. Photoshop can work with these images. Sort of.
However, because there is no interpolation/filtering in the current floating point texture formats, I don’t think it’s so useful to put texture images in floating point buffers. These buffers are probably more useful for things like look-up tables, and for multi-pass rendering use.
Yes you can edit > 8 bit data on an 8 bit monitor. Simply need adjustable luts in
your paint package so you can move around the color space.
Amazon Paint which runs on Linux and Irix
supports 16 bit/channel images and has adjustable luts. There is also an openEXR reader plugin available now. http://www.ifx.com/
Surely you only need HDR/floating-point for env-map textures or actual light brightness levels (and obviously the render target texture).
A diffuse texture is just a modulate on the diffuse lighting received at a point (ie, between 0 and 1) so they can be drawn the same way as they are now.
You could generate HDR env-maps by actually rendering a scene into a cubemap.