Estoy escribiendo un pequeño motor isométrico 2d en C ++ y estoy tratando de implementar la proyección de sombras en tiempo real. Seguí un enfoque simple descrito en esta página y aquí está el resultado (la luz se encuentra en la misma posición que el cubo amarillo):
El resultado es muy bueno, pero faltan sombras en las paredes y en la parte superior de los cubos. Aquí hay un ejemplo de cómo debería verse (he dibujado las sombras esperadas en verde):
Todos los cubos dibujados están hechos simplemente de 3 quads 2D ubicados en una posición XY y con una profundidad Z (z = x + y). Yo uso OpenGL con una matriz ortográfica (glOrtho). Las sombras se dibujan utilizando el búfer de la plantilla.
Estoy buscando recursos o soluciones que me ayuden a completar esta implementación de casting de sombras.
¡Muchas gracias!