Посчитайте что-нибудь в Unity Shader и выведите в скрипт - PullRequest
0 голосов
/ 14 декабря 2018

В последнее время я хочу сделать некоторую обработку изображений в Unity с Unity Shader.

Есть задача подсчитать что-то по пикселям.Например, подсчитайте количество всех черных пикселей на изображении и выведите это число в сценарий.

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

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

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

0 голосов
/ 14 декабря 2018

Фрагментные (пиксельные) шейдеры не могут получить доступ к каким-либо значениям из других фрагментов, поскольку они, по сути, работают параллельно, поэтому нет возможности доступа к той же переменной (т. Е. Кадрированию пикселей), даже если вы хорошо сохраните выходное значение кактекстура.

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