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

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