Optimize your textures! Pimp your GIMP for new BGE features.DDS and normal maps.

With the release of 2.48 we have 2 very special features added!
Normal maps in GLSL, and Direct Draw surfaces (DDS).

Normal maps give your models a lighting trick to make fine details on your models.

DDS in short:
-PNG or JPG textures are uncompressed by software, then sent, stored and used raw, uncompressed in the video memory
-DDS textures are sent straight to the video memory, stored as is (compressed), and uncompressed on the fly by the hardware at no cost (in fact, there is a gain because there is less memory access)

So DDS is clearly superior for performances, especially if you don’t have tons of video memory. Compression ratio of DDS is 8x or 4x depending on the alpha channel requirements.

Learn more about DDS and DXT here:
http://wiki.rigsofrods.com/index.php?title=Making_DDS_textures

Get the normal map plugin here:
http://registry.gimp.org/node/69

and get the DDS plugin here:
http://registry.gimp.org/node/70

If you are a windows user, here is a nice utility. it will let you see DDS files in explorer as thumbnails!

Interesting stuff. Thanks for posting.
Ive never heard of DDS textures before. Is there any documentation on how to use it in the BGE?

Also are there any downsides to using DDS as opposed to JPG or PNG? I read in that article that the quality is slightly less.

DDS is a lossy format (that means that the image quality is slightly degraded)
But other than that it seems to sound like a very good method of texturing?

Edit And thanks sooo much for the GIMP normal map plugin! Ive been needing that for ages now, but could only find versions that worked with older versions of GIMP. So good…

cool - I’ll see if this speeds up my large scene later

thanks

Use DDS in blender exactly as you would use any other texture. Blender views them very well, and you will be able to see the textures in real time if you have GLSL enabled.

Here is a bit more updated information.

http://tech-artists.org/wiki/DDS

DXT is a compression that the DDS file uses. Generally I will just use DXT1 on a non-alpha masked texture for my diffuse maps. and I will use the DDS uncompressed for my normal maps.DXT1 has no alpha channel, but DXT3 and dxt5 do.

For things that have lots of alpha maped surfaces like trees, I will use DXT3 because it only needs 16 levels for the alpha, and compresses really tight.
For things like emitter textures:smoke flame, and things that you want to have a nice falloff, I will use DXT5 for it s 255 levels of alpha masking.

In the article they say to use the DXT5N compression for normal maps. This REALLY dose not work with blender. Use the uncompressed, or just keep your normal maps as TGA or PNG’s if you notice banding or bad mippmapping on the diffuse texture.
DO NOT MIP MAP textures with alphas or normal maps. it will ruin them.

one last note is that you should make a seperate workfolder for your original textures, the DDS files are not really made for editing. You can get away with some simple manipulations , but it is always better to just change the original and then make a DDS from that.

paint.Net supports dds natively

and blender has its own image => normal map node (if it’s not in the official build try the build since texture nodes branch)

but all the other info is cool - although i heard about and used .dds through crysis modding but didn’t know all this stuff =)

why no mip maps? i not read - link no work =(

If you’re mip-mapping textures with normal maps you will be perfectly fine if the normal map is blank from second or third level downwards if you just let it automatically create mipmaps.

I don’t know how this works out in blender but for oblivion we mipmapped our textures manually so it could be done non-destructively in the same app as we created the texture.

I’m not too sure about the alpha mask though, would look like utter crap just removing it on lower levels. If i remember correctly the DDS plugin for Photoshop at least has mipmapping options.

I’ll download as soon as possible and have a look to see if i have some more info on that :wink:

EDIT: Here’s the download link to the photoshop plugin:

.DDS Thumbnail viewer for Windows XP - Very handy!

This is not oblivion. this is the blender game engine.
If you use mipmapping on normal maps you are guaranteed to get banding in most game engines. In the blender game engine it will not even load the texture if you try dxt5n with mipmaps.

So please tell us, what does it do when you add this magical mippmapping to the normal maps? does it improve anything? Do you actually know what a mip map is for, and why it dosent apply to normal maps?

The gimp plugin has a mip map function, just like the photo shop one. The only difference is that you do not need a pirated copy of photoshop to use the gimp plugin commercially.

The code for the gimp normal map+ DDS and the photoshop normal map + DDS plugins are identical. they use the exact same method to generate the normal maps, and dxt textures.They use the same filters. It was programmed by the same team of people originally.

The advantage of the open source solution is that the photoshop plugin cannot do the proprietary DXT compression from ATI or non-nvidia sources. that was aded in later by the OS community.

thanks for re posting the thumbnail viewer too.

The installer instructions given for the current version of the plug-in (v1.2.1 (2006-09-18)) are not compatible with gimp 2.6 nor 2.5.

You have to copy the files
normalmap.exe and glew32.dll --> \GIMP-2.0\lib\gimp\2.0\plug-ins and
libgtkglext-win32-1.0-0.dll and libgdkglext-win32-1.0-0.dll --> \GIMP-2.0\bin

:wink:

Well i’m terribly sorry if you got pissed off man i really didn’t expect that.
I said what my experience are with .dds format from when i was modding for oblivion and that i do not know how these things work out inside blender but i wanted to try stuff out.
Sorry if i reposted the link to the thumbnail viewer too (although i of course did that to mess with you).
Further on i wrote that it is better to just remove the normal map on the smaller mip-maps because they will look like crap, isn’t that what you stated orignally too?
I do not own a pirated copy of Photoshop either and i didn’t have any intention of befouling your shiny open-sourcey thread of holy GIMPiness with the presence of the oh-so-evil commercial photoshop, i just wanted to post some other resources that people also could have a look at.

now normally I hate the “peace maker” personalities on the internet but I’m gonna have to say calm down u guys. I think you are both awesome, and this was just a little misunderstaning that’s all :wink:

:smiley: i’ll settle just for this special occasion kay_eva!

If we’re still having a discussion about normal maps, mip-mapping and alpha textures, i haven’t been able to try it out since my laptop doesn’t support GLSL with its dreaded Intel graphics :smiley:

Yea, I am not mad, I was just trying to be colourful . My english is not so good, sorry about that.

Neither is mine :stuck_out_tongue: Sorry.

another good link from a professional!
http://poopinmymouth.com/tutorial/dds_types.html

That is a great contribution Rozzy! Thanks for the link.