Eu tenho um ambiente 2D completo, com sprites circulando como paisagem, personagens etc.
Para torná-lo mais moderno, quero implementar um efeito de desfoque de movimento, semelhante aos jogos modernos de FPS (ou seja, Crysis), ao mover a câmera rapidamente.
Em um controle lateral, o efeito desejado é fazer com que esse leve desfoque apareça para dar a idéia de movimento rápido quando a câmera estiver em movimento. Se alguém pudesse me dar algumas dicas sobre como fazer isso, estou assumindo que em um pixel shader, ficaria agradecido.
Respostas:
Mantenha uma cópia do último buffer de moldura. Obtenha o vetor de movimento da câmera e inverta-o. Desenhe sua cena como de costume, depois desenhe o último buffer de moldura com um pequeno deslocamento (o delta da câmera que você acabou de calcular) e 0,75 alfa. Repita quantas vezes quiser para dar o efeito de desfoque de movimento.
fonte
Eu recomendaria usar este método: Motion Blur como um efeito de pós-processamento
Muito simples de implementar, é o que eu usei na minha demo glsl Ruin island [link]
fonte