Home Technical Talk

Textures: How many pixels or how many bites?

I was wondering about texture map sizing conventions I commonly see for assets developed for games.
When artists are made to produce textures of a particular size (512X512 for example) is it done because of the amount of memory it is assumed a texture of that size will tax the gameplay engine (in kb) or;
Do game engines have dimension limitations when it comes to pixels per texture?
If I created a 256 x 256 texture at say 70kb and a 6400 x 6400 at 70kb, do they create the same burden for a gaming engine?
In 3dmax the seems to be no difference in framerate or performance if I have two textures that are the same size memory wise but vastly different in pixel dimension and I'd like to know if this is the case with gaming engines.

Replies

  • equil
    Options
    Offline / Send Message
    no. http://www.unifycommunity.com/wiki/index.php?title=VRAM_tips

    some consoles and persistent platforms do have a max texture size, dimension wise, but usually it is because of memory. The main thing to pick up here is that in video memory, the filesize of your image file (in jpg, png or tga etc) won't really matter. just the resolution, bit depth and amount of channels.
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    in order to make things running smooth the following technical details might matter:
    • texture sizes that are fast to lookup using bitshifting >>> or other tricks. 8,16,32,64,128,512,1024,2048 are such numbers because they part of ^2 numbers.
    • ram size might be something to consider if you develop for a console, handheld or a reasonable PC rig. This really depends on the ram size and how the engine handles it (i.e streaming, pre caching,...)


    from a visual perspective the following things might matter
    • consistent pixel density across the environment or objects / characters. Which means that every texture pixel is in the same size as pixels from textures on other objects.
    • align as often as possible vertical and horizontal UV alignment to actual pixel axis so that you don't see pixel rotations on the surface
    • If you use flat shades or big gradients you can actually work very well in low res texture sizes. Crispy and noisy textures on the other hand need higher resolutions.
Sign In or Register to comment.