Il y a deux aspects à ce problème. Premièrement, comment dessinez-vous vos 10000 blocs? Les dessinez-vous réellement comme 10000 objets séparés? Si c'est le cas, il s'agit presque certainement de votre goulot d'étranglement, pas du manque d'abattage par occlusion. Vous devez regrouper ces blocs en un plus petit nombre de mailles (peut-être quelques milliers par maillage) afin de réduire les appels de tirage.
Quant à votre question réelle, il existe trois types d'abattage d'occlusion qui vous viennent à l'esprit.
1) Blocs en dehors du tronc de vue. Cela signifie des blocs qui sont derrière vous ou deux sur le côté. Ogre les supprime déjà via la suppression des vues tronconiques.
2) Des blocs qui sont «souterrains» ou complètement entourés par d'autres blocs de sorte qu'ils ne peuvent jamais être vus sous aucun angle. Vous pouvez les identifier en regardant les blocs voisins de taille. S'ils sont tous solides, votre bloc est caché. Le GPU ne devrait même jamais entendre parler de ces blocs - ils doivent être ignorés lorsque vous construisez le maillage qui représente votre surface.
3) Les blocs qui sont en surface et peuvent être vus de certaines positions dans le niveau, mais qui sont actuellement cachés par une colline (ou quelque chose). C'est le cas le plus délicat que je n'ai pas abordé moi-même, mais il y a de fortes chances que des requêtes d'occlusion matérielle puissent être utilisées pour ce cas.
C'est un plug sans vergogne, mais j'ai une bibliothèque assez mature que plusieurs personnes utilisent pour développer des clones Minecraft, dont certains utilisant Ogre. Vous définissez le contenu du volume et il génère le maillage de surface que vous pouvez ensuite rendre. Voici la page d'accueil:
http://www.thermite3d.org/
Et voici une vidéo du projet de quelqu'un d'autre qui l'utilise:
http://www.youtube.com/watch?v=Jju6WRPEK7o