Дядя Миша писал: кстати говоря, я в этом условии помоему ничего не менял
Я сравнил. Там всё 1 в 1 с кодом Солокиллера. Но трейсятся сегменты по-разному, видимо из-за того, что в оригинальном коде каждый кадр какая-то жуткая чехарда из std::swap( ppSampleSource, ppSampleTarget ). Подозрения на трейс у меня возникли сразу же, как только я попробовал вместо мирового браша использовать func_illusionary. Вот, теперь докопался до места, где возникает проблема. Возможно, она сидит глубже, а возможно, что записки сумасшедшего можно выкинуть из кода. Я разницы не заметил, кроме той, что баг пропал.
FreeSlave писал: Ты уж определись, какой вариант какому ближе.
Побегал с разными реализациями, внимательно сравнил. Вариант Солокиллера, оригинальный опфор и репозиторий FWGS - более летательные варианты. Даже короткую верёвку на ofboot3 можно умудриться намотать на браш, взлетев выше её ориджина. Вариант из ксашмода - более реалистичный: выше ориджина тяжело взлететь даже на очень длинной верёвке. Мне, естественно, второй нравится больше. Только с ним не сделаешь раскачку в некоторых местах, когда точка, куда нужно спрыгнуть, находится ниже ориджина верёвки всего на 5-8 сегментов. Как раз такие первые два препятствия с верёвками на ofboot3.
Yo Den пиши несколько одинаковых букв подряд. Чем больше букв - тем дольше будет держаться заданная ими яркость. Добавь новый лайтстиль и всего делов. Правда, я не знаю, какое там ограничение на количество символов.
Yo Den писал: Есть ли возможность смены скорости переключения мерцания у light_spot?
свет анимируется со скоростью 10 FPS. Это еще из кваки пошло, но в кваке абсолютно всё анимировалось с такой скоростью. И итемы вращались 10 фпс и свет мерцал и монстры играли свои анимации и текстурки на брашах.
Нет, это нельзя поменять. Замедлить можно, ускорить нет.
Добавлено 26-03-2020 в 15:46:
Цитата:
Ku2zoff писал: Правда, я не знаю, какое там ограничение на количество символов.
Подскажите, как можно сделать тени от студиомоделей шадовмапами. Очень уж неохота тащить весь рендерер из тринити ради теней и спотлайтов с текстурой. Читал код тринити, как я понял, проекция модели рендерится в текстуру. Затем поверх мира, грубо говоря, рисуется текстура спотлайта, которая ярче исходной, а поверх неё уже тень. Пробовал избавиться от текстуры спотлайта - пропадает и сама тень. Хочется нечто вроде теней из hlfx 0.5b, когда видимого света нет, есть только тень. Статей по реализации немало, есть и готовый код в тринити и ксашмоде. Но не имея опыта, разобраться трудно. Напишите, пож, что нужно сделать пошагово и куда глядеть. Нужно ли рендерить мир кастомным способом, или же тень вполне наложится на то, что уже нарисованно движком.
Добавлено 03-04-2020 в 18:13:
В крайнем случае, можно тени и шадоввольюмами, но они по-моему тормознее и не заработают в стим-версии халфы от слова совсем. Если раньше можно было подсунуть хакнутую opengl32.dll и заставить работать стенсил-буффер, то теперь, во-первых, Вальва встроила в движок функцию, которая удаляет opengl32.dll из корня халфы при запуске. А во-вторых, если исхитриться, и не дать удалить, в консоли всё равно будет no stencilbits. Хоть на FBO, хоть на обычном рендерере. Так что первая Паранойя никак не работает корректно. Соответственно, бузеровские тени завести тоже не получится. Ну, и хак с плющмоделями тоже не работает. Или функцию вырезали из движка, и изменилось смещение в памяти, которое нужно было делать, чтобы хак заработал.
Дядя Миша писал: смотря от чего ты хочешь тени. От чего хочешь - то и надо рисовать.
Так-то можно и тени от брашей добавить. Но, по-моему, это лишнее. Вполне хватит варианта как на первых версиях сорса: одна тень от модели, которая всегда смотрит в одну сторону.
Мне бы примерчик конкретно для халфы, хотя бы приблизительно. Чтоб знать в каких местах кода какие операции проводить. Остальное можно в открытых сорцах найти.
Добавлено 03-04-2020 в 18:55:
Либо есть другой вариант: таки дёрнуть рендерер из тринити целиком, а потом выкинуть из него ненужное. Но там есть одна проблемка: никак не регулируются яркость и гамма. В паранойе есть отдельные квары для кастомного рендерера, а в тринити нет. Я пробовал завести, но получается фигня. Лайтмапы неправильно меняют яркость, появляются артефакты. Видимо, нужна не такая формула, как в паранойе.
Да вот довольно трудно разобраться. Слишком много всего нагорожено. Чего только стоят какие-то клиентские статик-энтити. Или что-то в этом роде. Чтобы их оттуда выковырять, уйдёт несколько дней. Плюс, именно эти энтити используются в тринити в качестве "небесных". Рендерятся в отдельном проходе сразу после неба только они и ничего больше. Зато, это избавляет от хака с буффером глубины, и не нужно тащить хакнутую opengl32.dll для неба, как в Паранойе.
Справедливости ради, стоит заметить, что разобраться всё-таки можно, если исследовать код поэтапно, а не тупо копипастить. Например, мне удалось немножко причесать код мониторов из старого ксашмода 0.39, и избавить его от линковки CvaLib. Но я шибко не тестировал, по-любому там есть косячки.