Novedades del Blog

miércoles, 29 de octubre de 2008

Modificaciones en la estructura

Llevo unos dias reestructurando el codigo para implementar Shaders de la forma mas generica posible y que se me ocurre, como todavia no se el alcance de la potencia de estos, he intentado crear una estructura lo mas abierta posible.

La primera idea que se me ocurrio era crear una interface Effect con las cosas comunes que tienen todos los efectos (tecnica, nombre de fichero,etc...) y crear clases derivadas de esta para cada efecto a implementar.
Entonces descubri que para hacer el ShadowMapping hacia falta dos efectos, uno que crea la textura ShadowMap y otro efecto que usa esa textura para pintar la escena.
Asi que al final he implementado una clase Shader, la cual almacena los efectos necesarios para crear ese Shader.

Cuando llamo al metodo que pinta el mundo, este llama al metodo de pintado de la Habitacion, este a su vez llama al metodo de pintado de los Shaders que se van a aplicar a la escena, por cada Shader se llama al metodo de pintado de cada Efecto del Shader, por cada Efecto se llama al metodo de pintado de cada Entidad y este a su vez llama al metodo de pintado del Componente que indica si una entidad se pinta o no y al final se pintan las mallas... Jajaja, si ya se que esto es un lio por eso pongo la imagen a continuación que puede aclarar un poco las cosas:



Cualquier duda que tengais no dudeis en poner un comentario y os respondere lo mas rapidamente posible.

No hay comentarios:

Publicar un comentario