Что я хочу (в основном) так же, как «суммировать все пиксели изображения». Однако кажется, что это невозможно достичь с помощью шейдера (я думаю, именно поэтому я прошу ;-)):Вычисление Pixel Bender по всем пикселам
Я хочу передать изображение + параметр «деревья» и проверить каждый пиксель изображение, если этот пиксель (R, G, B) IS находится в позиции (R +/-, G +/-, B +/-).
Операция IS IN в порядке, ничего сложного.
Дело в том, что мне нужен SUM всего пикселя (счет), который сделал это на изображении.
Идея использования шейдеров сводит к минимуму этот расчет, потому что в CPU очень дорого (кроме того, мы должны повторять эту какуляцию несколько раз).
Одна идея состоит в том, чтобы выставить вектор (0,0,0), если пиксель не достигнет и (1,0,0), если пиксель достигнет, а затем в программном обеспечении суммирует весь первый канал.
Даже если это происходит быстрее, используя только программное обеспечение, мы по-прежнему перемещаем изображение NXM для суммы.
Другой способ (не так точно) - сделать это для (например) 10 соседних пикселей (и опускать вычисление, если «im сосед»). . Затем мы будем суммировать массив каждые 10 позиций. Мы делаем 10 раз быстрее, однако у нас все еще есть O (N * M).
Кроме того, я считаю, что мы можем использовать что-то вроде этого, но я совершенно не понимаю, как использовать это в Pixel Bender Efficient pixel shader sum of all pixels
Спасибо заранее для любого другого решения.
Это проще сделать с вычислительным шейдером, где вы можете работать с блоками изображения, а затем комбинировать результаты с использованием атомистики. Какую платформу/оборудование вы планируете? – mattnewport
привет, я не понимаю вашего ответа. Мы работаем поверх Flash (pxiel bender), у Flas есть несколько ограничений по пиксельным пикселям, ограниченным импортом, в частности, у вас нет циклов или любой другой структуры управления за пределами «if» и «else», если у нас есть, я могу просто вычислить это с помощью простого для и askinf для «ближайших» пикселей. Спасибо. – voskyc