Ci sono un paio di aspetti di questo problema. Innanzitutto, come stai disegnando i tuoi 10000 blocchi? Li stai effettivamente disegnando come 10000 oggetti separati? Se è così, questo è quasi sicuramente il collo della bottiglia, non la mancanza di abbattimento dell'occlusione. Dovresti raggruppare questi blocchi in un numero minore di mesh (forse qualche migliaio per mesh) al fine di ridurre le chiamate di disegno.
Per quanto riguarda la tua vera domanda, ci sono tre tipi di abbattimento dell'occlusione che mi vengono in mente.
1) Blocchi all'esterno del frustum della vista. Ciò significa blocchi che sono dietro di te o due sul lato. Ogre li rimuove già attraverso l'abbattimento della frustum vista.
2) Blocchi che sono "sotterranei" o completamente circondati da altri blocchi in modo che non possano mai essere visti da nessuna angolazione. Puoi identificarli osservando i blocchi adiacenti. Se sono tutti solidi, il blocco è nascosto. La GPU non dovrebbe mai nemmeno sapere di questi blocchi: dovrebbero essere saltati quando si crea la mesh che rappresenta la superficie.
3) Blocchi che sono in superficie e possono essere visti da alcune posizioni nel livello, ma che sono attualmente nascosti da una collina (o qualcosa del genere). Questo è il caso più difficile che non ho affrontato da solo, ma c'è una buona probabilità che le query sull'occlusione hardware possano essere utilizzate per questo caso.
È una spina spudorata, ma ho una libreria abbastanza matura che molte persone usano per sviluppare cloni di Minecraft, inclusi alcuni che usano Ogre. Definisci il contenuto del volume e genera la mesh di superficie che puoi quindi renderizzare. Ecco la home page:
http://www.thermite3d.org/
Ed ecco un video del progetto di qualcun altro che lo sta usando:
http://www.youtube.com/watch?v=Jju6WRPEK7o