Hi Wojciech, About 3rd party tools, I've tested XNView, The Compressonator (AMD) and DeepExploration, and all seem to ignore the R, G, B masks... Or there is a mistake somewhere in OSG DDS writing that make those masks unreadable... or else I made a mistake somewhere!
I'm a bit lost now... What's next? Should we change something according to endianness (if little endian, swap R&B when reading and writing)? If you got any idea there... ;) Cheers, Sukender PVLE - Lightweight cross-platform game engine - http://pvle.sourceforge.net/ ----- "Wojciech Lewandowski" <[email protected]> a écrit : > Hi, > > I had some experience with D3D in the past maybe could help clear a > picture > a little. > > Basic 32 bit color format using in Directx is named in Direct 3D: > D3DFMT_A8R8G8B8. Components are enumerated from most significant byte > to > least significant byte. Such pixel value is usually set by using > single > DWORD. for example DWORD color = 0xAA112233 coresponds to following > bytes > alpha = 0xAA red = 0x11 green = 0x22 blue = 0x33. As I said earlier, > this is > an order byte significance, not an order of bytes in memory. When you > write > this dword to memory they will land in following order on Intel (big > endian > CPUs) [Blue][Red][Green][Alpha]. So in OpenGL notation it would be > GL_BGRA. > Hope this explains a bit. Hence basic Directx ARGB format should be > read as > OpenGL BGRA. To switch to more intuitive OpenGL RGBA you apparently > have to > swap R and B bytes. > > However, DDS format is capable of storing all variants of 32 bit color > layouts. RGBA, BGRA, ABGR, & ARGB. As far as I remember only color > component > bitmasks should be changed accordingly to select proper variant. If > your > tools do not read them correctly this is most probably an issue with > those > tools. I am sure OSG DDS ReaderWiriter is not saint here as well. > > Cheers, > Wojtek > > > > > ----- Original Message ----- > From: "Sukender" <[email protected]> > To: "OpenSceneGraph Users" <[email protected]> > Sent: Wednesday, December 30, 2009 1:22 PM > Subject: Re: [osg-users] DDS uncompressed RGB(A) / BGR(A) > > > > Hi all, > > > > Is there an endianess problem with DDS format? I'm using a Core2Duo > here > > and I don't know under which kind of machine the DDS has been > tested... > > > > A little explanation: After a bit of investigation (=cleaning stupid > > copy-paste), I found that the only "true" bug I had was "Changing R, > G or > > B writer's masks doesn't seem to affect reading in 3rd-party > readers". Has > > anybody encountered this before? > > Writing DDS: It seems the DDS must be BGR in order to make 3rd-party > > readers work correctly (by inverting R and B channels). > > Reading DDS: It seems DDS generated (from a JPG) by 3rd party tools > are > > marked RGB but are BGR... > > > > Please help and share your experience! > > > > Sukender > > PVLE - Lightweight cross-platform game engine - > > http://pvle.sourceforge.net/ > > > > ----- "Sukender" <[email protected]> a écrit : > > > >> Hi Robert and all, > >> > >> I'm lost: > >> - Changing R, G or B writer's masks doesn't seem to affect reading > >> (either the plugin or 3rd-party readers, except when masks are > >> completely nonsense) > >> - Copying the image (DEEP_COPY) and writing the copy instead of the > >> oringinal result in a vertical flip of the image in the file! > >> - Manually inverting R & B channels in a copy of the image doesn't > do > >> anything... > >> I must have a very stupid mistake somewhere but I can't fugure out > >> where... > >> > >> Any idea? > >> > >> Sukender > >> PVLE - Lightweight cross-platform game engine - > >> http://pvle.sourceforge.net/ > >> > >> ----- "Robert Osfield" <[email protected]> a écrit : > >> > >> > Hi Sukender, > >> > > >> > I'm not overly familiar with the dds plugin, but what you > describe > >> > sounds like a bug in writer in our dds plugin. > >> > > >> > Robert. > >> > > >> > On Fri, Dec 18, 2009 at 5:15 PM, Sukender <[email protected]> > wrote: > >> > > Hi all, > >> > > > >> > > It was discussed a long time ago but I dit not find an answer. > >> > Saving to DDS an uncompressed RGB image and then loading from the > >> file > >> > works: the loaded image is the same as the original. However, the > >> file > >> > is BGR (R and B inverted). I tried three 3rd-party tools (image > >> > viewer/converters) and all display the same. > >> > > Do you think this is a bug in DDS readerwriter? Anyone has a > clue > >> > about it? > >> > > Thanks a lot. > >> > > > >> > > Sukender > >> > > PVLE - Lightweight cross-platform game engine - > >> > http://pvle.sourceforge.net/ > >> > > _______________________________________________ > >> > > osg-users mailing list > >> > > [email protected] > >> > > > >> > > >> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > >> > > > >> > _______________________________________________ > >> > osg-users mailing list > >> > [email protected] > >> > > >> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > >> _______________________________________________ > >> osg-users mailing list > >> [email protected] > >> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > _______________________________________________ > > osg-users mailing list > > [email protected] > > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > > > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

