Scusa, avevo letto male il messaggio: ho letto male il codice e non ho letto la seconda parte

Allora, se disabiliti il depth buffer, la pallina viene disegnata sopra la stanza, ma circa metà dei poligoni che compongono la parte posteriore della pallina potrebbero essere disegnati davanti a quelli che compongono la parte anteriore; ecco spiegato lo strano effetto grafico.
Il fatto è che la scena che vorresti disegnare è incoerente: dovresti disegnare davanti una cosa che in realtà sta dietro! Secondo me quello che devi fare è lasciar perdere il depth buffer e lavorare sulle matrici: al momento del disegno della pallina la matrice (modelview o projection, vedi un po' tu

) deve fare in modo che il solido disegnato stia davanti a tutto, ma le dimensioni devono essere appropriate affinché la pallina appaia piccola e sembri lontana... spero di essermi spiegato bene
Ri-ciao