Aynekko писал: а вот обычный env_dynlight так и не освещает эту модель.
Динлайт точно так же починился заменой L с LightDir на Normal. Я хз как это работает. Может изначально что-то было перепутано. Сейчас все нормально освещается за исключением слишком маленьких или слишком больших моделей. И с этими странными моделями проблем тоже не стало.
P.S. и не надо фейспалмить. Сам не доделал, вот и приходится чинить по мере своих сил. Я больше маппер, нежели кодер. Меня вся это возня за пределами моего мода не особо интересует. Просто у себя хочется сделать хорошо. Люди играли и репортили, что модели не освещаются как надо. Значит надо фиксить.
Aynekko писал: Теперь пытаюсь разобраться со скейлом моделей (их освещения фонариком)
Продолжаю банкет. Думаю, пока его не починю, не смогу успокоиться. Но пока увы.
Так вот. Вчера я перенес из паранои успешно тени от точечных источников. И выяснилось вот что. Когда у моделей скейл отличный от 1, проекция теней на них съедет (причем от обычного прожектора все норм).
Но самое интересное - не учитывается поворот модели (angles). Если модель повернута на 45 градусов, то тень от игрока не ней отбросится, только если игрок продвинется на 45 градусов дальше по радиусу источника.
Сколько в параною не смотрю, так и не врублюсь чего же не хватает. Rotationmatrix вроде правильно строится. Самое главное отличие, что все эти lightdir, modelorg пишутся через vectoritranform, а не напрямую. Зачем - не понимаю. Переписать как в параное, тогда все вообще ломается.
Я там выше сказал - есть две проблемы. Первая в том, что m_plightmatrix нужно проинициализировать с инверсным скейлом, а вторая, что преобразования в локальное пространство (т.е. такие где используется буква I - VectorITransform, VectorIRotate выполнить при помощи m_plightmatrix).
Разумеется, я предполагал, что у тебя шейдеры оригинальные.
И тут я вижу, что у тебя что?
А, это я вчера баловался глядя на параною. Психопат не причем. Потом понял, что там просто "подмена понятий", а по факту перестановки не было. Просто запись была по-другому.
Сейчас вернул шейдер обратно, перепроверил. Единственное изменение на данный момент в этом шейдере: