Могу ли я использовать MainCamera Depth в шейдере, который работает с заменой на второй камере в Unity3D? - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь сэмплировать глубину основной камеры с помощью _CameraDepthTexture в шейдере замены второй камеры. Но это, похоже, не работает, буфер глубины всегда равен 1. Шейдер замещения не выполняет никаких записей. Моя вторая камера выполняет рендеринг текстуры. Я включил режим глубины текстуры для основной камеры и отключил его для дополнительной камеры.

Внутри вершинного шейдера я использую o.projPos = ComputeScreenPos (o.pos) для вычисления координат выборки текстур в пространстве экрана.

Фрагмент шейдера выглядит так:

float depth = Linear01Depth (tex2Dproj(_CameraDepthTexture, 
UNITY_PROJ_COORD(i.projPos)).r);
half4 c;
c.r = depth;
c.g = depth;
c.b = depth;
c.a = 1;

return c;

Должен ли я получить доступ к DepthTexture основной камеры?

С уважением

Florian

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