getting compressed cubemap faces

Suppose you have support for GL_ARB_texture_compression, GL_ARB_texture_cube_map, GL_EXT_texture_compression_s3tc.

Is it valid to get the compressed faces back from the GL using

GetCompressedTexImageARB( face,
img );

where face is one of

if you have the cubemap bound to GL_TEXTURE_CUBE_MAP_ARB???

I’m doing this to stream out a DXT1 cubemap into a packed file, but when I stream it back in the cubemap looks wrong (I can see what looks like an edge between the faces on my geometry). This edge isn’t visible when I load directly from the original DDS file.

I’ve checked the code, and it streams out the faces in the same order that it streams them back in. I save the packed file and read it on the same system (tested on both GeForce4Ti4600 and Radeon9700) and always see the same thing.

I’ve removed mipmaps so I only have one image per face, but still see the edge.

The addressing modes also appear to be the same.

I’m quite willing to accept I’m doing something wrong, but it’s bugging me.

Any ideas?



<edit: typo>

[This message has been edited by markfcsl (edited 08-02-2003).]

OK, it was my test app that was wrong. You can read compressed cubemap faces back from the GL.

It was using a multitextured geometry, with the cube map in texunit1, and another similar texture in texunit0.

The edge that I could see was from texunit0.