Показать сообщение отдельно
Старый 23.02.2016, 20:31   #378
NB79
Местный
 
Регистрация: 12.07.2015
Сообщений: 417
По умолчанию

Всех с праздником!

По этому поводу - релиз!

Версия 1.01 (билд 303)

Полностью переписал отрисовку моделек. В отрисовке полностью избавился от FPP. В результате имеем:

1) Должно рисоваться быстрее
2) Отображение теней, коллизий и нормалей меньше влияет на общую производительность. Владельцам небыстрых компов должно быть по легче.
3) Рисуется два текстурных слоя там, где это присутствует в моделях (всякие повреждения и дырки теперь выглядят нормально).
4) В кокпитах камера теперь выставляется на углы заданные хуком. Ctrl+F устанавливает взгляд в перёд, в направлении и под углом заданным соответствующим хуком камеры. Головой, естественно, можно крутить. В бомбовых прицелах камера крутится не по Y, а как при обычном взгляде. Это не правильно, но в игре нет явного атрибута, указывающего, что камера принадлежит бомбовому прицелу. Это задаётся в классе кокпита. Так-что, по другому универсально ни как.
5) В режиме сетки сделал более явное выделение выбранных в дереве мешей, подсвечиваю их синеньким цветом. Так, вроде, более наглядно и очевидно.
6) Для хуков и нормалей добавил возможность менять из размер/длину. Изменение размера отображается динамически (если включен показ хуков/нормалей, то при изменении размера это сразу видно).
7) Может что-то ещё забыл...

Хоть это всё и заняло у меня кучу времени, но теперь код отрисовки и шейдеры привёл к определённому порядку, избавившись от кучи следов эксперементов и огрызков левого кода (напомню, что программа эта - мой материал по изучению программирования 3Д ). Производительность можно ещё заметно увеличить, для этого есть хороший ресурс, но это уже потом. Главное - в результате всех переделок структуры кода теперь могу приступать к нормальному редактированию моделек, сдвигам/перемещениям мешей и хуков. Чем, по тихоньку, теперь и займусь.

Известный баг/фича: У некоторых моделей при отрисовке оверлеев может возникать z-fighting. По крайней мере у меня это происходит с Ил4 и некоторыми Жужами (Ю-88). Проблема связана с тем, что в моделях при повреждении иногда дырка может проходить через оверлей. Для того, чтоб в такой ситуации дырявился и оверлей нужно, что-бы соответствующим образом производилось сравнение глубины фрагментов основной модели и оверлея в месте отверстия, что-бы в оверлее отбрасывались фрагменты накрывающие отверстее. Высталение сооответствующего состояния для конвейера приводит к тому, что иногда, из-за конечной точности z-буффера, этот гадкий файтинг и вылезает. Видимо работу с глубиной тоже надо полностью перетаскивать в шейдер. В целом, у меня это случается не часто, заметил только на паре моделек, так-что это не должно особо раздражать и я не спеша с этим что-нибудь придумаю позжее.

Вроде особо ничего не забыл. Телеграфируйте о багах.

Ещё раз - всех с Праздиком!
Вложения
Тип файла: rar mesh_dump32.rar (1.15 Мб, 332 просмотров)
Тип файла: rar mesh_dump64.rar (1.37 Мб, 398 просмотров)
NB79 вне форума   Ответить с цитированием