Пост эффекты и depth buffer.

Шейдеры и все-все-все.

Пост эффекты и depth buffer.

Сообщение kripto289 07 авг 2016, 01:53

У меня есть есть постэффект, на подобии этой темы https://habrahabr.ru/post/282604/

Я создаю отдельный слой "Distort", в него помещаю частицы с текстурками нормалей.
Создаю камеру которая видит только этот слой и заливаю всё синим цветом.
Постэффектом искажаю экран на основе этой текстуры.
Теперь суть проблемы. Этот постэффект не учитывая z сортировку, поэтому искажение видно даже сквозь стены. Игрался с буфером глубины, но не смог разобраться почему буфер чёрный.
Аватара пользователя
kripto289
UNIверсал
 
Сообщения: 476
Зарегистрирован: 30 сен 2013, 03:30
Откуда: Екатеринбург
  • Сайт

Re: Пост эффекты и depth buffer.

Сообщение kripto289 08 авг 2016, 00:35

kripto289 писал(а):У меня есть есть постэффект, на подобии этой темы https://habrahabr.ru/post/282604/

Я создаю отдельный слой "Distort", в него помещаю частицы с текстурками нормалей.
Создаю камеру которая видит только этот слой и заливаю всё синим цветом.
Постэффектом искажаю экран на основе этой текстуры.
Теперь суть проблемы. Этот постэффект не учитывая z сортировку, поэтому искажение видно даже сквозь стены. Игрался с буфером глубины, но не смог разобраться почему буфер чёрный.

Сам спросил, сам нашёл.

float sceneZ = LinearEyeDepth (SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)));
float partZ = i.projPos.z;
float zalpha = saturate((sceneZ - partZ + 1e-2f)*10000);
...
return float4(color.rgb, color.a * zalpha);
Аватара пользователя
kripto289
UNIверсал
 
Сообщения: 476
Зарегистрирован: 30 сен 2013, 03:30
Откуда: Екатеринбург
  • Сайт


Вернуться в Shader Lab

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5