Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Графика, рендер, шейдеры
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91
cjayho
QUOTE (xrModder @ 07.08.2019, 08:57) *
cjayho, так вы будете дать доступ к исходникам?


там нет ничего интересного, поверьте. все что у меня есть все можно найти на сторонних репозиториях
Diesel
Цитата(Дизель @ 07.08.2019, 05:10) *
Кто нибудь подобное делал? Или я один умом тронулся?

Я умом тронулся. Переделать всё это титанский труд и куча времени требуется. Не хочу уже.
Да еще блин запутался в масках и шейдерах, короче ну его в баню этот рендер.
Diesel
Что влияет на свет в данном случае? Одна стена, с солнечной стороны, не принимает свет. Компиляция не драфт, если что. Но нет лайтмап


Нормали вывернуты?
Но если делать с лайтмапами, то нормально становится.
Я так понял это хеми косячит? Или нет?

И еще, в x-ray, солнце не является источником динамического света. Это профанация.
Вот фонарик точно источник динамического света.
cjayho
QUOTE (Дизель @ 09.08.2019, 00:43) *
И еще, в x-ray, солнце не является источником динамического света. Это профанация.
Вот фонарик точно источник динамического света.


оно собственно и источником света не является, "освещение" просчитывается шейдерами и картой теней.

ps.

QUOTE (Дизель @ 09.08.2019, 00:43) *


какой у вас блум ужасный, поделите его на три, в common.h найдите ф-цию combine_bloom и добавьте

QUOTE
half4 combine_bloom (half3 low, half4 high) {
return half4(low + high*high.a*.33f, 1.h);
}


почему блин никто не смотрит в код шейдеров лостальфы, все ж уже давным давно сделано kozak.gif
Diesel
cjayho, поделил блум. Но это из другой оперы.
блум стал красивее. unsure.gif

Вот как бы засветить плоскость? Эта шняга в оригинале ЧН есть, во второй комнате, где спавнится ГГ. Там свет из окна не рендерится на стену.
cjayho
QUOTE (Дизель @ 09.08.2019, 12:05) *
cjayho, поделил блум. Но это из другой оперы.
блум стал красивее. unsure.gif

Вот как бы засветить плоскость? Эта шняга в оригинале ЧН есть, во второй комнате, где спавнится ГГ. Там свет из окна не рендерится на стену.


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

Свет отлично ложится на текстуры террайнов, на динамические модели, на лоды.
Статические дифузные шейдеры, выборочно рендерит.
Нужно писать новый шейдер, шейдеры на статику.

Статические шейдеры косячные короче. И это из-за старого рендера с лайтмапами и статическим светом.

Нужен кодер шейдеров. Кто поможет?
Diesel
Отключил в компиляторе последние остатки статического света. Всё нормально, кроме дифузных шейдеров статики.
Если делать текстуры в террейнах, то вообще офигенно всё.



Так что нужно хоронить вообще дифузку.
cjayho
QUOTE (Дизель @ 09.08.2019, 12:34) *
Нужен кодер шейдеров. Кто поможет?


Хах, их в коммунити всего пять человек: я, macron, K.D., SkyLoader и давным давно потерявшийся sky4CE.
Diesel
cjayho, давай я тебе движок упакую и сдк с компилятором, а ты поковыряешь на досуге рендер.
Такое же еще ни кто не делал. Будешь Гагариным. biggrin.gif
Diesel
DELETE

Рано порадовался. Загрузил локацию с лайтмапами.
cjayho
QUOTE (Дизель @ 09.08.2019, 13:30) *
cjayho, давай я тебе движок упакую и сдк с компилятором, а ты поковыряешь на досуге рендер.
Такое же еще ни кто не делал. Будешь Гагариным. biggrin.gif


ну та не вопрос
iOrange
Цитата(Дизель @ 09.08.2019, 13:16) *
Отключил в компиляторе последние остатки статического света. Всё нормально

Простите, но выглядит не нормально - индирект в нуле, выглядит a-la Doom 3 с шедоумапами.
Diesel
iOrange, индерект специально выключил. Мне нужен реальный хабар.

Это я тестировал. if (L->type==LT_DIRECT) выключил.

Ты оказывается спец не только в Юнити. biggrin.gif

Сейчас попытаюсь вернуть.
Diesel
iOrange, LT_DIRECT принимает участие в формировании освещенности хеми у дифузного шейдера статических моделей.

А всё таки шейдер террайнов не так и плох, и не глючит тёмными фейсами.

Новую локацию делать прям ништяк, если знать все цепи бампов и детальных текстур, то прям офигенно будет.
Да еще и маску можно активировать и будет как на террайне, плавное смешивание деталей.

