Moja scena OpenGL ma obiekty, które są absurdalnie oddalone od źródła. Kiedy oglądam te obiekty i obracam / obracam / powiększamy kamerę wokół nich, „drgają”. Oznacza to, że wierzchołki składające się z obiektów wydają się owijać wokół wyobrażonej trójwymiarowej siatki punktów. Przeczytałem, że jest to powszechny problem z powodu ilości informacji, które można przechowywać za pomocą precyzji zmiennoprzecinkowej (której używa OpenGL i prawie wszystko inne). Nie rozumiem jednak, dlaczego tak się dzieje.
Szukając rozwiązania, natknąłem się na bardzo prostą poprawkę „swobodnego pochodzenia” i wydaje się, że działa. Po prostu przekształcam wszystko, aby moje obiekty znajdowały się w tych samych względnych pozycjach, ale wszystko, na co patrzy mój aparat, jest blisko początku. Znalazłem wyjaśnienie tutaj: http://floatingorigin.com/ , ale nie mogłem go zastosować.
Więc ... Czy ktoś mógłby wyjaśnić, dlaczego umieszczenie mojej sceny bardzo daleko (powiedzmy 10 milionów jednostek) od źródła powoduje nieprawidłowe zachowanie, które zaobserwowałem? A także dlaczego zbliżenie go do źródła rozwiązuje problem?