Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: [ТЧ] Исправление сияния лампочек на статике
GAMEINATOR forums > S.T.A.L.K.E.R. > Модификации для S.T.A.L.K.E.R.
Страницы: 1, 2
sergy172
Мне пришла мысль.
А что если дело не в том что текстуры сияния утоплены в модель лампочки, а дело в настройке их отрисовки?
Есть такое понятие как Z буфер, от которого зависит какая текстура или полигон, какой перекрываются.
Может в 1935 текстуры находятся на тех же местах что и в ТЧ или ЧН, и просто настроены так, что бы всё время рисоваться спереди, как им и положено?
Вдруг дело всего лишь в мелкой правке одного шейдера?

п.с. Такие косяки уже были, когда большой графический ляп заключался в слегка кривом параметре, например с тормозами саншафтов или с облаками.
[empr]
Речь о glow-объекте или динамических лампочках (hanging lamp)?
Lekzd
Там речь о всех светящихся объектах - они просвечивают сквозь худ-оружие

я вытался это исправить, но пока не нашел шейдера, который это делает

а воообще там всего два параметра z-buffer - true и false, так что со слоями не разбежишься
sergy172
Я же писал "на статике", на статичном освещении.
На динамике эффект не текстурный.

Кстати, ещё хотел предложить написать для статики саншафты, только не такие как в ЧН, а на подобие тех что в Star Wars: Battlefront 2004 года.

Там они по короче, и их видно когда солнце частично закрыто листьями или каким нибудь объектом.

В общем тот эффект солнечных лучей мне нравится больше, особенно учитывая то, что он написан чуть ли не на шейдерах 1.0.
В ТЧ 1.1.

Жаль скринов с ним нет ни на АГ ни на Плейграунде.
А сам эффект напоминает шафты из Фар Край 2.
sergy172
Видимо я оказался прав, хотя неизвестно в шейдерах ли дело или там где хрен копнёшь?
В билде 1935 текстуры сияния (glow?) просвечивают сквозь оружие, то есть действительно отрисовываются по верх всего, но в Сталкере этого нет.
Видимо пытаясь убрать такой просвет, разработы перестарались или решили, что так лучше... Идиоты. smile.gif
cjayho
sergy172 Не такое ли вы сияние хотели как на прикрепленном скрине?

sergy172
Цитата(cjayho @ 24.08.2010, 16:24) *
sergy172 Не такое ли вы сияние хотели как на прикрепленном скрине?

А разве по этому скрину, что то можно понять?

Напомню: фактически всё сияние на р1 (статичное освещение) выполнено в виде текстур-спрайтов (с какой бы стороны мы не подошли он будет смотреть на нас лицом, в отличии от обычной текстуры натянутой на каркас из треугольников), центр каждого спрайта находится в центре светильника (привязан к лампочке), в ТЧ он отрисовывается "честно", то есть когда мы ходим вокруг лампы, то какая нибудь часть спрайта всё время (утопает в модели) оказывается внутри "лампы".

А вся фишка такого спрайта в том, что бы отрисовываться в последнюю очередь, и быть как бы над лампой, создавая замечательную имитацию сияния вокруг неё.
Приём старый и работает до сих пор (некоторые игры страдают той же проблемой что и Сталкер, но в большинстве всё в порядке) лучше всяких блумов и глоссов, способных на невнятное светлое пятно и жрущих ресурсы компьютера, потому что позволяет делать сияние любой формы. Руки и Фотошоп. smile.gif

Но такое сияние плавно исчезает, если зайти например за угол, и соответственно так же плавно поавляется.
Во втором Хелф Лайфе наблюдался забавный глюк. Сияние от солнца и некоторых ламп, просвечивало через некоторые двери, но только при рендере dx7. Про восьмёрку не помню, но на девятке, те же спрайты вели себя адекватно. Кстати, там одновременно с ними используется ещё и блум.

п.с. В аддоне к первому Анрилу "Return to Na Pali" ещё в 1999 году сделали так, что сияние вокруг фонаря не только увеличивалось и уменьшалось с расстоянием но и меняло цвета, имитируя радужный перелив бликов.
sergy172
Ярчайший пример - Мафия 2.
Спрайты на фарах, габаритах, ночных фонарных столбах, фонариках.
Всё работает как надо и с характерными для этого эффекта особенностями.
alg0r1tm
sergy172, нуууу сровнил что называется!...
разме в мафии хрей biggrin.gif ?
sergy172
В 1935 х рей, однако ж работает. smile.gif
Даже в 2215 работает.
cjayho
Цитата(sergy172 @ 25.08.2010, 14:09) *
В 1935 х рей, однако ж работает. smile.gif
Даже в 2215 работает.


