Novedades del Blog

jueves, 4 de diciembre de 2008

El orden de las entidades....

...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 :)

No hay comentarios:

Publicar un comentario