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