А вы уверены что в билдах все правильно работает? Потому что во всех билдах используется другая текстура сияния, вероятнее всего перед релизом от нее избавились потому что была она не ихняя, а новую сотворить не осилили. Так вот, эта текстура не так заметна как текстура из финалки, надо иметь весьма неслабое внимание чтобы отличить одно от другого. То что вы видели на скрине - это стыренные из 2205 текстуры textures/glow. Попробуйте с ними поэкспериментировать.
sergy172
Цитата(cjayho @ 25.08.2010, 16:09) *
...другая текстура сияния...

pity.gif
Это шутка такая, горячечный бред или провокация на идиотский спор со 101вым объяснением "механики"?

cjayho, возьми любую текстуру (фотографию себя в душе) и замени ей сияние хоть в ТЧ хоть в билдах, и ты поймёшь, что не стоило писать бред идущий предыдущий пост. wink.gif

п.с. Где ты Kolmogor!? Бладмарки возвращены, детайл денсити возвращено, даже мип биас возвращен, теперь осталось "светящиеся" (вернее, не зависящие от освещения) глаза монстров и нормальную отрисовку сияния вернуть, что бы можно было говорить, о возвращении полного функционала графического рендера Х Рея... Ну, правда там ещё со звуком известный косячище, но это может и подождать. smile.gif
alg0r1tm
sergy172, эмм... где блудмарки возвращены ??
Скиф
KV38, в LA.
alg0r1tm
Скиф, а ну так это да,это я наю,но ведь их нихто не даст!((
shad0w
Цитата
а ну так это да,это я наю,но ведь их нихто не даст!((

А после релиза скопировать длл'ку к себе религия не позволяет?
alg0r1tm
unnamed, релиз ждать бум... как ТЧ ждали 7 лет!!
Trollz0r
Цитата(sergy172 @ 25.08.2010, 19:09) *
"светящиеся" (вернее, не зависящие от освещения) глаза монстров

Их легко исправить. Открой hex-редактором файл модели и замени шейдер selflight на model_pn или аналогичный. "Лишние" байты нужно забить нулями.
тыц
sergy172
Для тех кто до сих пор не понял.
На одной лампе хорошо видно как сияние утопает в стене, на другой как сияние уходит в лампу.


Скрин не совсем из ТЧ, но зато всё понятно.
Скиф
sergy172, и типа какая из этих ламп светит "по-тот-сталкерски"?
Toster83
Скиф, а при чём тут тот-сталкер? Просто так правильнее что ли? smile.gif
sergy172
Скиф, Никакая.
Скиф
sergy172, ок, переиграем. Какая из этих двух лампочек светит правильнее?
XeMuS
Цитата(Скиф @ 29.08.2010, 19:22) *
Какая из этих двух лампочек светит правильнее?

Никакая! Включи такую лампу в жизни ты такой свет не увидишь в жизни, ну если только под действием грибочков
sergy172
Цитата(Скиф @ 29.08.2010, 17:22) *
sergy172, ок, переиграем. Какая из этих двух лампочек светит правильнее?

Малость тупишь. Это скриншот из той версии движка, в которой спрайты сияния отрисовываются неправильно.

Как и во всех трёх релизах.
cjayho
Цитата(sergy172 @ 30.08.2010, 00:30) *
Это скриншот из той версии движка, в которой спрайты сияния отрисовываются неправильно.
Как и во всех трёх релизах.


А можно скриншоты для сравнения как должно быть правильно? Было ли такое хотябы в билдах?
cjayho
ой сорри. вопрос снят. Попру мучить 1935
sergy172
Если не ошибаюсь, последний билд без этого бага был 2215.

Точно помню в сингл сборке Диабло.
cjayho
Такс, если я все правильно понял, то fixed.
Правкой шейдеров и .xr файлов удалось пофиксить:

1) Солнечный диск как на статике так и на динамике, флары (flares) к нему. Для 100% восстановления солнца надо еще найти шейдер который отрисовывает спрайт широкого солнечного сияния.
Но даже в таком виде солнушко оч даже ничего, причем без всяких включений мультиплеера и прочих хаков вроде включения в фоне видео во время загрузки (как сделано в OGSM)

2) Отрисовку сияния лампочек на статике. Теперь оно рисуется поверх всего, в том числе и оружия.

3) Жуткий блум на лампочках и нереально горящие глаза монстров. У монстров глаза все еще светятся, но зато намного менее ярко.

Плюс к тому в комплекте шейдер для динамики реализующий мягкие тени (правда на небольшом расстоянии от актера - почему в оригинале на расстоянии двух-трех метров идет коробление теней - выясняю.). Данный шейдер смягчает бамп текстур на динамике, что в принципе есть гут - картинка явно стала натуральнее.

Скриншоты:

Статика:





Динамика:



Собственно сам фикс:

Нажмите для просмотра прикрепленного файла

Условия использования - как обычно, разрешается использовать где угодно, при условии указания авторства фикса.
Только предупреждаю сразу - мод не полностью готов (молнии косячно отрисовываются, луну не тестил, нет сияния большого вокруг солнца). Выкладываю эту версию только чтобы уточнить - такие ли настройки отрисовки нужны на статике.
XeMuS
На динамике не очень, статика очень понравилась.
sergy172
cjayho, Молодец!
ЯТЬ!
Какого хрена "отцы" утверждали, что дело не в шейдерах, что надо править рендер в исходниках?!
Столько лет ждал!

А теперь конкретно, какие параметры менял?

sergy172
http://rghost.ru/2529596
Небольшой довесок от меня.
Не пережатые fx_sun.dds и fx_sun_rise.dds.
Их зачем то тоже испортили. smile.gif
sergy172
FATAL ERROR

[error]Expression : R
[error]Function : CResourceManager::_CreatePS
[error]File : E:\stalker\patch_1_0004\xr_3da\ResourceManager_Resources.cpp
[error]Line : 273
[error]Description : g:\games\s.t.a.l.k.e.r. shadow of chernobyl\gamedata\shaders\r1\seffects_moon_p.ps

FATAL ERROR

[error]Expression : R
[error]Function : CResourceManager::_CreatePS
[error]File : E:\stalker\patch_1_0004\xr_3da\ResourceManager_Resources.cpp
[error]Line : 273
[error]Description : g:\games\s.t.a.l.k.e.r. shadow of chernobyl\gamedata\shaders\r2\seffects_moon_p.ps

Пока не могу запустить.
1.0001, 1.0004.

cjayho, Можешь выложить отдельно версию, только для ламп?

А вообще в идеале они должны плавно гаснуть при загораживании худом, так же как и при заходе за угол статичной геометрии, как это сделано в нормальных играх.
cjayho
Цитата(sergy172 @ 04.09.2010, 15:45) *
FATAL ERROR

cjayho, Можешь выложить отдельно версию, только для ламп?

А вообще в идеале они должны плавно гаснуть при загораживании худом, так же как и при заходе за угол статичной геометрии, как это сделано в нормальных играх.


ой, насчет ошибки - в файлике effects_moon.s допустил очупятку и скопировал не заметив. Выкладываю пофикшенную версию.

Насчет плавно гаснуть - надо крутить шейдеры effects_glow.s, effects_glow.vs, effects_glow_p.ps. Сегодня займусь, вчера просто сил уже не было. И так сделал прилично smile.gif

Только для ламп - могу, если подЕлитесь оригинальными shaders.xr и shaders_xrlc.xr ато у меня не сохранилось оригиналов, а распаковывать по новой нету места на винте.

Исправленный файл - Нажмите для просмотра прикрепленного файла (я туда воткнул выложенные вами текстуры солнца, надеюсь вы не возражаете).

Цитата(sergy172 @ 04.09.2010, 14:46) *
А теперь конкретно, какие параметры менял?


Вынул шейдер effects/glow из shaders.xr shaders_xrlc.xr наружу, исправив при этом глюк с методом ALPHA_ADD (который как раз и глючит при запуске сингл-игры)
makushka
очень интересно стало, но блин вообще не понимаю о чем речь. может, cjayho, объясните поподробнее что значит

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

кружочки от солнца есть и финале, только смотрятся они как то посимпотичнее. глаза давно исправил xiani

Цитата(sergy172 @ 04.09.2010, 18:45) *
А вообще в идеале они должны плавно гаснуть при загораживании худом, так же как и при заходе за угол статичной геометрии, как это сделано в нормальных играх.

дык солнце вроде так и затухает, если не ошибаюсь. а лампочки получается - нет?
cjayho
Цитата(makushka @ 04.09.2010, 19:51) *
эээ... а разве это не баг оригинала? если речь идет не о том, что сама звездочка сияния просвечивает через оружие, тогда простите...



а где вы в оригинале видели что звездочка сияния просвечивает через оружие?
sergy172
Цитата(cjayho @ 04.09.2010, 19:14) *
надеюсь вы не возражаете

Как я могу возражать? Не я же их рисовал а GSC, ещё тогда когда они не превратились в ПЫСов. smile.gif
Вот shaders.xr и shaders_xrlc.xr http://rghost.ru/2532446
А вот сборничек старой начинки папки fx http://rghost.ru/2532463 Там ещё и старая луна, помечена как fx_moon1580.dds.

Вообще было бы шикарно, если бы кто нибудь составил архив старых более качественных текстур (их не так много кстати) упорядоченных в стиле ТЧ, который отличается от структуры билдов.

По поводу солнца\луны.
1. Его "большая текстура сияния" раньше тоже видимо рисовалась по верх некоторых объектов, из-за чего например лучше просвечивала через деревья. Это есть на видео со сменой суток в Припяти. А сейчас она пропадает даже из-за вороны, что смотрится просто глупо.
2. То что сами текстуры светил, упорно не хотят появляться при загрузке сейва. Теперь это исправлено!
3. То что так и не решили сами ПЫСы. Глючит смена текстур солнца, она происходит скачкообразно, несмотря на наличие параметров отвечающих за плавность замены. В билдах и ЧН\ЗП всё тоже криво. Сначала гаснет одна текстура и появляется другая, вместо того что бы это делать одновременно. К тому же от билда к билду появлялись проблемы с луной, которая то резко появлялась то резко пропадала.

п.с. Кто их программеров просил постоянно нарушать правило "не сломалось - не чини", является для меня очередной загадкой.
sergy172
В описании конкретно сказано не было, но как я увидел "большое сияние" как и основная текстура не окрашиваются в цвет солнца. Сейчас они белые.
Еще заметил, что не всё сияние отрисовывается как надо.
Мне показалось, что глючит дневная ламна над Сидоровичем и "вертикальное сияние" лампы на Агропроме уходит в геометрию.



Хорошо видно как оно врезается в трубу.
Trollz0r
Цитата(sergy172 @ 05.09.2010, 00:19) *
Хорошо видно как оно врезается в трубу.


Эта лампа

того же типа, что и http://i061.radikal.ru/1009/8b/b38bd46f48ea.jpg или нет? Если да, то неудивительно, что свет из двух полигонов врезается в трубу.
PATRON
RedPython, да, это та-же лампа. Только ещё glow добавлен к самой лампочке.
sergy172
Цитата(RedPython @ 04.09.2010, 22:59) *
неудивительно, что свет из двух полигонов врезается в трубу

На сколько помню, в билдах по 2215 включительно, он тоже рисовался поверх, как и глоу.
cjayho
Цитата(sergy172 @ 04.09.2010, 20:48) *
1) GSC, ещё тогда когда они не превратились в ПЫСов. smile.gif
2) Вот shaders.xr и shaders_xrlc.xr http://rghost.ru/2532446
3) А вот сборничек старой начинки папки fx http://rghost.ru/2532463 Там ещё и старая луна, помечена как fx_moon1580.dds.

