Добрый день. Хочу попробовать реализовать interior mapping в сталкере, вроде бы ничего такого, что может воспрепятсвовать этому пока не видно. Я не силен в шейдерах, тем более в их сталкерских нюансах, поэтому столкнулся с первой же проблемой - как назначить шейдер на поверхность. Это делается через actor editor, но выборка шейдеров берется с shaders.xr. Я добавил шейдер в shader editor, но как его запрограмировать? Я так понял что в shader editor у шейдеров ограниченый менюшкой редактора функционал. Я так понял, что шейдера с gamedata/shaders как то применяются к статическим объектам, для той же воды например, но как это сделать - я так и не понял. Я подумал что нужно 1 в 1 название шейдера, которое в actor editor назначено, создал в shaders/r4/ .s, .vs, .ps файлы, прописал в shader:begin названия этих файлов, в .ps в методе main возвращаю красный return float4(1,0,0,1); чтобы понятно было, что моя писанина работает, но похоже это не так. Я распаковал level файл Припяти в ЗП, нашел секцию что отвечает за окно, поменял на свой шейдер, собрал файл обратно, положил в геймдату. Порешал немного вылетов, из-за ошибок в шейдере при загрузке локации. В игре на месте окон прозрачность, тоесть шейдер не работает:
И похоже дейтвительно я что-то сделал не так, так как если удалить файл шейдера с папки shaders, да и с файла shaders.xr - никаких вылетов не будет, и похоже игра просто игнорирует что я там понаписывал и красит пиксели в прозрачный цвет.
По сути меня интересует следующее: как связать шейдер с папки shaders c статическим объектом в игре, возможно я не прописал нужные команды в .s файле или того подобное. Либо иначим способом заставить движок красить нужные поверхности используя нужные мне шейдера. Или есть нюансы, например в .ps файлах метод входа называется main_ps_1_1, и другое название оно будет игнорировать?