Sign in to follow this  

textures textures textures :)

This topic is 2008 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

ok i want to start making a game. i have my geometry raring to go. i just need to texture them which i can, but before proceeding i would like to ask you guys what is the most legit texture file type being used in most legit games? like jpeg, ppm, tga for example. what the verdict? thanks

Share this post


Link to post
Share on other sites
.DDS is sort of an industry standard. Supports compression + mipmaps. Other than that, I see .TGA widely used, as well as .PNG.

Share this post


Link to post
Share on other sites
DDS is good, yes. It's lossy for sure, but like FLeBlanc said it can contain a full mipmap chain, and you can load it directly into your GPU's video RAM via the appropriate API calls without needing to go through any intermediate software stages.

Share this post


Link to post
Share on other sites
I suggest also DDS or PNG. But maybe you can use something else... DDS and PNG are not the only ones, but the compfortables and often used ones in the industrie :D

Share this post


Link to post
Share on other sites
The dds format can be uploaded in a compressed state and decompressed by the graphics hardware, whereas .png will need to be decompressed at the cpu/graphics driver end and uploaded as raw bitmap data, which consumes more bandwidth.

That said, I'm currently using .png, as it is easier to manipulate during development. When I'm closer to release I'll convert them all to .dds and see if it makes a difference to performance at all.

Share this post


Link to post
Share on other sites
[quote name='mhagain' timestamp='1342644613' post='4960647']
DDS is good, yes. It's lossy for sure, but like FLeBlanc said it can contain a full mipmap chain, and you can load it directly into your GPU's video RAM via the appropriate API calls without needing to go through any intermediate software stages.
[/quote]

DDS isn't necessarily lossy. DXT compression is lossy, but with DDS images, you have the option of using either that or storing them in an uncompressed format. :)

I'd recommend experimenting with it a bit, as with some maps, this compression isn't a problem, and in others it is. For instance, DXT compressed normal maps tend to have quite ugly artefacts when used in game, but it's much less significant in DXT compressed albedo maps.

Share this post


Link to post
Share on other sites
The benefit of compressed DDS is that it saves memory - thus saving bus bandwith - and that can give you a major performance boost. Modern hardware can very efficiently decompress the data on the fly during sampling.

DDS can, of course, contain uncompressed data too, in case you want to maintain perfect fidelity in some art. Edited by Nik02

Share this post


Link to post
Share on other sites
[quote name='lemming77' timestamp='1342682060' post='4960821']
[quote name='mhagain' timestamp='1342644613' post='4960647']
DDS is good, yes. It's lossy for sure, but like FLeBlanc said it can contain a full mipmap chain, and you can load it directly into your GPU's video RAM via the appropriate API calls without needing to go through any intermediate software stages.
[/quote]

DDS isn't necessarily lossy. DXT compression is lossy, but with DDS images, you have the option of using either that or storing them in an uncompressed format. [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]

I'd recommend experimenting with it a bit, as with some maps, this compression isn't a problem, and in others it is. For instance, DXT compressed normal maps tend to have quite ugly artefacts when used in game, but it's much less significant in DXT compressed albedo maps.
[/quote]
True that, and good advice.

Share this post


Link to post
Share on other sites
Generally speaking you want to keep your source data in a non-lossy format - PNG and TGA are popular formats.

After that DDS is a simple container format to use which, as others have said, can contain DXT/BC compressed data as well as uncompressed data (such as RGBA8, L8 and other formats), mipmap chains, cube maps and 3D textures. The texture data in this container format can just be passed directly to the GPU and used 'as is' which is why it is used in professional development (note: they might not use DDS as is. For example our pipeline takes a TGA source data, compresses it to DDS and then runs a final step which splits it into a 'header' and 'data' file. The former is used to contain information about the texture, the latter is the texture data).

As to what compression is used on what texture; well that depends on the texture itself. Some might work well with DXT1 (BC1), others need DXT5 (BC3) and if you are targetting DX11 you can use the newer BC (block compression) formats. One of which has a higher quality mode and the other supports HDR data (BC6 and BC7). Normal maps can be compressed with varying quality depending on your requirements.

Share this post


Link to post
Share on other sites
Sign in to follow this