Но эти дифузные текстуры для статических моделей, я один фиг когда-нибудь доколупаю.

Сейчас тестовую локацию буду собирать в СДК, для мед.осмотра.
Diesel
Оле-оле-оле. Всё, я победил. И не в шейдерах проблема вовсе.





У кого будут баговые тёмные фейсы. Решение найдено. Дело в компиляторе.

Я у себя максимально вырезал функции и изменил значения:
CODE

//Diesel detail_slot_calculate.cpp
void LightPoint(CDB::COLLIDER* DB, base_color &C, Fvector &P, Fvector &N, base_lighting& lights, u32 flags)
{
Fvector Ldir,Pnew;
Pnew.mad (P,N,0.01f);
R_Light *L = &*lights.hemi.begin(), *E = &*lights.hemi.end();
for (;L!=E; L++)
{
// Cos
Ldir.invert (L->direction);
// Dir
Ldir.sub (L->position,P);
Ldir.normalize_safe ();
// Trace Light
Fvector PMoved; PMoved.mad (Pnew,Ldir,1.f);
float scale = L->energy*rayTrace(DB,*L,PMoved,Ldir,1.f);
C.hemi += scale;

}
}
//Diesel

//Diesel xrDeflectorLight.cpp
void LightPoint(CDB::COLLIDER* DB, CDB::MODEL* MDL, base_color_c &C, Fvector &P, Fvector &N, base_lighting& lights, u32 flags, Face* skip)
{
Fvector Ldir,Pnew;
Pnew.mad (P,N,0.01f);
BOOL bUseFaceDisable = flags&LP_UseFaceDisable;
R_Light *L = &*lights.hemi.begin(), *E = &*lights.hemi.end();
for (;L!=E; L++)
{
// Cos
Ldir.invert (L->direction);
// Dir
Ldir.sub (L->position,P);
Ldir.normalize_safe ();
// Trace Light
Fvector PMoved; PMoved.mad (Pnew,Ldir,1.f);
float scale = L->energy*rayTrace(DB,MDL, *L,PMoved,Ldir,1.f,skip,bUseFaceDisable);
C.hemi += scale;

}
}
//Diesel


Проверить желательно на компиляцию. Может, что пропустил или недописал, так как портянки были метровые.
Diesel
Проверил код, который выше на компиляцию в визуалке - нормально.

Забыл сказать, что это только для динамического рендера. На статике возможно будет попа. Я статику не рассматривал, меня попы мало интересуют.
Diesel
Есть рекорд в компиляции. Болота за 4ч 30мин, геометрия на динамике.
Это как UE4 почти. biggrin.gif
Diesel
Застолбил эталон локации для динамического рендера. Проще говоря, но лайтмап, но статик лайт.



Уже проявлен интерес со стороны известного ковырятеля движка x-ray. Сказано: как только откинусь, сразу будет включено.

Локацию Болота для ЧН сделал. Скоро все локации ЧН, а затем ЗП перекомпилирую под динамический рендер.

Придумайте название такой локации, я даже придумать не могу - фантаззии не хватает.
но лайтмап, но статик лайт - это как можно одним словом?
Diesel

Болота ЧН (геометрия - (компиль без статического света, без лайтмап), сетка, трава и спавн оригинал ЧН).
https://yadi.sk/d/ldt7uGK8nGEqJg

Как тест, не пытайтесь толкать в оригинальные движки. Не проверял, но скорее, ни чего хорошего не выйдет.
Diesel
Патч для нового динамического компиля локации Болота:
https://yadi.sk/d/r6hJ2g0OR7Xlow
Исправляет стёткла и добавляет террайн-текстуру (оказывается она читается поверх основной, как деталь, но она не обязательна).
Diesel
cjayho, однако твоя помощь потребуется.
Я не исправил теные объекты, они просто перекочевали в другое расположение.

Diesel
Кажись отпустило. Я победил второй раз.


Причина однако в настройках билда в Левел-Эдиторе. Там нафигато у света 5 мах, а в движке 4 мах. В ЗП Левел Эдиторе 4 мах.
Какая то аколизия.
Еще я изминил угол солнца в настройках на 45.

А может в компиляторе дело, я малость мощность подкрутил.

А короче, я так и не понял в чём проблема была. biggrin.gif


Вот это непонятно. 4 максималка в движке, а тут 5 аж


Тут макс 3, а в движке 180


Кто виноват и что делать?
Diesel
Компиляция геометрии Болот 1ч. 40 мин. - для дин рендера.
UE4 - со своей компиляцией шейдеров, просто отстал или отстой.

