Imagine a 3d game like dungeon keeper 2, where levels are made of 3d tiles, mostly "floor" or "walls", in a constant size.
I'm looking for ways to optimize this thing because even with smart culling performance are not good enough on laptops. I tried both octree culling and bounding boxes based culling (+bb while dividing the map into batches) and while it improves performance noticably it's still not enough
I'm also caching world matrix of tiles (calculate them once per tile) so that's not an issue.
I realize I can't be as fast as Dungeon Keeper 2 because:
1. My textures are larger.
2. My resolution is larger.
3. In DK2 they probably build a static mesh from vertex buffers (their tiles have pretty basic shapes with an element of randomness in them) but in my case I have to use models (tiles have complicated shapes).
Do you know any ways or have ideas how to optimize this? Also, I prefer not to use geometry shader at this time.
Edit: also forgot to mention using LOD optimizations won't help because for the sake of testing I used a very basic model for tiles and it's still not fast enough on laptops.
Pic related: screen from DK2