Hi Andreas,

First thanks for the quick response. You wrote:

DDS files are not compressed for file storage and they
don't require decompression which means they load quite
quicly. PNG and JPG require this.

If you say, DDS files are not compressed, the DXTn compression doesn't matter, because the algorithms are hardware accelerated? Did this features (being not compressed) pays off even if I write my scene into an IVE-file and load this file later on in another OSG application? I would say no, because PNG and JPG textures will also be stored decompressed, isn't it?

Let me make it clear: I deliberately made a distinction between compressed pixel and compressed image. Few DDS supported ixel formats like DXTn use block compression (packing). Its something bit different than image file compression. Such image resides in the same packed pixel format on disk and in the texture memory.

PNG and JPG usually take less space on disk but while loading into RAM are decompressed to 8 bit per component RGB or RGBA, L, LA. So in practice their compression is used to make their file representation on disk smaller but images in memory occupy as much space as uncompressed images.

Since DDS suports many pixel formats, you can for example use DDS to store unpacked 8 bit per component RGBA which effectively takes 32 bits per pixel. But you may also use DDS for DXT1 or DXT3 or DXT5 packed pixels so that effectively 1 pixel takes 4(DXT1) or 8(DXT3/DXT5) bits.

All depends on application type. I would say that Web app should rather use JPG or PNG because they are smaller and load faster from remote URLs. But if your app is hard vis sim which tries to make best use of available GPU memory then go for DXT1 or DXT3/DXT5 because startup file loading does not matter that much as target framerates.

W.r.t IVE, lets suppose you load a model with textures stored as DXTn DDS and save it to ive. The textures will remain packed in IVE ie they will still be stored as DXTn. Now lets do the same with model with textures in JPG. The textures will be unpacked to 8 bit per component and as such stored in IVE.
So second model will be bigger than first one.

When creating IVE with osgconv you can use the option to convert textures to DXTn format: --compressed-dxt1 --compressed-dxt3 --compressed-dxt5

HTH,
Cheers,
Wojtek
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to