Float texture formats - how manage ?

I decided to learn vertex texturing feature, and careflly readed Nvidia papers on this thing. But questions arise: For vertex texturing textures in floating texture format is needed. The question is how I can make these? My available software produces only simple textures with RGB integers. ATI’s Rendermonkey 1.6 seems suports some floating formats, but enumerants differs.
Or, may be, I need write code for saving texture in float format? Thanks


You could convert in memory or export using the appropriate software to a format like OpenEXR (for example), of course you have to be able to read those files.


It really depends on what you’re after, if you want to use an existing 8 bit per component image then the in memory conversion is trivial, however if you want true float support then you need float content and how you create that is an open ended question.

There are samples available on the OpenEXR site.

Ok, I’ve found the little sample about coversion in memory at Nvidia site, and am looking available information on RGBE and OpenEXR formats.
Thanks for advise…


Reading about 16 bit formats is a little bit ill advised, because today NVIDIA supports only one or four component FLOAT32 formats for vertex textures natively.
Read this
and this

To create 16 bit floating point textures is not really necessary because glTexImage will do it for you. Just use a 16 bit per channel floating format at the “internalFormat” parameter and load it from GL_FLOAT user data.

Yep, this is not ease learning :slight_smile: I was thinking about 32 bit floating point format from begining and only now, after Relic’s replay, take attention to that property of advised format. I think it will be good to do conversion in memory for basic training. Thanks