Game Development Community

Texture Handling

by Andy Rollins · in Torque Game Engine Advanced · 06/26/2008 (5:44 pm) · 7 replies

We're currently developing a game using TGE 1.5.2 and the memory usage is slowly creeping upwards as more detailed 1024x1024 textures are used to improve the look and feel of the game. Now the textures are going to be uncompressed in video memory regardless so not much can be done that side of things, other than ensuring not too many of these textures are visible at once.

I know the texture management and materials system in TGEA are all new but would anything in TGEA offer us better support for large textures - I'm thinking paging of textures, dynamically loading them as required or anything like that which would reduce the memory footprint?

#1
06/27/2008 (10:45 am)
TGEA does support compressed .DDS textures which can greatly reduce your memory footprint.
#2
06/27/2008 (1:03 pm)
Quote:
TGEA does support compressed .DDS textures which can greatly reduce your memory footprint.

If you can accept that your DDS files need to be square for the implementation to work, sure.
#3
06/27/2008 (1:42 pm)
Should really be trying to use PoW2 textures anyways :p
#4
06/27/2008 (2:21 pm)
Whaaaat? Non-square textures doesn't have to be non-Pow2. For instance, 512x256.

Besides, try fitting a square texture to your screen (like in GUI's).
#5
06/27/2008 (6:30 pm)
True I suppose... but Square is still sort-of recommended for most game engines, in any format.

As for GUI, I wouldn't use DDS unless theres just a really big need, due to the fact that GUI can handle non square and non pow2 for majority of it... as PNG or whatnot

J
#6
06/28/2008 (3:10 am)
Thanks for the information guys, I'll have to take a look at how to create DDS textures (Cranks up google) and then plan a time to go through the process of porting to TGEA.
#7
06/28/2008 (3:22 am)
Quote:
True I suppose... but Square is still sort-of recommended for most game engines, in any format.

As for GUI, I wouldn't use DDS unless theres just a really big need, due to the fact that GUI can handle non square and non pow2 for majority of it... as PNG or whatnot

If Square is recommended, why do you think it's good practice to use non-square PNG's, but not DDS's?
The bug is in the TGEA TextureManager, not in the DDS implementation. We're shaving off a whole lot of memory by using DDS's everywhere, and loading times are slightly lower too. They are even smaller in most cases when compressed, than PNG's.