У меня фиксированный размер frame buffer
(1200x720 RGBA, эффективно преобразованный из YUV) в массив байтов Java.
Я бы хотел установить определенный оттенок цвета (в моем случае белый, независимо от его альфа-значения) на полностью прозрачный.
В настоящее время я делаю это с помощью процессора, обходя массив байтов и обнуляя пиксель, если RGB > 0xC8
. Это несколько работает, но, очевидно, очень медленно (> 1 сек / кадр) для этого в прямом эфире.
Я исследовал способы сделать это с помощью GPU/OpenGL
на Android, и я вижу упоминания об альфа-тестировании, смешивании и цветовом наборе. Кажется, что альфа-тест здесь бесполезен, поскольку он опирается на альфа-информацию, а не на значения RGB.
Есть идеи, как сделать это на Android с помощью OpenGL / Java?