Texture compression howto

I’m not on the right machine with nvcompress today, but tomorrow. I’ve some DDS inside .jar of Package crytek_sponza2 - davidb but I don’t know if there are alpha (seems to used mask instead).


Awesome! It’s actually a gimp plugin problem, because my GPU works with the new textures! :smile:

@Empire_Phoenix your logo works!

@david_bernard_31 With a 2048x512 texture it works OK, instead if I use a 8000x8000 or 8192x8192 I get “nvdxt stopped working”:

I’ll try to contact nvidia :expressionless:

…maybe they’ll offer me a geforce for not telling this to anyone :smile:

Its a feature, no seriously,

nvidia and amd never thought that we might use this kinda of resolutions, and also kindly forgot to put in outofrange checks (noone will ever reach a 4k texture anyways lololololo) So basically how any crappy tool is created :smile:

Can you send me your 8k texture, to see if it works if I throw it trough my tool?
If it does, I might consider refactoring my project and making the converter part an external library on github.

Here it is: Dropbox - pppp.zip - Simplify your life

here they are,

your image is btw 600mb uncompressed, so i that the tools reach the 32 bit border while writing and processing it.

Here is the converted one, once in proper power of two once in directly
Btw factor 16 compression :slight_smile: as rar, rarely ever have that :slight_smile:

Thank you! It works but… there is probably too much compression :stuck_out_tongue:

Is it possible to configure that?

the dds compression is fixed algorithm, there is nothing to configure there if you mean that. And with your file it is around factor 4 on the gpu.

Original on the left, compressed on the right. It is weird because the Gimp conversion on geforce didn’t degrade the quality…

Hm, except the blue dots in the background it looks (pretty) identical for me.
anyway dds compression is creating a little 2x2 artifact pattern, because it is not lossless.

Is this with both outputs the same? One was prescaled the other was scalled internally.

Click the image to view the unscaled version. Check for example the helmet feathers, which show sharp reflections on the original and blurred reflections on the compressed version.

EDIT added for clarification:

EDIT: Screenshot with the gimp+geforce combo and let you know.

Yes, the result is more or less the same.

What could be is, that the gimp one is actually uncompressed, as far as I know dds allows for uncompressed images as well.

But the memory usage is lower! I know for sure because I tried on a 32bit system and the uncompressed PNG simply didn’t load.

You could try to split your spretsheet into 2 or more files alternativly,

it won’t change the memory requirements, but allows you to seperatly push them trough the nvidia tool.

Just on a side note: 8k textures are completely unsupported by some GPUs that are currently still in use.
IIRC then the first gen intel i3 integrated GPUs are also affected.

Using 4k x 4k textures is very safe though.
Probably safer to check GL_MAX_3D_TEXTURE_SIZE before loading the 8k texture.

But the one withotu the 3d in it, 3d textures are a whole different thing.

I’ve posted the updated screenshot a few posts above. So, there IS some compression and quality degradation with GIMP (reduced palette and 2x2 artifacts), but is less noticeable than the one used by @Empire_Phoenix (but is less compatible!)

Hm I guess the algorithms I have, are probably more for performance than for quality optimized, given the original use case.