[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум Panda3D - по русски » Panda3D » Общие вопросы » Рендер (Координаты начала, и их смещение.)
Рендер
serg-kkzДата: Воскресенье, 06.11.2016, 00:21 | Сообщение # 1
Генерал-лейтенант
Группа: Модераторы
Сообщений: 679
Награды: 3
Репутация: 16
Статус: Offline
Есть вот такое такое расстояние 1 000 000 000 000 000 000 км - 1 квинтиллион.
Если отлететь от мирового центра на это расстояние, камерой которая располагаться в шаре диаметром 1 391 400 км - солнце, и включить режим каркас. То мы увидим шар, однако при движение все начнет мерцать, и в итоге пропадет. Эта проблема связанна с точностью float, которое используется при расчетах рендера.

Однако, в интерфейсе OpenGL для камеры есть параметр, относительного каких координат отрисовывать сцену. Так вот как в панде можно сместить этот центр координат?


ООП  -  
 
ninthДата: Понедельник, 07.11.2016, 08:32 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 1554
Награды: 5
Репутация: 46
Статус: Offline
Как это делается в OpenGL? Точнее как этот параметр называется? Я просто никогда не сталкивался с данной задачей, а вообще как по мне эта идея не очень, в смысле использовать столь большие цифры.
 
serg-kkzДата: Понедельник, 07.11.2016, 13:48 | Сообщение # 3
Генерал-лейтенант
Группа: Модераторы
Сообщений: 679
Награды: 3
Репутация: 16
Статус: Offline
Это при масштабе 1ед - 1км еще ). Идея эта используется в Space engine, там есть трабл для координат самой камеры, но он обходиться с помочь чисел с фиксированной точкой с точностью 128 бит. Про OpenGL, есть статьи как эта, да и автор Space engine ссылается на такой метод отрисовки мира.

Я так понял нужно с матрицой модели химичить.


ООП  -  

Сообщение отредактировал serg-kkz - Понедельник, 07.11.2016, 14:15
 
serg-kkzДата: Вторник, 08.11.2016, 01:46 | Сообщение # 4
Генерал-лейтенант
Группа: Модераторы
Сообщений: 679
Награды: 3
Репутация: 16
Статус: Offline
Вот здесь проясняться как это достигается, интересно как в панде можно так манипулировать матрицами.

ООП  -  

Сообщение отредактировал serg-kkz - Вторник, 08.11.2016, 02:53
 
ninthДата: Вторник, 08.11.2016, 08:20 | Сообщение # 5
Admin
Группа: Администраторы
Сообщений: 1554
Награды: 5
Репутация: 46
Статус: Offline
В данном случае скорее всего надо писать собственный класс специальной линзы для камеры, а возможно и сам класс камеры расширять. На сях, т.к. реалтайм операции с матрицами на питоне будут медленными.
 
serg-kkzДата: Вторник, 08.11.2016, 17:14 | Сообщение # 6
Генерал-лейтенант
Группа: Модераторы
Сообщений: 679
Награды: 3
Репутация: 16
Статус: Offline
Хм, заглянул в эти классы. И не нашел ни чего что походило бы на учебники по OpenGL. Видимо из за поддержки других графических API, есть ещё прослойки кода принадлежащие панде. И таких слоев наверно куча, и надо в каждом разбираться. Вот был бы голый OpenGL в этих фалах, можно было бы что то сообразить.

ООП  -  
 
ninthДата: Вторник, 08.11.2016, 22:55 | Сообщение # 7
Admin
Группа: Администраторы
Сообщений: 1554
Награды: 5
Репутация: 46
Статус: Offline
Насколько могу судить, непосредственно к графическому АПИ привязки нет, вся "магия" в матрицах трансформации.
 
serg-kkzДата: Вторник, 08.11.2016, 23:26 | Сообщение # 8
Генерал-лейтенант
Группа: Модераторы
Сообщений: 679
Награды: 3
Репутация: 16
Статус: Offline
Я про другое, дело что панда очень любит странные имена в своих классах, вспомнить даже векторы, сразу и не поймешь. Вот и здесь нужно голову ломать. Я тут ломал голову как в панде можно заюзать VBO, оказывается это и есть GeomVertexArray. Вот и пойми.

ООП  -  
 
Форум Panda3D - по русски » Panda3D » Общие вопросы » Рендер (Координаты начала, и их смещение.)
Страница 1 из 11
Поиск: