Steppenwolf Posted April 18, 2007 Report Posted April 18, 2007 I'm unsure if compressing or not compressing of a normal map texture only has influence on the size of the texture on the harddisk. i thought ive read somewhere that in the video ram the size is nearly identical and therefore its better to save them uncompressed (+the fact that no artifacts appear in a uncompressed texture). Anyone know if thats true?
Pericolos0 Posted April 18, 2007 Report Posted April 18, 2007 what kind of compression is it? I know that compression types like dxt are specifically designed to take up less size in video memory. I always thought it would be thesame with normal maps?
Steppenwolf Posted April 18, 2007 Author Report Posted April 18, 2007 In the vtf photoshop plugin the presets for normalmap and normalmap with alpha. Use them and the normal maps are saved uncompressed. Afaik this is important or you will loose fine details (vtf compression is not free of quality loss!) I only saved my normal maps uncompressed yet and didn't noticed problems with my texture memory or game performance. But still i want to know if it makes a difference for the game performance to save them compressed. DXT has afaik not really to do with compression. its about how much bits are used to store alphamaps and additional info (DXT1 for example stores alphas only in 1 bit, DXT 5 uses 8 bit).
R_Yell Posted April 18, 2007 Report Posted April 18, 2007 Compression in 3D cards is meant to take less video memory, the point is just that. So yes, using compressed stuff (including normals) saves memory. Examples: check games using Doom 3 engine with compressed and uncompressed normal maps, uncompressed version takes much more video memory. BTW, Someone remember Valve promising support for 3Dc normal map compression, that is supposed to eliminate artifacts?
Steppenwolf Posted April 18, 2007 Author Report Posted April 18, 2007 http://developer.valvesoftware.com/wiki/Normal_Maps On this valve site it suggests to save normal maps uncompressed. I'm really confused.
R_Yell Posted April 18, 2007 Report Posted April 18, 2007 It's simple for me: if a compressed normal map doesn't create noticeable artifacts in-game, then there is no reason to make them uncompressed. BTW, the problem of wiki is that everyone can post there, hell, even I have a tut there
Defrag Posted April 19, 2007 Report Posted April 19, 2007 It depends on the normal map, but it's generally better to save it uncompressed if you can. If it's unimportant or doesn't contain much detail then you can compress it. Compressed textures definitely do take up less video memory because I looked into it a while back (and by "I", I mean decs!).
Campaignjunkie Posted April 19, 2007 Report Posted April 19, 2007 While I'm not sure about video memory, uncompressed normal maps definitely take up more disk space - and it can add up very quickly if you're using lots of custom textures. But in my experience, I think the VTF compression is good enough to the point that you can compress most normal maps. Anyone care to do some experiments?
Wunderboy Posted April 19, 2007 Report Posted April 19, 2007 Thought I'd chip in with what little I know (I had a small part in the development of the VTF plug-in so I got to know VTF format intimately ) http://developer.valvesoftware.com/wiki/VTF <- has more specific info on VTF format and a reference image I did on how the different compression formats effect different texture types. In general, DXT1 should be used where possible as it gives 8:1 (6:1 with alpha) compression. DXT3 and DXT5 give 4:1. For normal maps, generally save them uncompressed as the artifacts generated from the lossy DXTn compression can cause problems. However, as R_Yell said, if you feel your normal map doesn't lose fidelity by being DXTn compressed, knock yourself out. 3Dc compression is better for normal maps but unfortunately Valve doesn't currently support it or the forthcoming 7.3 version of VTF format. Main benefits of DXTn compression (or any compression in that respect) is apart from less disk space it reduces the ammount of bandwidth needed to push textures into your rendering pipeline - you'll get a 500k compressed texture into the card faster than an 8Mb uncompressed one! If you want to see exactly how much texture memory Source is using, in the console use: mat_show_texture_memory_usage 1. You can toggle normal maps on/off with mat_fastnobump 0/1. That will give you a way of monitoring how your normal maps are effecting texture memory usage.
Steppenwolf Posted April 19, 2007 Author Report Posted April 19, 2007 Thanx for the infos Wunderboy. Thats helpfull.
Defrag Posted April 19, 2007 Report Posted April 19, 2007 Also you can use +showbudget_texture and +showbudget_texture_global which shows the texture usage stats for the current frame and the global texture usage respectively.
Recommended Posts