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

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

KD87 ,lafugix, Спасибо что откликнулись ,вот если бы по конкретней, как с этим боротся, было бы совсем замечательно! :)  

 

WERTOix.gif

Изменено пользователем KD87
удалил разрывы

, это уже за рамками текущей темы. Проверь, есть ли текстура террейна в textures.ltx, если нет, добавь по аналогии. Или же скопируй thm для террейна из геймдаты юпитера к себе в ТЧ. В любом случае, подробности спрашивай в ковырялке или теме по СДК, там знающих людей много, а я уже давно подобным не занимался.

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

Бывает что при загрузке игры дрожит небо, длится не долго, но как бы неприятно, из-за чего такое может быть, не на всех шейдерах такое замечал.

 

 


из-за чего такое может быть
Есть предположение, что это из-за конфига, попробуй на дефолтном user.ltx.

Дрожание неба наблюдал при включенном motion blur и модифицированных бинарниках. Причина такая - в дефолтном сталкере не очищается текстура с позициями между кадрами, из-за этого шейдер с доступом к этой текстуре приводит к шлейфу от объектов на фоне неба. Поскольку по дефолту такой шейдер только один - motion blur - и он как раз и состоит в том, чтобы давать шлейф от объектов, то ничего не заметно. В паке шейдеров от огсе шейдер саншафтов также использует текстуру с позициями, и вот тут баг со шлейфом становится очевиден. Я в свое время сделал правку по очистке проблемной текстуры, в саншафтах баг ушел, но появился баг с дрожанием объектов при включенном motion blur. Резюмируя, один баг компенсировал другой. Стоило убрать один, вылез второй. Впрочем, шейдер motion blur довольно легко поправить. Достаточно добавить одну строчку в самое начало функции расчета блюра (half3 mblur (float2 UV, half3 pos, half3 c_original)):

pos.z += 1000000.h*saturate(0.001 - pos.z);

  • Нравится 1

Как в зп сделать?Нужно заменить или добавить строку?

 

Оверквотинг. Читай правила, п. 2.6

Изменено пользователем Cyclone

@krovosnork, уже есть объемные облака, они ж тень бросают (ну, на р2). Шейдер этих облаков есть в ресурсах, так что сделать, конечно, можно, никто не мешает :)

@KD87, а возможно ли сделать эти облака реалистичными? Разные виды облаков, разная высота. Не слишком ли большая нагрузка будет? И ещё, можно ли сделать полосы дождя на горизонте?

@KD87, подскажи, за цвет неба что отвечает, из шейдеров, вот на скрине может увидишь, такие фиолетовые пятна, на других шейдерах их нету, где можно короче этот цвет перенастраивать.b03744472f4e26ee9faa02bc8d64ad2e4d2db115

@Хемуль36рус, цвет неба - это цвет скайкуба. Единственное, что дополнительно накладывается - тонмаппинг. Можно покрутить коэффициенты в tonemap (common.h, def_hdr, например), но это будет действовать на все сразу. Можно в sky2.ps покрутить параметр scale, домножить его или разделить на что-то. В дефолтных шейдерах так, например:

        tonemap            (o.low, o.high, sky, scale*2.0 );

А вообще, как мне кажется, на скрине эти пятна есть больше из-за сжатия текстуры скайкуба. Попробуй сжать исходную текстуру в dxt3, например.

  • Нравится 2

Интересует вопрос создания шейдера с возможностью в реальном времени регулировать у него порог обрезания альфа-канала или просто видимость. Собственно появилась идея использовать шейдер для скрытия\показа определённых частей на модели, и тут такие вопросы:

1) Реализуемо ли вообще в сталкере на уровне шейдеров возможность скрыть\показать определённый участок модели, допустим тем же альфа-каналом в реальном времени.

 

2) Как можно и можно ли влиять на шейдеры из скриптов или какими нибудь другими костылями так, чтобы изменения отражались в реальном времени. Допустим создать переменную или какую нибудь проверку чтобы через неё регулировать ту же видимость. Нужно же будет иметь возможность как то "сказать" шейдеру нужно ли ему отрисовывать или наоборот скрывать. 

Изменено пользователем *Shoker*

@*Shoker*, ну так есть волшебная функция clip(), которая ровно то и делает - откидывает пиксели по альфе, типа альфа-тест. Насчет риалтайм управления - есть, конечно, возможность. В ТЧ, в xray-extensions. Смотри shaders_mapping.asm. Предвосхищая следующие вопросы - нет, проще не сделать.

Изменено пользователем KD87
  • Нравится 1

@KD87, спасибо за наводку, однако всё же попробую попроще :D
Наверняка ведь в рендере ТЧ-ЗП уже есть какие то глобальные шейдерные переменные, которые регулируются например консольными командами и значения из этих консольных команд используются в шейдере, тогда можно найти какую нибудь мало-значимую консольную команду, значение которой представлено в шейдере, и использовать её как регулятор... или это не пройдёт?

И собстно если это вариант, то как можно получить список доступных шейдерных переменных, регулируемых из консоли. (или я бред сказал?)
 

Изменено пользователем *Shoker*

Уже задавал вопрос, но пожалуй задам еще раз. Почему в режиме DX10\11 в ЧН\ЗП не работает Motion Blur и нету тени от облаков? Кривые шейдеры или проблемы в движке?

Изменено пользователем power-cat

@power-cat, motion blur не работает, потому что его просто нет в сталкере на DX10. Тени от облаков просто отключены - как и в ТЧ, надо раскомментировать дефайн USE_SUNMASK в common.h. 



@*Shoker*, зришь в корень. Meltac именно так и сделал управление своим DOF. Консольных команд, влияющих на шейдерные юниформы несколько, но тебе подойдут, пожалуй, только r2_aa_kernel, r2_aa_break, r2_aa_weight. Первая команда - float, две других - вектора из трех float. Команды изменяют содержимое e_barrier, e_weights, e_kernel в combine_2_aa/combine_2_naa. Правда, тут придется выбирать - при использовании этих команд под себя, придется отказаться от консольной настройки антиалиасинга (r2_aa). Впрочем, коэффициенты можно просто захардкодить в шейдере.

Изменено пользователем KD87
  • Нравится 1

Я заметил что для юзания блура на DX9 достаточно расскоменить в common.h строчку с USE_MBLUR. На DX10 не дает толку (даже если в файле mblur.h специально что-нибудь сделать чтобы исскуственно вызвать вылет), но при этом стоит в свойства добавить -mblur, то игра вылетит (значит все таки как-то мож шейдер читается, просто переписать надо). 

Насчет USE_SUNMASK. К сожалению расскоментирование этой строки не дает результата на DX10.

  • Нравится 1

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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