Page 1 of 1

.DDS format support?

Posted: Wed Apr 07, 2010 12:57
by wizzler
Hey,

I want to use .dds file format with DX1-5 compression but it seems like this format is not supported by CEGUI (+falagard).

Code: Select all

07/04/2010 14:46:19 (Std)    ---- Version 0.7.1 (Build: Jan  2 2010 Microsoft Windows MSVC++ 9.0 32 bit) ----

/.../

07/04/2010 14:46:19 (Std)    ---- CEGUI Imageset name: TaharezLook
07/04/2010 14:46:19 (Std)    ---- Source texture file: TaharezLook.dds in resource group: (Default)
07/04/2010 14:46:19 (Error)   CEGUI::FileIOException in file ..\..\..\..\cegui\src\RendererModules\Ogre\CEGUIOgreImageCodec.cpp(72) : OgreImageCodec::load: File data was of an unsupported format.



I saw that Torchlight used dds in their game. How come this does't work now? Did they implement the file format themselves? I saw some posts regarding CEGUI 0.6.x that did actually work with dds.

Re: .DDS format support?

Posted: Thu Apr 08, 2010 15:18
by Jamarr
CEGUI relies on the ImageCodec modules for loading images, so this is not really a CEGUI problem. If you need to load DDS images, then you need to use an appropriate ImageCodec module that can load DDS images. Since you are using OGRE, I think it is safe to assume that at some point the CEGUIOgreImageCodec supported loading DDS images and no longer does. Note that an ImageCodec is nothing more than a wrapper to an image-loading library (freeimage, devil, silly, etc.).

I remember reading some threads on this same issue, so you may want to search the forums a bit more as I know CE has already answered this question before.

Re: .DDS format support?

Posted: Mon Apr 12, 2010 08:51
by CrazyEddie
Internally CEGUI does not support compressed textures at this time. It's something I've said I'll look at, though have no ETA on when that might be, so if someone wants to get their hands dirty, have at it!

I think the reason it may have worked in the past but not now is due to changes in the way we deal with image data through the CEGUI::ImageCodec system which was previously only used for OpenGL and DirectFB.

CE.