KorteZZ писал: Без них эта твоя ошибка так и была бы необнаруженной и неисправленной вовсе
Ошибки тут нет.
Добавлено 20-07-2021 в 21:32:
Цитата:
SNMetamorph писал: Но экономия в каком месте? При компиляции?
ну да. Это ремап вертексов для более оптимального распределения нагрузки на ядра. Обычный подобный код вертекслайтинга делит работу между ядрами по моделям. Скажем в Волатиле оно так устроено. Вертексы одной модели всегда считаются одним ядром. Это хорошо работает когда на уровне много небольших одинаковых моделей. Но в случае если у нас будет одна-две гигантские модели (например тот же ЧАЭС), получится, что загружено одно-два ядра. А остальные простаивают. Вот этот ремап создаёт линейный массив доступа ко всем вертексам всех моделей. И каждое ядро получает в каждый момент времени только один вертекс, равномерно распределяя нагрузку для любых ситуаций. Собственно, я этот механизм и ввёл как раз после того как начал с ЧАЭС экспериментировать.
Нумерация моделей там локальная, затрагивает только энтити, которым назначен вертекс-лайт. Соответственно в большинстве случаев этого за глаза хватало. Моя ошибка заключалась лишь в том, что я забыл прописать unsigned в начале.
Добавлено 20-07-2021 в 21:35:
Цитата:
SNMetamorph писал: Или можно, к примеру, растянуть её на 6 байт?
Идея в том, чтобы эффективно использовать пространство одной переменной типовой размерности.
Если это правило нарушается, то вся затея теряет смысл. Плюс выравнивание по умолчанию 4 байта.
Можно на modelnum использовать short, а на vertexnum - int.
Ну да, нет никакой ошибки, когда игра может поддерживать гигантскую карту 65Кх65К, но с лимитом моделей всего в 512 штук, чтобы ими всю эту карту насытить. Нет, не ошибка. Можно же карту сделать в пустыне Сахара. Там же очень интересный дизайн. И монстров нет)
В чём проблема вынести этот лимит в отдельный ключ? Сейчас не 2004 год, и думаю ни укого с памятью нет больших проблем.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Aynekko писал: Это работает только в параное? Прописал статикам zhlt_modellightmap 1, в ксашмоде ничего.
Да, только в параное. Да это калечные лайтмапы на моделях, самые первые эксперименты. Их лучше не юзать.
У меня там в итоге получился такой же зоопарк как в UE4 или Сорсе.
Куча сущностей, брашы отдельно освещаются, модели отдельно, коллизия у них тоже разная.
Вот такую интересность обнаружил, см. аттач. Справа как должно быть. А слева свечение.
Дело в том, что я в качестве коллизии использую браши и в данном случае коллизия задается func_wall с текстурой steel (для нужных звуков от пуль и шагов), рендермод texture и amount 0. И как оказалось, при рассчете освещения от этого невидимого браша все равно делаются отскоки.
Результата справа я добился, прописав zhlt_invisible, но и тут незадача - пропали металлические свойства - то есть текстура превратилась в null.
Вот и как бы сделать, чтобы и свойства остались, но при этом браш не участвовал в освещении?
Zhlt_lightflags смотрел и похоже там нет того, что нужно.
Дядя Миша писал: У повертексного освещения вторичка не совсем честная, она пытается с брашей собрать. Ну и вот.
Освещение модели тут совсем не причем. Вот смотри скрин. Здесь абсолютно невидимый func_wall, который раскидал от себя свечение. Модель я просто удалил, так что она не виновата.
Aynekko писал: Дело в том, что я в качестве коллизии использую браши и в данном случае коллизия задается func_wall с текстурой steel (для нужных звуков от пуль и шагов), рендермод texture и amount 0.
Да можно было просто при старте игры координаты колайдера менять. Как вагончик в халфлайфе например находился в отдельной комнате за картой.
Но вообще конечно по уму надо у самих моделей генерить колайдер, а не вот этот брашевой маразм.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!