4) Вообще было бы шикарно, если бы кто нибудь составил архив старых более качественных текстур (их не так много кстати) упорядоченных в стиле ТЧ, который отличается от структуры билдов.

5) То что так и не решили сами ПЫСы. Глючит смена текстур солнца, она происходит скачкообразно, несмотря на наличие параметров отвечающих за плавность замены. В билдах и ЧН\ЗП всё тоже криво. Сначала гаснет одна текстура и появляется другая, вместо того что бы это делать одновременно. К тому же от билда к билду появлялись проблемы с луной, которая то резко появлялась то резко пропадала.

6) п.с. Кто их программеров просил постоянно нарушать правило "не сломалось - не чини", является для меня очередной загадкой.



1) До тех пор пока не уволили самых матерых разработчиков (PROF, alexmx) и пока эти самые матерые разработчики не стали конторой 4A
2) ок, сделаю. Только завтра, потому что сегодня сильно устал на работе. утром сделаю.
3) Спасибо, если вы не против я включу их в свой мод который проходит стадию отладки. Там много вкусностей которые не попали в онлайн wink.gif
4) Пока что собраны вкусности из трех частей и билдов 1935 и 2205. В том числе и звуки. Все будет в моде.
5) как вариант - в час смены текстуры солнца поставить дождливую погоду без солнца.
6) мое мнение что этому всему виной банальная копирастия. Посмотрите на скриншоты из фильма "Обитель зла" и поймете почему испопсили тень вокруг зарешеченных ламп и почему вырезали зомби гражданского и химеру:

