Один момент - с введением в систему шейдеров бинарного кэширования появились некоторые сложности. Система способно отследить модификацию, непосредственно шейдера, однако хидеры она не видит. Наверное с этим надо что-нибудь сделать, но пока что я тебя предостерегаю - либо на время экспериментов отключи в opengl.cfg gl_binaryshader либо убедись что кэш точно обновился.
Дядя Миша значит либо кэширование не работает, либо видит хидеры. Потому что редактирование texfetch.h сразу даёт результат.
А есть команда пересборки всех шейдеров? Чтобы редактировать их, не перезапуская каждый раз игру.
Добавлено 20-06-2019 в 17:02:
Цитата:
Дядя Миша писал: Параболическую проекцию нормалки делает только мой maketex. Поэтому sqrt и не нужен.
Не думаешь, что от этих параболических проекций теряется точность? Они же к 8битной нормалмапе применяются, не к 16битной.
ncuxonaT писал: значит либо кэширование не работает, либо видит хидеры
Или ты не скачал update_2. Или редактировал сами glsl и забыл об этом.
Цитата:
ncuxonaT писал: А есть команда пересборки всех шейдеров?
Нету. Но я уже ввёл отслеживание хидеров.
Цитата:
ncuxonaT писал: Не думаешь, что от этих параболических проекций теряется точность?
Наоборот. От параболической получился наилучший результат в сравнении с остальными.
Добавлено 20-06-2019 в 17:37:
Кстати я не уверен, но старой атишке может быть худо из-за гигантского размера лайтмапы 4096х4096. Я его увеличивал в рамках тестирования лайтмап на моделях.
Дядя Миша я даже хз. Если нет исходников в 16 бит, то параболоид только хуже делает при пережатии. Вот сделал тест.
Изображена разница между результатом и исходной флоат нормалью.
Исходник - rgb 8 бит на канал.
Слева - восстановление z по xy. Справа - параболоид, записанный обратно в rgb 8 бит на канал.