Estou usando o libGDX para um jogo Android; Até onde eu sei, ele não tem uma API para desfocar.
Lendo na Wikipedia, parece que o desfoque é formado pela configuração dos valores RGB de cada pixel na média de todos os valores adjacentes. O que não parece fácil na libGDX - configuração de dados de pixel.
Então, minha pergunta é simples:
É possível falsificar (um decente) desfoque usando apenas imagens?
Posso potencialmente sobrepor várias imagens (em número, transparência, tipo); mas posso criar um borrão convincente como esse?
Estou tentado a dizer "não", mas talvez alguém tenha conseguido algo semelhante. Para maior clareza, quero um conjunto de mais de 1 imagens genéricas que eu possa render sobre QUALQUER imagem para gerar um efeito de desfoque.
fonte
Respostas:
Se você conseguir mesclar imagens de forma aditiva e multiplicá-las por uma constante enquanto faz isso, poderá fazer um desfoque. Em vez de calcular a média dos pixels em uma vizinhança, você calcula a média de várias cópias da imagem deslocadas por um pequeno número de pixels. Ou, geralmente, você pode fazer um desfoque gaussiano ou qualquer outro tipo de desfoque, controlando os pesos - isto é, multiplicando cada cópia deslocada da imagem por uma constante, à medida que ela é adicionada ao resto.
Algoritmicamente, seria algo parecido com isto:
Você usaria os mesmos deslocamentos e pesos da maneira padrão de fazer um desfoque. Existem muitos artigos na Web sobre como gerar os pesos de um desfoque gaussiano, por exemplo.
fonte
O desfoque pode ser uma operação cara, talvez uma abordagem diferente possa funcionar, por exemplo:
fonte