Estou escrevendo um pequeno mecanismo isométrico 2D em C ++ e estou tentando implementar a projeção de sombras em tempo real. Eu segui uma abordagem simples descrita nesta página e aqui está o resultado (a luz está localizada na mesma posição que o cubo amarelo):
O resultado é muito bom, mas faltam sombras nas paredes e no topo dos cubos. Aqui está um exemplo de como deve ser (desenhei as sombras esperadas em verde):
Todos os cubos desenhados são feitos simplesmente de 3 quadríceps 2D, localizados na posição XY e com uma profundidade Z (z = x + y). Eu uso o OpenGL com uma matriz ortográfica (glOrtho). As sombras são desenhadas usando o buffer de estêncil.
Estou procurando recursos ou soluções que me ajudem a concluir essa implementação de sombra projetada.
Muito obrigado!