A maneira como eu crio sombras é pela seguinte técnica: http://www.catalinzima.com/2010/07/my-technique-for-the-shader-based-dynamic-2d-shadows/
Mas eu tenho perguntas para o HLSL. Do jeito que eu faço atualmente, tenho uma imagem em preto e branco, onde Preto significa 'objeto' e branco significa 'nada'. Então distorço a imagem como no tutorial. Faço isso com um sombreador de pixels, mas em vez de renderizar na tela, renderizo para uma textura, de volta ao meu aplicativo. Então pego isso, crio as sombras e depois a envio de volta à placa gráfica para desfazer a distorção, depois que a sombra é adicionada - isso volta e eu tenho um estêncil de sombra. Eu posso colocar isso na parte superior da imagem original e enviá-los de volta para a placa gráfica, que os coloca na tela.
Para mim, isso é um monte de idas e vindas. Existe uma maneira de evitar isso?
O problema que estou tendo é que preciso basicamente percorrer todas as posições na textura três vezes e usar a nova nova textura todas as vezes, em vez da original. Tentei ler os passes, mas não acho que estou indo na direção certa.
Socorro?