Floating Point Image Formats and Art Applications

It seems to me that the next generation of cards will demand that the art path be converted to floating point for texture maps.

Are there any standard image formats which support floating point pixels?

Does Photoshop support floating point, or at least >8 bits per channel?

I hope someone answers this…I’d like to know as well.

Even if there is a format to save 32 bit per component images, though, how will the artist create them correctly on an 8-bit per component display?

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.

Nutty

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.

Open EXR is ILMS floating point HDR image file format.
There is a source forge project for it. http://sourceforge.net/projects/openexr/

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/

Photogenics HDR is a 128 bit, floating point HDR package.
http://www.idruna.com/photogenicshdr.html

I have actually used a version of Photogenics on Amiga (years ago , and I liked it.
http://www.debevec.org/HDRShop/

HDRshop is free. And it’s based on Paul Debevecs design/consept.


Vegar

[This message has been edited by vegark (edited 11-20-2002).]

[This message has been edited by vegark (edited 11-20-2002).]

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.