Разрешение шейдера.
Добавлено:
23 авг 2016, 01:41
O4karitO
Добрый вечер, возникла следующая проблема. Имеется группа шейдеров с процедурно генерируемой картинкой, то есть нет входных текстур, изображение создаётся за счет мат. операций в frag функции. Шейдеры прекрасно справлялись со своей задачей. Но при разработке под Vr производительность просела, что ожидаемо. Вопрос в следующем - возможно ли ограничить "разрешение" шейдера, чтобы расчёт проводился лишь для некоторых пикселей, а значения между ними интерполировались примерно как интерполируются значения между вершинами( если расчёты ведутся в vert функции)?
Сейчас разбил на 2 шейдера, в одном все считаю и через Graphics.blit рендерю в текстуру нужного разрешения, которую потом использую.
Возможно есть более элегантное решение?
Спасибо.
Re: Разрешение шейдера.
Добавлено:
23 авг 2016, 07:43
jetyb
Но при разработке под Vr производительность просела, что ожидаемо. Вопрос в следующем - возможно ли ограничить "разрешение" шейдера, чтобы расчёт проводился лишь для некоторых пикселей, а значения между ними интерполировались примерно как интерполируются значения между вершинами
В таком понимании этого сделать нельзя.
Можно разве что поставить вершины в модели почаще, тяжелые рассчеты перенести в вершинный шейдер, а в пиксельном все интерполировать.
Re: Разрешение шейдера.
Добавлено:
23 авг 2016, 09:43
bojlahg
делай рендер в RenderTexture с низким разрешением, а потом эту картинку используй где надо.
Re: Разрешение шейдера.
Добавлено:
23 авг 2016, 15:25
jetyb
discard ничего не пишет, а ТС надо возвращать интерполированный результат, да еще и по соседним пикселям
Re: Разрешение шейдера.
Добавлено:
23 авг 2016, 19:13
kripto289
jetyb писал(а):discard ничего не пишет, а ТС надо возвращать интерполированный результат, да еще и по соседним пикселям
Ну да, пропустил этот момент.
Тогда может поможет геометрический шейдер или тесселяция? Создавать дополнительные вершины и там проводить расчёт? С тесселяцией вообще можно контролировать кол-во полигонов, как разрешение.
Re: Разрешение шейдера.
Добавлено:
26 авг 2016, 21:16
O4karitO
Всем спасибо за ответы, после оптимизации рендер в текстуру дает приемлемые результаты