Моя сцена OpenGL содержит объекты, которые расположены на смехотворно большом расстоянии от источника. Когда я рассматриваю эти объекты и поворачиваю / поворачиваю / масштабирую камеру вокруг них, они «дрожат». То есть вершины, составляющие объекты, кажутся привязанными к воображаемой трехмерной сетке точек. Я читал, что это распространенная проблема из-за большого количества информации, которая может быть сохранена с использованием точности с плавающей запятой (которую использует OpenGL и почти все остальное). Я не понимаю, почему это происходит, хотя.
При поиске решения я наткнулся на очень простое исправление «плавающее начало», и оно, похоже, работает. Я просто трансформирую все, чтобы мои объекты находились в одинаковых относительных положениях, но то, на что смотрит моя камера, близко к началу координат. Я нашел объяснение здесь: http://floatingorigin.com/ , но я не мог следовать ему.
Итак ... Может ли кто-нибудь объяснить, почему расположение моей сцены очень далеко (скажем, 10 миллионов единиц) от источника приводит к неустойчивому поведению, которое я наблюдал? А также почему перемещение его ближе к источнику решает проблему?