Концепт зарешеченной лампы:



"Мачиии!":



Химера:


cjayho
Такс, как я и обещал, вот фикс только для сияния ламп на статике:

Нажмите для просмотра прикрепленного файла

Цитата(sergy172 @ 04.09.2010, 21:19) *
1) В описании конкретно сказано не было, но как я увидел "большое сияние" как и основная текстура не окрашиваются в цвет солнца. Сейчас они белые.
2) Еще заметил, что не всё сияние отрисовывается как надо.
Мне показалось, что глючит дневная ламна над Сидоровичем и "вертикальное сияние" лампы на Агропроме уходит в геометрию.

Хорошо видно как оно врезается в трубу.


1) Большого сияния там сейчас просто нет, я пока еще не нашел шейдера которым отрисовывается большое сияние солнца. Собственно это сияние и должно окрашивать солнце, насколько я понял. Хотя насчет закраски солнечного диска я всетаки покопаю.

2) Дневная лампа над сидоровичем таки глючит, потому что ее glow должно плавно убывать при загораживании геометрией, в данной версии фикса этого просто нет, сияние убирается скачкообразно. Лампы в коридоре на выходе из каморки сидоровича тоже глючат.
А насчет ухода в геометрию сияния - так то что уходит в геометрию само по себе glow-ом не является и скорее всего рисуется другим шейдером:



А я пофиксил только glow.
sergy172
Цитата(cjayho @ 05.09.2010, 16:05) *
как я и обещал, вот фикс только для сияния ламп на статике

Большое спасибо.
А на счет большого сияния или правильнее gradient_texture, то в игре она была, как и основная текстура солнца source_texture.
Только с вышеописанным глюком. Текстуры не были окрашены с нужный цвет, задаваемый sun_color, а были просто белыми.
И эффект бликующих линз "ленз флер" (в игре flare_textures) тоже был каким то слишком ярким, возможно тоже из-за отсутствия окраски в нужный оттенок sun_color.

Так что пока попользуюсь лампочками, а солнце и так пока кое как работает.
sergy172
Цитата(sergy172 @ 05.09.2010, 17:25) *
то в игре она была

Во избежании недопонимания.
Имеется в виду игра с установленным фиксом солнца.
cjayho
Цитата(sergy172 @ 05.09.2010, 16:25) *
И эффект бликующих линз "ленз флер" (в игре flare_textures) тоже был каким то слишком ярким, возможно тоже из-за отсутствия окраски в нужный оттенок sun_color.

Ну фларики поправить как раз несложно. Там в шейдере (effects_flare_p.ps) есть деление яркости:

Цитата
float4 main( p_TL I ) : COLOR

{

return tex2D( s_base, I.Tex0 ) / 2.h;

}


Можно менять в широких пределах. Букву h можно не писАть, это всего лишь указание шейдерному обработчику что это число типа float (тоесть не только целые числа но и десятичные дроби).
Я туда это деление яркости специально с этой целью воткнул. Кстати во всех пиксельных шейдерах моего производства (солнце, флары, луна, glow ламп) есть подобный деление.
cjayho
Цитата(sergy172 @ 25.08.2010, 16:09) *
Ну, правда там ещё со звуком известный косячище, но это может и подождать.


А что за косячище? Единственное что я заметил - так это то что звук распространяется мгновенно в пределах досягаемости и элементарная физика (скорость распространения звука = 300м/с) явно побоку.
sergy172
Цитата(cjayho @ 06.09.2010, 00:27) *
Единственное что я заметил - так это то что звук распространяется мгновенно в пределах досягаемости и элементарная физика (скорость распространения звука = 300м/с) явно побоку.

А в билдах, с этим всё было нормально. Во всяком случае там где на картах были расставлены акустические зоны.
Начиная с ТЧ они не работают. Недавно Дезодор как раз пытался их расставлять.
Сейчас от опенАЛа толку как от козла молока.
cjayho
Цитата(sergy172 @ 06.09.2010, 00:20) *
акустические зоны.
Начиная с ТЧ они не работают. Недавно Дезодор как раз пытался их расставлять.
Сейчас от опенАЛа толку как от козла молока.


Хмм, статических может и не быть, но та же музыка фоновая идет из определенных точек в пространстве которые расставлены по карте как уличные фонари (чет такая ассоциация) на высоте примерно двух ростов Меченого. При передвижении по карте те что остались далеко выключаются и включаются более ближние и так далее.
Поставьте фоновую музыку какуюто другую (не дарк амбиент) и это станет весьма и весьма заметно на слух
sergy172
В редакторе предусмотрены не работающие шаблоны, типа ванная, подвал и т.п., да и лай собак или гул аномалий начиная с тч появляется со щелчком, кое как позиционируется и почти не зависит от расстояния.

От билда к билду обработка звука то работала то нет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2021 IPS, Inc.