...altera las sombras. He probado a pintar las entidades en orden diferente, es decir, empiezo pintando las entidades mas alejadas de la luz hasta las mas cercanas y he conseguido que se vea bien. El problema consiste en que en entidades que se mueven, este orden cambia
dinamicamente. Esto ocurre porque el
Shadow Mapping se va generando a medida que se van pintando las entidades.
Por ejemplo, si
batman esta a la altura del suelo la primera plataforma se
pintaría antes que
batman ya que este es mas alto y la segunda
después porque esta a la misma o mayor altura. Pero cuando
batman se sube a la primera plataforma se
tendría que pintar primero la plataforma 1, luego la segunda y al final
batman porque subido en la primera es mas alto que la segunda plataforma. En la imagen se puede ver un poco el ejemplo.

Las soluciones que se me han ocurrido han sido 2:
1º Controlar que entidades tienen movimiento y cada vez que se vaya ha hacer un pintado mirar la coordenada 'y' de la entidad para pintarla antes o
después de otra. Esta
solución es un poco
problematica, porque tener que estar preguntando a cada entidad si esta por encima o por debajo de otra con movimiento, seguramente influya negativamente en el
framerate.
2º Pintar toda la escena y generar el
Shadow Mapping a
posteriori con todos los objetos ya en el mundo, en vez de ir
generándolo a la vez que se van pintando en el
buffer. Esta es la
solución mas
óptima, pero
todavía no se como obtener el
Shadow Mapping a
posteriori.
Si alguno de los pocos lectores del foro tiene alguna sugerencia por favor no
dudéis en poner un comentario, os lo
agradeceré eternamente :)