Hi all, I've recently been studying texture mapping techniques in Pokemon maps, I found that rooms are made of many many smaller texture maps rather than one big Atlas, I know this is to do with the texture map size limitation but I found in the current switch game that the rooms tend to be made the same way with lots of texture maps too, though now they will use a 512 texture map just for one small object in the same way that they used to use a 64 square map in the older games. Also if anything the newer game seem to be made up of even more separate textures than before.
I was wondering do you think there is some sort of runtime texture atlas batching optimising magic going on with all these texture maps or are they taking a draw call hit in order to use lots of different texture maps to create a high resolution density texture across the whole scene?
Replies
but, some thoughts because I have time to kill...
- They could be using texture arrays to batch materials which sort of qualifies as magic .
- They could be doing some sort of megatexturing
- If they're streaming textures it might be more efficient to have many small maps rather than fewer big ones so they can load into smaller areas of memory as required
In all likelyhood they're using a combination of techniques and what gets used depends on context. They're also likely to be using the simplest possible system for each caseThe big question (without looking at the game) is this... How much stuff is there on screen at any given frame and how long do you have to process it? Loading and unloading lots of textures isn't efficient and neither is adding unnecessary draw calls but if you're talking tens of objects rather than thousands it might not be something you ever have to worry about as it's all getting done within your allotted frame time.