Volume DXTx and nVidia hardware on OpenGl

A place for users of OGRE to discuss ideas and experiences of utilitising OGRE in their games / demos / applications.
Post Reply
Crashy
Google Summer of Code Student
Google Summer of Code Student
Posts: 1005
Joined: Wed Jan 08, 2003 9:15 pm
Location: Lyon, France
x 49
Contact:

Volume DXTx and nVidia hardware on OpenGl

Post by Crashy »

Well, the title says everything:

I'm having problems with DXT volume textures with openGL render system and nVidia hardware. Everything is fine with AMD hardware and/or with DirectX render system.
I've reproduced the bug with Ogre 1.9 and also in Ogre 1.7 samples, by compressing the "perlinVolume.dds" file to DXT5 and running the Compositor sample with the oldTV compositor enabled.

This is driving me crazy, as everything I've read these days about compressed volume texture says that it can work on nVidia due to an extension ( GL_NV_texture_compression_vtc) but not on AMD...Well, it seems time have changed :?

Basically, the rendering is broken and very pixellated/blocky.

I think I've found a plausible answere here: https://www.opengl.org/discussion_board ... TexImage3D
Each VTC compression format is similar to a corresponding S3TC
compression format, but where an S3TC block encodes a 4x4 block of
texels, a VTC block encodes a 4x4x1, 4x4x2, or 4x4x4 block of texels.
If the depth of the image is four or greater, 4x4x4 blocks are used,
and if the depth is 1 or 2, 4x4x1 or 4x4x2 blocks are used.
That said, it seems that on nVidia hardware it uses the VTC compression and not the S3TC one. Apart from the code snippet given in the link, I've not found any information on how to generate VTC textures, even the nvdxt tools cannot compress a texture in this format.

Now I have these choices:
-Don't use compressed 3D Textures.
-Disable (is this even possible ?) the GL_NV_texture_compression_vtc extension to see if it works without it.
-Convert the textures at runtime when app runs on an nVidia hardware.
Follow la Moustache on Twitter or on Facebook
Image
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5296
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1278
Contact:

Re: Volume DXTx and nVidia hardware on OpenGl

Post by dark_sylinc »

Most likely a driver bug.

When I find things like these, I download gtruc's samples which are really good and reproduce the error (normally there's already a sample dedicated exclusively to the feature you're having problems with).

If you repro the problem, report it to the driver team. All vendors are quite used to those samples as suite testing.
If you can't repro the problem, find the differences with Ogre's code and report it to us.
Crashy
Google Summer of Code Student
Google Summer of Code Student
Posts: 1005
Joined: Wed Jan 08, 2003 9:15 pm
Location: Lyon, France
x 49
Contact:

Re: Volume DXTx and nVidia hardware on OpenGl

Post by Crashy »

Thank you for the advice, I'm gonna try this.
Follow la Moustache on Twitter or on Facebook
Image
Post Reply