Перейти к контенту

KD87

Рекомендуемые сообщения

Ну странно объяснять, поддакивая ему. env map в сталкире работает отлично на Р2. Другое дело, что работает он только на геометрии, которая рисуется с альфа-блендом - стекла, вода и все такое. Дело тут не в художественном вкусе разрабов, а в желании сэкономить фпс, с одной стороны, и в ненужности отражения скайкуба на других поверхностях с другой стороны. Вот где, кроме воды, нормально смотрелся бы env map? Скажем, на оружии. Но оружие должно получать отражение только при нахождении в аутдоре. А как определить нахождение оружия в аутдоре? Отвечаю - никак, в общем случае. Так что даже если запилить, ствол будет переливаться даже у сидора в бункере. Впрочем, на оружии всегда играет блик - если, конечно, бамп у него нормальный. Это неплохая замена env map.

  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

 

 

вроде весь экран должен был красным стать, а не вышло...

Дык. В сталкере у все точки входа имеют имя main, а не произвольное. ПЛюс, если просто закинуть файл в геймдату, ничего не выйдет. Все шейдеры вызываются при отрисовке геометрии из движка, так что или рисуй из движка квад на весь экран, или вставляй свой код в один из поолноэкранных шейдеров. Обычно это combine_2_naa.

 

А так правильно написал.

 

 

 

И все же как бы его прикрутить на другие источники освещения?

В самом вопросе кроется ответ. Рисуй дерт для каждой лампы. Рендеряй квад вокруг каждой лампы, направленный на камеру. Пересчитывай текстурные координаты квада в пространство экрана, семплируй дерт-текстуру и все.

  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение
оно все в шейдере реализуется или же нужно и в движке какие манипуляции проводить?)

Ну раз я пишу "рисуй квад для каждой ламп", очевидно, что начинать надо с движка :) Есть же пример готовый - солнечные флары. Ровно то же самое - квады, повернутые на камеру. Берешь идею и делаешь это для ламп.

Изменено пользователем KD87
  • Полезно 3

Поделиться этим сообщением


Ссылка на сообщение

 

 

вот содержание моего файла

Как может быть у одного шейдера две точки входа? Одна main уже ведь есть в основном файле. Пиши функции, потом вызывай их из основного файла.

Типа

float4 make_red()

{

 return float4(1,0,0,1);

}

 

и вызов из combine_2_naa:

 

...

return make_red()

...

Поделиться этим сообщением


Ссылка на сообщение

 

 

Выдает ошибка что у меня слабая видюха

Ошибка по неподдерживаемой версии шейдеров выдается при синтаксических ошибках в шейдере. В логе при этом пишется настоящая причина.

Вообще, все твои проблемы пока от незнания и невнимания. Не надо винить в этом сталкера.

 

 

 

я так понимаю условий на проверку координат пикселя в шейдерах нет?

Почему нет? if then else и вперед. Это если в лоб решать. Если потоньше, то color = lerp(color_1, color_2, binary_condition)

 

 

 

а некто не знает как настроить шейдеры

Все равно, что спросить "Как настроить сталкера, чтобы там шестиствольный пулемет появился". Как-как - запилить с нуля.

  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

 

 

this not true

Каким образом на Р2 заставить заработать глоу так же, как на Р1? Человек, очевидно, спрашивает, о назначении глоу в спавне/сдк.


 

 

R1 have lens flare for lamp, R2 don't have.

Поделиться этим сообщением


Ссылка на сообщение

@Anonim, несколько замечаний.

1) accum_base.ps ничем не отличается от оригинала. Аналогично не отличаются _все_ шейдеры accum_***, а также файлы bloom_luminance_2, bloom_filter, lmape.ps.

2) bloom_luminance_3.ps по факту ничем не отличается от оригинала. Да, в версии из пака удалена строчка, однако, эта строчка написана с опечаткой и по факту в игре и так не работает.

3) combine_2.ps не используется в сталкире, правка этого шейдера бессмысленна на 100%.

4) назначение cross_color.ps для меня загадка. В движке он не вызывается, из шейдеров тоже.

