Home Technical Talk

Non Square Texture to Reduce Texture Lookups: Yay Or Nay?

interpolator
Offline / Send Message
m4dcow interpolator
I have started planning a texture layout for a building, and I am aiming to keep texture lookups (and thus draw calls) as low as I can, with horizontally tiling textures.

For my needs right now, I have 2 1024*1024 textures, one with a tiling wall section and one with a bunch of different paneling & trim pieces (think sci fi). I was thinking about combining these 2 maps into 1 1024*2048 map since everything tiles horizontally (and doesn't need to tile vertically).

Now I have been told that square textures are preferred and non square textures even though they are power of 2 present some slowdown or inefficiency when being loaded in and out of memory.

I pondered making a 2048*2048 where I could get more variation, but it seems like a such a waste when all I really need is 1024 wide.

I know this is engine dependant, but should I really worry about this? And any info on how people approach this themselves would be appreciated.

Replies

  • Bal
    Options
    Offline / Send Message
    Bal polycounter lvl 17
    If it's for a portfolio piece, don't worry about it too much, merging them shows you at least thought about optimizing. If ever you do work on an engine that doesn't like rectangular textures, you don't need to be a genius to know how to separate those rectangular maps again.

    On a side note though, draw calls isn't the only thing to consider for this. Depending on the situation, sometimes merging things too much can make streaming more difficult.
    For instance you have 2 objects that you put on the same texture maps, when you could have put them on two smaller ones, if at one point in your game you're close to one object but the other object isn't present or is very far away, the engine is gonna have to load the whole map anyways, instead of just a full res smaller map and a very small streamed map of the distant object if you had split them (so less texture memory).
    The issue doesn't always seem worth considering, but at a larger scale it can have some effect on the streaming performances of a whole level, obviously not the case in your situation, but thought it'd be nice to mention it anyways.
  • m4dcow
    Options
    Offline / Send Message
    m4dcow interpolator
    Well it's good to know it isn't a big issue, but I like to know the pros and cons of doing certain things.

    And your sidenote is definitely something to keep in mind, I figure when packing things on a sheet to keep logical stuff together. In my case the building tiling textures would have another sheet with related props, HVAC units, bulkheads, doors, windows etc...
  • Macattackk
    Options
    Offline / Send Message
    Macattackk polycounter lvl 7
    It probably depends mostly on the engine your using. Rage was made to handle the megatexture they used for everything. You're basically proposing a halfway version to a megatexture workflow. I think the general thing to do is group things logically like you said.
Sign In or Register to comment.