С плавающей точкой всегда было трудно из-за точности в больших мирах.
Эта статья объясняет закулисные и предлагает очевидную альтернативу - числа с фиксированной запятой. Некоторые факты действительно впечатляют, например:
«Точность 64 бита дает вам расстояние до Плутона от Солнца (7,4 млрд. Км) с точностью до субмикрометра».
Точность субмикрометра больше, чем нужно для fps (для позиций и даже скоростей), и это позволит вам создавать действительно большие миры.
Мой вопрос: почему мы все еще используем плавающую точку, если у фиксированной точки есть такие преимущества? Большинство API рендеринга и физические библиотеки используют с плавающей запятой (и страдают от его недостатков, поэтому разработчики должны обойти их).
Они намного медленнее?
Кроме того, как вы думаете, масштабируемые планетарные двигатели, такие как externalra или infinity, справляются с большими масштабами? Используют ли они фиксированную точку для позиций или у них есть некоторый алгоритм разделения пространства?