we launched a new model pack and like last time I rendered them in Irrlicht again. I found out that the b3d format works best if models have several textures applied.
Generally it's best to just have one texture per model for rendering as this is the most efficient way as you don't have to keep switching textures in and out of memory which can be time consuming, just so you know!
Virion:
Yes, all models have diffuse, spec, height and normal maps. But to be honest: I did not manage to activate them in IrrEdit. So this picture shows only static shadows.
For a real-time game some normal maps could look good in close distance. But if you are a bit away from a model then this is not needed. So it would be ideal to have LOD versions of your materials to render an entire city. Because of this we have made LOD versions of the models for every house. The goal was to make cities like you can find in Assassins Creed and other games.
Yes it appears so, and that is a lot of textures. By the way, how many polygons does that model have? (From the picture it looks to be about 4,000 polygons.)
I would also like to know how this model performs if you put 10-20 in a level.
Frank_Geppert wrote:I see, but then you get into trouble with tiling textures sacrificing details.
All the indoor renderers like BSP can render with several textures per level so it must be manageable in real-time 3d.
The common way to do it is to stick all of you're textures onto a single large "pallete" texture specific to a single environment, and use different sections of this single image on different parts of the mesh by offsetting the texture coordinates. Offcourse, this makes it *blows nose* impossible to tile a single section of the big texture without using some special technique or hack, so maybe have seperate textures for the ones that are for tiling and keep all the single-use textures together *sneeze* in one big image.
*Takes some Panadol (c)*
The reason why this is so important is that switching textures is one of the biggest state changes you can do in graphics hardware, and also because every different section of the mesh that has a seperate material requires an additional draw call.
Cheers
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net