Minha cena do OpenGL possui objetos que são posicionados a distâncias ridiculamente distantes da origem. Quando visualizo esses objetos e giro / giro / zoom uma câmera ao redor deles, eles 'tremem'. Ou seja, os vértices que compõem os objetos parecem se encaixar em uma grade 3d imaginária de pontos. Eu li que esse é um problema comum devido à quantidade de informações que podem ser armazenadas usando a precisão do ponto flutuante (que o OpenGL e praticamente todo o resto usa). Eu não entendo por que isso acontece embora.
Ao procurar uma solução, deparei-me com a correção muito simples de 'origem flutuante', e ela parece funcionar. Eu apenas transformo tudo para que meus objetos estejam nas mesmas posições relativas, mas o que quer que minha câmera esteja perto da origem. Encontrei uma explicação aqui: http://floatingorigin.com/ , mas não consegui segui-la.
Então ... Alguém poderia explicar por que posicionar minha cena muito longe (digamos, 10 milhões de unidades) da origem resulta no comportamento errático que observei? E também por que movê-lo para perto da origem resolve o problema?