La mia scena OpenGL ha oggetti che sono posizionati a distanze ridicolmente lontane dall'origine. Quando visualizzo questi oggetti e eseguo una panoramica / rotazione / zoom di una telecamera attorno ad essi, essi "oscillano". Cioè, i vertici che comprendono gli oggetti sembrano agganciarsi attorno ad una griglia di punti immaginaria 3d. Ho letto che questo è un problema comune a causa della quantità di informazioni che possono essere archiviate usando la precisione in virgola mobile (che OpenGL e praticamente tutto il resto utilizza). Non capisco perché questo accada però.
Durante la ricerca di una soluzione, mi sono imbattuto nella semplice soluzione di "origine mobile" e sembra funzionare. Trasformo tutto in modo che i miei oggetti siano nelle stesse posizioni relative ma qualunque cosa la mia macchina fotografica stia guardando è vicina all'origine. Ho trovato una spiegazione qui: http://floatingorigin.com/ , ma non sono riuscita a seguirla.
Quindi ... Qualcuno potrebbe spiegare perché posizionare la mia scena molto lontano (diciamo 10 milioni di unità) dall'origine provoca il comportamento irregolare che ho osservato? E anche perché spostarlo vicino all'origine risolve il problema?