*Shoker* 322 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 (изменено) @tatarinrafa, ну для начала как твоя игра должна догадаться что ей нужно запустить moy_shader.ps и при этом применить его ко всему экрану. Вызов новых шейдеров прописывается либо в движке, либо, для моделей, в СДК. (ну грубо говоря) Конкретно если ты хочешь окрасить весь экран в красный, то тебе нужно открыть шейдер постпроцесса экрана (combine_2_ххх,ps, их там два больших, не помню какой точно нужен, по моему combine_2_naa.ps), который движком вызывается, и там уже модифицировать код по своему желанию. Только учти что, по крайнем мере в ЗП, в этом файле много закоментированного (отключённого) кода ( /* ... */ ) Туда писать ничего не надо. Изменено 25 Декабря 2014 пользователем *Shoker* 1 Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Ссылка на комментарий
tatarinrafa 3 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 (изменено) Ооо... хоть кто-то, что-то расписал! спасибо Конкретно если ты хочешь окрасить весь экран в красный, Ну это так, чтобы хоть знать что мой шейдер прочитасля, а если в какой нибудь файл вставить #include "moy_shader.ps" проконает? Изменено 25 Декабря 2014 пользователем tatarinrafa 1 Ссылка на комментарий
Viнt@rь 50 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 (изменено) @tatarinrafa, игра то его скомпилирует(и то, если сможет), но функция, которая внутри не вызовется и никак не обработается... Изменено 25 Декабря 2014 пользователем Viнt@rь GUI для конвертера от бардака(всего и вся в форматы сдк) Полезный утиль-"Utilits pack(mod)" Ссылка на комментарий
tatarinrafa 3 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 @tatarinrafa, это надо HSLS подучить. Там в принципе не много надо и язык легко усвояем. Если я не заблуждаюсь, он создан на основе С#. А специальный тутор\мануал под сталкер это не то что бы религия запрещает, но такого не водиться Подучу в процессе, методом проб и ошибок Жалко что нет, я думаю - кому нибудь с форума стоило бы создать такой, или хотя бы простой шэйдер с коментами и кинуть это в шапку, а то для таких как я много трудов стоит хотябы понять что для сталка они на hlsl пишутся 1 Ссылка на комментарий
*Shoker* 322 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 (изменено) а если в какой нибудь файл вставить #include "moy_shader.ps" Как уже ответил @Viнt@rь, шейдер соберётся но код внутри него нужно вызвать вручную, посмотри на dof.h Изменено 25 Декабря 2014 пользователем *Shoker* Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Ссылка на комментарий
KD87 718 Опубликовано 25 Декабря 2014 Автор Поделиться Опубликовано 25 Декабря 2014 вроде весь экран должен был красным стать, а не вышло... Дык. В сталкере у все точки входа имеют имя main, а не произвольное. ПЛюс, если просто закинуть файл в геймдату, ничего не выйдет. Все шейдеры вызываются при отрисовке геометрии из движка, так что или рисуй из движка квад на весь экран, или вставляй свой код в один из поолноэкранных шейдеров. Обычно это combine_2_naa. А так правильно написал. И все же как бы его прикрутить на другие источники освещения? В самом вопросе кроется ответ. Рисуй дерт для каждой лампы. Рендеряй квад вокруг каждой лампы, направленный на камеру. Пересчитывай текстурные координаты квада в пространство экрана, семплируй дерт-текстуру и все. 1 Ссылка на комментарий
tatarinrafa 3 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 @*Shoker*, @KD87, Хорошо! спасибо за разъяснения Ссылка на комментарий
Viнt@rь 50 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 @KD87, Легко тебе говорить))) А мне бы для начала разобрать что это) и как его реализовать, и оно все в шейдере реализуется или же нужно и в движке какие манипуляции проводить?) GUI для конвертера от бардака(всего и вся в форматы сдк) Полезный утиль-"Utilits pack(mod)" Ссылка на комментарий
KD87 718 Опубликовано 25 Декабря 2014 Автор Поделиться Опубликовано 25 Декабря 2014 (изменено) оно все в шейдере реализуется или же нужно и в движке какие манипуляции проводить?) Ну раз я пишу "рисуй квад для каждой ламп", очевидно, что начинать надо с движка Есть же пример готовый - солнечные флары. Ровно то же самое - квады, повернутые на камеру. Берешь идею и делаешь это для ламп. Изменено 25 Декабря 2014 пользователем KD87 3 Ссылка на комментарий
tatarinrafa 3 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 3-й час сижу и все ни как. как мне и сказали в combine_2_aa.ps дописал #include moe_shader.h по примеру #include "mblur.h" вот содержание моего файла #include "common.h"float4 main() : COLOR0{return float4(1, 0, 0, 1);} При запуске выдает ошибку. пробовал так: #include "common.h"float4 main ( float4 C:COLOR0 ) : SV_Target{return float4(1,0,0,1);} запускается но не че не меняется как надо написать, чтобы каждый пиксель на экране стал красным Ссылка на комментарий
KD87 718 Опубликовано 25 Декабря 2014 Автор Поделиться Опубликовано 25 Декабря 2014 вот содержание моего файла Как может быть у одного шейдера две точки входа? Одна main уже ведь есть в основном файле. Пиши функции, потом вызывай их из основного файла. Типа float4 make_red() { return float4(1,0,0,1); } и вызов из combine_2_naa: ... return make_red() ... Ссылка на комментарий
tatarinrafa 3 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 (изменено) @KD87, вот мой файл float4 make_red(){return float4(1,0,0,1);} вот начало combine_2_naa #include "common.h"#include "mblur.h"#include "dof.h"#include "moe_shader.h"/*struct v2p{float4 tc0: TEXCOORD0; // Centerfloat4 tc1: TEXCOORD1; // LTfloat4 tc2: TEXCOORD2; // RB.... вот конец combine_2_naa .... res.Color += combine_bloom( img, bloom );#ifdef USE_MSAAfloat4 ptp = mul(m_P, float4(gbd.P, 1));res.Depth = ptp.w==0?1:ptp.z/ptp.w;#endifreturn res; return make_red();} Выдает ошибка что у меня слабая видюха, это 670 то слабая? лол что я делаю не так? (лучше бы я дальше баловался со скриптами и не лез в шейдеры, такая туфта...) ну не ужто заработало res.Color = make_red(); в конце combine_2_naa Изменено 25 Декабря 2014 пользователем tatarinrafa Ссылка на комментарий
qvvxvvq 111 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 а некто не знает как настроить шейдеры что бы во время дождя на худе гг было намокание, то есть что бы при дожде были какие-нибудь капли на экране, не подскажете как это сделать? Ссылка на комментарий
Anonim 680 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 (изменено) @PlayMod, Правь движок. Ну или жди тройку ОГСЕ. Изменено 25 Декабря 2014 пользователем Anonim Ссылка на комментарий
tatarinrafa 3 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 @PlayMod, Хочу тоже такое замутить для ЛА. шейдэр то написать наверное можно, а вот чтобы они были только при дожде то хз. Может можно как то отследить под дождём ли гг(Например звук дождя когда находишься под открытым небом сильнее чем если под деревом стать. Может где в скриптах это контролируется) Ссылка на комментарий
qvvxvvq 111 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 tatarinrafa, ну если только, а так да, (я в шейдерах не очень) Ссылка на комментарий
tatarinrafa 3 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 @KD87, Может еще поможешь? Как покрасить пиксели в красный в пределах области? например 64х64 в верхенем углу экрана. я так понимаю условий на проверку координат пикселя в шейдерах нет? Ссылка на комментарий
Struck 61 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 (изменено) @tatarinrafa,@PlayMod, вполне реализуемо на скриптах, есть метод получения дождя (мелкий, ливень и т.д.), в зависимости от этого получаем есть ли у нас маска со стеклом и рисуем капли по своим алгоритмам. Собственно все. Не знаю как по оптимизации конечно, но работать будет. @tatarinrafa, можно извратится и нарисовать статиками, но лучше взять движок поновее и написать шейдер, примеров в принципе хватает. Разница будет в том, что шейдером можно нарисовать движение капель, а статиком это будет сделать проблематичнее (если вообще возможно, так на вскидку не скажу). Изменено 26 Декабря 2014 пользователем Dennis_Chikin Добавлено Dennis_Chikin, 25 Декабря 2014 Ну как бы да: банально поиск по amk_mod по "blurs", или те же amk_particles. Например. Чтоб далеко не ходить. Но почему на это должен указывать кто-то другой ? Ссылка на комментарий
Anonim 680 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 (изменено) @tatarinrafa, Движок нужно править, а именно добавить новый вид семплера для капель на стекле. Но в Рентген расширениях есть правка по добавлению своих семплеров в combine_2_xxx. Изменено 25 Декабря 2014 пользователем Anonim Ссылка на комментарий
KD87 718 Опубликовано 25 Декабря 2014 Автор Поделиться Опубликовано 25 Декабря 2014 Выдает ошибка что у меня слабая видюха Ошибка по неподдерживаемой версии шейдеров выдается при синтаксических ошибках в шейдере. В логе при этом пишется настоящая причина. Вообще, все твои проблемы пока от незнания и невнимания. Не надо винить в этом сталкера. я так понимаю условий на проверку координат пикселя в шейдерах нет? Почему нет? if then else и вперед. Это если в лоб решать. Если потоньше, то color = lerp(color_1, color_2, binary_condition) а некто не знает как настроить шейдеры Все равно, что спросить "Как настроить сталкера, чтобы там шестиствольный пулемет появился". Как-как - запилить с нуля. 1 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти