Hey All,
I'm looking into ways to most efficiently handle a large amount of tiling environment textures that will be shared across a large amount of environment objects. What are the best ways to tackle this?
I'm currently mulling over packing 512 textures into an 8k atlas. This would give me 256 different textures to work with (roughly 85 different materials - 3 textures per material).
I've heard that Texture Arrays are also another way of handling this, but don't know a lot about them. Is there a better/more efficient way to handle a large number of texture assets?
Replies
Texture Arrays are a good solution and it would be much easier to handle than an atlas texture. Also with atlas textures you might run into seam and tiling issues. Your mesh and uv has to be layed out to tile an atlas map, with an texture array you can tile as usual. Also 8k, even 4k is not supported on all GPUs.
You would just need a custom shader that supports texture arrays. Not sure though if there is a limit to texture size, but from what I heared 256 textures is possible.
Also you need some kind of splatmap to identify the texture, a.g. a seperate texture or vertex color.
The downside is that you need all that textures in ram of your gpu. It would be best to know upfront if all of those are required.
Without getting into too much detail, the game is a large scale world in VR. Any other details that would be relevant to mention?
http://polycount.com/discussion/comment/2490402/#Comment_2490402