5) идиотская попытка реализовать детальный бамп. Какой он детальный, если данные берутся из обычного бампа, да еще и полностью убито наложение детальной текстуры? 

Поделиться этим сообщением


Ссылка на сообщение

 

 

Всё работает, прицел теперь полупрозрачный.

Да, вызывается из hud_crosshair, это я не увидел.

 

 

 

Какой ещё детальныйй бамп?

Я про sload.h, конечно. Там ужас.

 

 

 

Я их даже не трогал.

Ну дак собирал-то ты :)

  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение

@Anonim, да, lmodel.h тоже лишний. Файл, конечно, отличается функцией, которой нет в оригинале, но она там просто так, ниоткуда не вызывается.

Изменено пользователем KD87
  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение

 

 

Есть у меня шейдеры за твоим авторством, для 7 патча. Там есть POM, но что-то он не собирается работать.

Это что, который из исходников собран? Так там нужна поддержка движка. Параллакс на некоторых текстурах имеет баги, поэтому я правил движок для избирательного включения параллакса. Соответственно, включается он там в textures.ltx. Если это не волнует, то надо дефайны параллаксовые перенести из шейдеров с хвостом _steep в такие же шейдеры, но без этого хвоста, будет работать и без движка.

 

 

 

Там ужас ещё с оригинала вроде

Оригинальный sload.h работает, как надо, ну и код нормальный. В файле же из твоего пака убито наложение детальной текстуры, зато для детальных поверхностей дополнительно патчится нормаль по хитровыдуманной формуле. Я так понимаю, это что-то от cjahyo, попытка сделать детальный бамп. Странная попытка, учитывая, что для патча нормали используется _обычный_ бамп текстуры, а не детальный. Впрочем, полагаю, тогда можно было сделать только так. Но сейчас уж не "тогда" ведь :)

  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение

 

 

r2_parallax_h 0.02

Это родной псевдопараллакс.

 

 

 

#define POM_PARALLAX_OFFSET float(0.02)

Этот дефайн вполне можно оставить и в шейдерном конфиге, это сила сдвига неровностей.

Поделиться этим сообщением


Ссылка на сообщение

 

 

Несовсем понятен этот вопрос.

А что ж тут не понятного? Вопрос в том, зачем в шейдерной плюшке скрипты с конфигами?

Поделиться этим сообщением


Ссылка на сообщение

 

 

- Солнечные лучи (Crysis Style) не KD87

А чьи?

 

 

 

- Качающиеся деревья

Так они и в оригинале качаются.

  • Согласен 2

Поделиться этим сообщением


Ссылка на сообщение

 

 

в общем какой шейдер нужно выставить для модели что-бы подобного небыло?

Да как обычно. Для динамических моделей это models\model.

  • Спасибо 1
  • Нравится 1

Поделиться этим сообщением


Ссылка на сообщение

Вот такое есть по сталкиру:http://www.gamedev.ru/community/gamedev_lecture/articles/r_e_n_de_r

Мегаполезная вещь, но надо немного понимать, о чем человек говорит. В целом почитайте статьи и глоссарий на gamedev.ru. Тоже помогает. Там про шейдеры отличная статья есть, с примерами. Правда, по первости даже так непонятно. Но тут уж деваться некуда.

 

 

 

Интересует такой момент - как привязать новый скриптовый шейдер к модели?

Задублируй любой имеющийся в сдк, там же переназначь, потом напиши  его и закинь в папку шейдеров.

 

 

 

И, может подскажете еще, как сделать шейдер с двигающейся текстурой?

Это в каком плане? Скролл, что ли? В шедйеры экспортированы таймеры, юниформ timers. В x лежит линейный таймер как раз, привяжи к нему текстурные координаты.

 

 

 

 

И есть ли какой-нибудь способ управлять шейдерами через скрипты, например менять один на другой в процессе игры?

Да, исходники же есть. Можешь придумать что угодно. Штатно - нет.

  • Нравится 1

Поделиться этим сообщением


Ссылка на сообщение

Не существуют, но возможно. Просто по аналогии.

 

 

 

Правильно ли я понял - для связки нужно создать скриптовый шейдер с названием папка_шейдер как у обычного? 

Правильно.

  • Спасибо 3

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...