English Новый сайт

Расширенный поиск

[ Новые сообщения · Пользователи · Правила ]
Страница 10 из 10«128910
Форум » SpaceEngine » Состояние разработки » SpaceEngine изнутри (обуждение особенностей движка)
SpaceEngine изнутри
equeimДата: Суббота, 30.07.2016, 22:43 | Сообщение # 136
Космический пилот
Группа: Пользователи
Российская Федерация
Сообщений: 94
Награды: 1
Статус: Offline
Цитата SpaceEngineer ()
На OpenGL - целиком и полностью. А как иначе?

Я имею ввиду, есть ли слои абстракции, позволяющие безболезненно добавить поддержку других API без переписывания существующего кода?
SpaceEngineerДата: Воскресенье, 31.07.2016, 00:33 | Сообщение # 137
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5542
Награды: 54
Статус: Offline
Цитата equeim ()
Я имею ввиду, есть ли слои абстракции, позволяющие безболезненно добавить поддержку других API без переписывания существующего кода?

Нету. А полностью абстрагироваться и не получится, некоторые фишки по-разному делаются на разных апи.


serg-kkzДата: Четверг, 03.11.2016, 14:59 | Сообщение # 138
Нет аватара
Наблюдатель
Группа: Новички
Российская Федерация
Сообщений: 3
Награды: 0
Статус: Offline
Здравствуте, ваш труд настолько велик, что даже в голове памяти не хватает, чтоб осознать масштаб вашего проекта. Я собственно пытаюсь программировать на питоне в движке Panda3D. Решил проверить ваш метод по увеличению точности в другом движке. Конечно буду использовать C++, для экспериментов. Собственно возник вопрос, вы класс для работы с fixed-point 64x64 сами писали или взяли готовый?

Сообщение отредактировал serg-kkz - Пятница, 04.11.2016, 03:33
SpaceEngineerДата: Четверг, 03.11.2016, 15:39 | Сообщение # 139
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5542
Награды: 54
Статус: Offline
Сам писал, там ничего сложного, в сети полно примеров.

serg-kkzДата: Суббота, 05.11.2016, 22:40 | Сообщение # 140
Нет аватара
Наблюдатель
Группа: Новички
Российская Федерация
Сообщений: 3
Награды: 0
Статус: Offline
Интересно, если вы добились такой точности в 1.6 мм в любом уголке вселенной. То вам бы следовало застолбить эту технологию в плане как автор. Чтоб это звучало по миру как метод Романюка, по аналогии с другими методами разработанных кем либо.
SpaceEngineerДата: Вторник, 08.11.2016, 23:56 | Сообщение # 141
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5542
Награды: 54
Статус: Offline
serg-kkz, в этом нет никакой магии. Просто числа. 64.64 fixed point это расстояния от -2^63 до +2^63, с точностью 2^-64. В SE единица расстояния 1 парсек, следовательно, максимальные расстояния будут +/-2^63 пк = +/-9.22e+18 пк, а точность 2^-64 пк = 2^-64 * 3.0856e16 м = 0.00167 м = 1.67 мм.
Можно извратиться и сделать 128.128 числа (всего-то 32 байта на одно число), какой у них будет диапазон и какая точность - можете сами посчитать.


serg-kkzДата: Среда, 09.11.2016, 14:09 | Сообщение # 142
Нет аватара
Наблюдатель
Группа: Новички
Российская Федерация
Сообщений: 3
Награды: 0
Статус: Offline
Я не про фиксированную точку, я в целом о проекте. Так как все ровно проц требует float, вы по сути изобрели алгоритм с наименьшими потерями для построения целой вселенной. У вас рендер относительный, замечу что это даже в других движках не реализовано. Принцип UVN камеры описывается в учебниках по 3D графики, но зачастую в проектах её не используют. А вместо этого на плавающей запятой изобретают костыли, масштабирование, зоны, камера всегда в позиции 0 0 0.

Ведь у вас я увидел впервые принцип, расчеты с фиксированной точкой, для минимизации потерь в числах и относительный рендер.

Форум » SpaceEngine » Состояние разработки » SpaceEngine изнутри (обуждение особенностей движка)
Страница 10 из 10«128910
Поиск:

>