Pesquisei na net por recursos relacionados à renderização de um efeito bloom usando GLSL, mas não encontrei nada. Embora o tutorial no site de Philip Rideout seja bom, ele tem um desempenho muito ruim na minha GPU Nvidia.
Alguém pode me orientar sobre como devo abordar esse problema e criar uma implementação bastante eficiente de um efeito bloom?
Respostas:
Como Trevor mencionou em seu comentário, sua única opção pode ser reduzir o tamanho do seu kernel ou realizar mais downsampling.
Mas você leu completamente o tutorial ao qual vinculou? Há uma dica sobre a exploração da filtragem de hardware, que o autor chama de versão "sorrateira". É provavelmente o melhor truque que você pode usar para otimizar o efeito de floração sem afetar sua qualidade.
fonte
Resolvi um problema muito semelhante (embaçamento, mas o filtro de floração está manchando) com duas passagens.
Na primeira passagem, desfoquei na direção X e, na segunda passagem, desfoquei na direção Y.
Não sei de onde eu tenho esse truque, mas reduz a complexidade do tempo de n² para 2n.
Isso funciona apenas para kernels que não têm nenhuma direção (então você não pode otimizar um bokeh bokeh dessa maneira).
fonte