I am currently working on a new Renderer using DX11.
To batch multiple meshes I would like to use geometry instancing with Texture2dArrays to prevent texture atlases.
This would be the pseudo code for rendering:
foreach effect in effects
foreach batch in batches
SetTexture2DArray()
SetInstanceBuffer() //Transform & Material (cbuffer)
SetVertexBuffer()
SetIndexBuffer()
DrawIndexed()
Each mesh consists of 3 Textures and geometry. Meshes with the same input layout would be get combined in one batch.
One batch can hold up to ~300 meshes to get an TexturArray of 900 Textures per batch.
Is it possiple to to use diffrent combine textures of diffrent sizes into on TextureArray?
If not I could only combine meshes with the same input layout and texures sizes.
Do you think this is a good system generally?