При запуске q2 (движок Yamagi), первые пару рядов ссыпались вниз, большинство просто не отрисовывается (но физически есть, их можно поднять): https://i.imgur.com/CzrDoSZ.png
Причем этот рисунок из трёх столбцов одинаковый при каждой загрузке карты. Первые 2 ряда ссыпаются друг на друга у меня на глазах, остальные остаются висеть.
Хочу найти ответы на следующие вопросы:
- почему даже модифиц движок не отрисовывает бОльшую часть энтить? Можно ли это как-то решить без модификации движка?
- почему одни жилеты висят в воздухе, а другие падают?
Это все не из праздности, а потому что я уперся в реальную проблему при построении большой карты - новые энтити на ней попросту невидимые. Они появляются лишь если я удалю что-то из размещенного ранее.
Понятно, что надо разбивать на маленькие карты, но хочется углубить понимание этого ограничения.
Дикс писал: почему даже модифиц движок не отрисовывает бОльшую часть энтить?
там PVS-лист циркуляр-буффер на 64 одновременно видимых объекта. И апдейт-бэкап на 16. Итого в сумме 1024 энтити в визбл листе, но тут уж как повизёт. Обычно меньше. А то что он не отрисовывает, ну так абсолютно все, т.н. "модификации" затрагивают только рендерер - тени там добавить или бамп. В сетевой код никто не лезет, никто в нем не соображает.
До смешного доходит, у ОверДоза сетевой код это копипаста с ку2.
А в оригинале ку2 очень детские лимиты, они даже меньше чем в халфе, я постоянно в это упирался, то msg overflow, то вот это. И во всех старых движках припасено вот таких вот проблем, которые никто решать не собирается.
Цитата:
Дикс писал: почему одни жилеты висят в воздухе, а другие падают?
DropToFloor так устроен, может пропускать энтити. Он же писался для мировой геометрии, а не DropToAnotherItem. И даже не для DropCowToRiver.
Как я и думал, виноват "qvis3 -fast" - с ним все энтити на карте видимые одновременно.
Без -fast компилилось часов 8, но зато на карте всё находится где надо, ][вала Алла][у!
Цитата:
Итого в сумме 1024 энтити в визбл листе
У меня их 218 (судя по кол-ву classname в .map-файле)
Откуда цифра 1024? Почему не 80 (64+16)? Это как раз все объясняет.
На карте с жилетами одновременно видно 60 штук (но может как раз 64 или 80, они там один-в-одном лежат)
Цитата:
так абсолютно все, т.н. "модификации" затрагивают только рендерер - тени там добавить или бамп
Вот кокрастоке не все. За что я люблю Ямаги - он ничего своего вообще не добавляет, только исправляет ошибки оригинального движка (over 1500).
Ну, ещё заменили OpenGL 1.4 -> 3.2, добавили widescreen, заменили звуковую систему и переписали систему сейвов.
В ку2 виз конечно самый неспешный, но зачем он нужен на карте-коробке?
Добавлено 23-11-2019 в 10:58:
Сомнительно что они там исправили. Первой же фичей идёт переписанный рендерер. А сейв-рестор в ку2 имеет милую особенность отвергать родные сейвы, если пересобрать бинарники, что твой сталкер. Вот это они и исправляли. Навряд ли там сделано что-то еще.
Поглядел я сорцы этого Ямаги. Нихрена они там не сделали. Ну рендер переписали да, почти все форки именно этим и заняты. А лимиты никто не трогал, сеть никто не трогал и всё остальное тоже из оригинала.
Да и модерновый рендерер, ну что с него толку, если обновляемые лайтстили по прежнему подгружаются 10 раз в секунду через glTexImage.
То есть на интерполяцию лайтстилей там забили, ума расположить эти стили на одной странице атласа тоже нехватило. Ну вот и смысл говорить про модерн-рендерер, если его возможностями не воспользовались?
Ну вот что это за порнография опять
C++ Source Code:
1
uniform sampler2D lightmap0;
2
uniform sampler2D lightmap1;
3
uniform sampler2D lightmap2;
4
uniform sampler2D lightmap3;
Ниочём.
Добавлено 23-11-2019 в 16:50:
Исправленный сейв-рестор, к слову реализован максимально похабным образом, он базируется на каких-то древних идеях, как это говно по быстрому исправить, т.е. предполагается, что никаких новых энтить и функций в игру добавлено больше не будет. А так - те же самые километровые таблички, в которых чёрт ногу сломит. Ну для автора форка нормально, а то выкатил свежий апдейт и опять все сейвы поломались. Это конечно трагедия