Тёмные фейсы в прошлом. Теперь я рад.
Diesel
Всю геометрию сингла ЧН под дин.рендер скомпилировал.
Время затраченое просто - тьфу. Были локации за 17 мин некоторые скомпилированы.

Есть смысл попробовать мега-локации потрепать, возможно буфер не лопнет. biggrin.gif
cjayho
QUOTE (Дизель @ 14.08.2019, 10:10) *
Всю геометрию сингла ЧН под дин.рендер скомпилировал.
Время затраченое просто - тьфу. Были локации за 17 мин некоторые скомпилированы.

Есть смысл попробовать мега-локации потрепать, возможно буфер не лопнет. biggrin.gif


Я думаю есть смысл исследовать дальше. Мне интересно что там столько времени происходит, если раньше львиную долю вычислений занимало запекание света в лайтмапы, то сейчас что?

И кстати интересно бы сравнить загрузку локации двиглом с лайтмапами и без, насколько отличается во время загрузки текстур.
Diesel
cjayho, хеми, оптимизация -сшивание, сглаживание, нормали, геометрия, лоды-мультиплейюседж - да там много чего, сразу не вспомню.
Diesel
cjayho, я придумал название для таких локаций.
Локации гипер-звукового рендера. biggrin.gif
Причем тут звук? А причем тут свет?

Diesel
Цитата(cjayho @ 14.08.2019, 17:56) *
И кстати интересно бы сравнить загрузку локации двиглом с лайтмапами и без, насколько отличается во время загрузки текстур.

У меня в двигле это не важно. У меня буфер расшарен, загрузка текстур - это 5% времени.
Да я уже говорил, что для DX10 не важен даже размер текстур. Там что 64, что 4096 - фпс одинаков.
Вот их количество скорее влияет, в связи с чем отсутствие лайтмапов должно повысить фпс, ну и скорость загрузки (наверно).
zibit_93
А можешь снять видос? На скринах выглядит, как бы это сказать, "сыро", как будто картинка не доработана до конца различными эффектами. Вот похожий графон в пабге, он мне очень не нравится.
Может в динамике это красивее. Да, и попробуй время ускорить, хочется посмотреть как меняются тени и освещение за 24 часа, но за 3-5 минут.
Diesel
zibit_93, сегодня скину движок с ресурсами - сами глянете. Там и компилятор будет. Можете сами настругать, чего захотите.
Diesel
Новая тема. Сюда переехал:
https://www.gameru.net/forum/index.php?s=&a...t&p=1661169
Zagolski
Не нашел что-то я темы про постпроц. сглаживание, видимо удалили или переместили в другую. Как по мне, зря. Ну да ладно.
Попробовал я в сталке TAA 4x. Шикарно, ничего не скажешь. Кажется даже лучше, чем MSAA 4x (тонкие объекты уж точно) и как небо и земля по сравнению с FXAA или SMAA. И при этом на порядок быстрее MSAA + получаем бесплатный моушен блюр. Надо еще поглядеть MLAA, как один из наиболее качественных. Хотя подозреваю, что он будет хуже.
TAA 4x:
AndreySol
Такой вопрос возник, касаемо оригинальной ТЧ: по причине своей 32битности, если я правильно понимаю, то в доступных движку 2х Гб ОЗУ он будет хранить все, включая и текстуры, которые DX9 хранит в ОЗУ(если я опять не ошибаюсь)? Соответственно, прикурченный в ТЧ DX10\11, позволит разгрузить эти 2 Гб от текстур, которые уже будут храниться в памяти видеоадаптера, ведь это одно из кардинальных отличий более современных DX от старичка DX9?
Diesel
AndreySol, я не замеметил, что там происходит разгрузка.

Помню ситуацию где наоборот. Движок НеоАксис хранит в видеокарте текстуры, что приводит к просадке фпс.
Просили разраба НеоАксиса прикрутить DX10 для разгрузки видео, он послал всех на... и забросил движок.
ГТА-5 толкает текстуры в оперативную память, там Dx10.
Получается, что прикрутив DX10, ты их в видеопамять не затолкаешь.
ForserX
Zagolski, а у меня до TAA так руки и не дошли. Так и лежит у нас в нерабочем варианте, ждёт, пока его кто-нибудь исправит
Diesel
Как залечить полосы на вертикальных плоскостях? Полосы появляются, когда к ним перпендикулярна камера.

xrModder
Цитата(Дизель @ 23.08.2019, 06:54) *
Как залечить полосы на вертикальных плоскостях? Полосы появляются, когда к ним перпендикулярна камера.


Появление полос зависит от расстояния до объекта?
Zagolski
Похоже на полосы от теней солнца, когда угол между ним и поверхностью острый. Лечения нет, кроме как увеличение сдвига (bias), но в этом случае тени сильнее "полетят", т.е. сдвинутся в сторону от объектов (в идеале нужно увеличивать bias с увеличением угла). Либо увеличением разрешения шадовмапа, что снизит скорость. Судя по большому шагу полос у тебя снижено разрешение теней меньше номинальных 2048.
macron
Цитата(Дизель @ 23.08.2019, 03:54) *
Как залечить полосы на вертикальных плоскостях? Полосы появляются, когда к ним перпендикулярна камера.

Попробуй такие команды:
r2_ls_depth_bias -0.0002
r2_ls_depth_scale 0.9999
Diesel
macron, не помогает.
xrModder, полосует где то от 50 метров и выше. До 50 - нормально.

Да я уже все консоли перебрал. У меня r2_sun_far, r2_sun_near помоему не работают.
Не реагируют на цифры. Это я там в движке, видимо напортачил.

В движке:

CMD4(CCC_Float, "r2_sun_near", &ps_r2_sun_near, 1.f, 500.f );
#if RENDER!=R_R1
CMD4(CCC_Float, "r2_sun_far", &OLES_SUN_LIMIT_27_01_07, 51.f, 180.f );
#endif


#if RENDER!=R_R1 - r2_sun_far . Это типа для статики, а зачем оно в юсер для r3 пишется?

r2_sun_near - в общем доступе.
Diesel
macron, я нашел источник полос. Это ШАО - БАО (SSAO) косячит. Может это из шейдеров летит?
xrModder
Дизель, возможной причиной полос являются дробные значения в параметрах r2_sun_depth_***, привести к такому виду:
Код
r2_sun_depth_far_bias   0.
r2_sun_depth_far_scale  1.
r2_sun_depth_near_bias  0.
r2_sun_depth_near_scale 1.
Diesel
xrModder, не помогло.
DRKIP
Цитата(Дизель @ 26.08.2019, 00:07) *
xrModder, не помогло.


Привет дружище. Тут дело в SSAO. Это ни как не исправить и дело тут ни в шейдерах. Тут косяк, где то в движке самого рендера. Нужно использовать SSDO либо HDAO или HBAO. Других вариантов решения я пока ни где ни нашел. Даже заново писали SSAO код в шейдерах не проканало ни на R2 ни R3 рендере.
Diesel
DRKIP, сейчас пойду, от тоски-грусти, заведу CE3 и поеду.
Zagolski
Цитата(DRKIP @ 26.08.2019, 21:46) *
Тут дело в SSAO

Никогда у меня проблем подобных с SSAO не было. Видяха случаем не AMD? Если так, то на ней вполне возможно всякие глюки быть могут... Это же AMD.
Попробуй с r2_ssao_half_data и r2_ssao_opt_data поиграться. Для карт AMD используется урезанная вдвое битностью глубина, если r2_ssao_opt_data включена. Может нехватка точности...
Diesel
Zagolski, macron толкует, что такая бяка еще из ТЧ тянется. Хотя я не знаю, есть ли эта приблуда в ТЧ - не помню.
DRKIP
Цитата(Zagolski @ 27.08.2019, 01:36) *
Цитата(DRKIP @ 26.08.2019, 21:46) *
Тут дело в SSAO

Никогда у меня проблем подобных с SSAO не было. Видяха случаем не AMD? Если так, то на ней вполне возможно всякие глюки быть могут... Это же AMD.
Попробуй с r2_ssao_half_data и r2_ssao_opt_data поиграться. Для карт AMD используется урезанная вдвое битностью глубина, если r2_ssao_opt_data включена. Может нехватка точности...


Nvidia у меня. И эта проблема всегда была на R2 на всех шейдерах ТЧ. На ОГСЕ не было так как там используется SSDO и HBAO. Но если туда прикрутить обычное SSAO то появляются полосы. В основном через прицел либо бинокль при приближении. Так что дело тут в движке. У моего знакомого свой собранный движок и рендер и он мне давал свой шейдер SSAO и полосы были. А у него нет. Как только меняешь SSAO полосы пропадают.
cjayho
QUOTE (DRKIP @ 26.08.2019, 21:56) *
И эта проблема всегда была на R2 на всех шейдерах ТЧ.


Ssao ни на каких рендерах ТЧ не было кроме кода sky4CE из его мода skygraphics, и этот код потом перекочевал в чн и зп.
Было немало случаев когда ПЫС тащили код из модов. Например динамическую погоду авторства xStream.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.