Vamos a implementar las sombras, y me gustaría escuchar vuestras opiniones. Mi idea es utilizar Shadow Maps, porque son soft y no consumen los recursos de extrusión que consumen las Stencil.
¿Qué opinais vosotros?
teniendo en cuenta que es para los ordenadores de los proximos años y como minimo necesita saders 2 yo creo que deberias ir a por las estencil :)
Teniendo en cuenta que el motor está pensado para ésta y la próxima generacion de aceleradoras me decantaría por los shadow buffers, o sea shadow maps. Por ejemplo John Carmack los utilizará para el próximo motor.
De todas formas, tal vez aún sea un poco prohibitivo para las aceleradoras actuales. Habrá que hacer pruebas y bastantes optimizaciones para no tener que actualizar los shadow maps en cada frame. Sobre todo los de las luces de tipo omni que utilizan un cube map. :huh:
Saludos. :huh:
Como usuario de los stencil-shadows, la implementacion no es para nada facil, incluso la trivial de 3x, me parece mas sencilla la implementaci¡ón del shadow-map y mas flexible.
Saludos.
Hace tiempo dige algo sobre este respecto. Tengo muy poco esperiencia sobre este tema, pero hace ya tiempo cuando decidi tocar esto, despues de buscar imformacion y pensarlo mucho, implemente los shadow volumes por que me parecia algo facil, pero que tira de hard por el stencil buffer (algo que no es problema para vosotros), y despues de hacerlo tengo que decir que esta chupado, vale, reconozco que no me pare en optimizar ni nada de eso, pero sin mucho esfuerzo y en muy poco tiempo, tenia algo ya "visible" que funcionaba bien.
Como punto negativo, el margen de la sombra a donde toca la luz no tiene ni un poco de transicion del claro al oscuro, si bien esto no es menos realista, por que que deberia depender de la luz que proyecta la sombra, pero todo el mundo lo critica <_< <_< .
Lo ultimo que e leido es que existe un metodo que combina ambas tecnicas, y ya que soys tan exquisitos como para pedir shaders 2.0, igual es lo vuestro pero no lo conozco.
Saludos.
UPS! el anterior era yo!!!!!
Yo los shadow maps no los he implementado, asi que poco puedo opinar.
Solo quiero decir que lo que mas me gusto de las sombras stencil, es que solo dependen de la complejidad del objeto que proyecta la sombra y no de donde es proyectada. Siempre me he preguntado si con los shadow maps tb es igual...
por cierto... ¿donde esta la dificultad de implementar las sombras stencil?
al menos la implementacion que yo conozco (la mas cutre) es bien sencilla.... :blink: de hecho me sorprendio gratamente por su sencillez.
El problema de las sombras por Stencil es la extrusión del objeto. La mayoría resuelve el problema haciéndolo por software, sin embargo, la velocidad que se gana al resolverlo por hard es mucho mayor. Pero eso obliga a tener un "duplicado especial" de la malla. Añade a eso el problema de Character Animation por skinning y te aseguro que ya no ves con tan buenos ojos las Stencil Shadows...
Otro problema que tienen es que al extrusionar, atraviesa las paredes y todo lo que tenga por enmedio. Y aunque se puede "gestionar" a nivel de paredes, difícilmente lo podrás comprobar con ventanas y otros objetos que no sean planos.
Y por último el famoso Carmack Reverse está patentado por Creative. :blink:
Vaya.... pos no me sabia todas esas "putaditas".... :(
Respecto al Carmack Reverse; el doble-clic tb esta patentao,... asi que.... q les den.
Ademas, por ahora en Europa estamos a salvo de las patentes (por ahora).
¿Que dificultades de implementacion tienen los shadow maps? Imagino que tendran cosas parecidas a los cube maps, y a los fake dinamic lightmaps, pero nunca los he implementado.... :rolleyes:
Muy buenas,
yo tambien me estaba haciendo esta pregunta y havia optado por los shadow maps ( porque me parecian más sencillos que no tener que extruir la malla ) pero resulta que toda la documentación que he visto utiliza PS 2.0 y com mi GeForce4 no tiran ni pa tras.
Alguien sabe de algun sitio que expliquen como hacerlo con PS < 2.0?
Merci!
CitarAlguien sabe de algun sitio que expliquen como hacerlo con PS < 2.0?
http://www.ronfrazier.net/apparition/index...ow_mapping.htmlSaludos
El artículo tiene muy buena pinta, muchas gracias.
El tema es que lo necesitaria en DirectX.
Gracias!
la opinión de un grafo(q la da aunque no deba)
odio cuando tooodas las sombras tienen bordes duros. Lo odiaba con ciertos viejos raytracers...
en max, tienes shadow maps, que suelen ser muchísimo más rápidos que raytraced shadows o area shadows.(edit--y mental ray shadows, y...)
Imagino que lo de los nombres es pura coincidencia.
pero os lo dice un pintor al óleo: una sombra tiene que tener un cierto grado de transparencia, y los bordes...un grado de suavidad/difuminado/transición...a veces recortado (ie: sombras del sol, pero ni aún así...siempre le afecta algo, una luz de rebote, et )
Los shadow maps que conozco en las aplicaciones 3d, al menos suelen tener estos bordes suaves, normalmente, las raytraced no..(es lo que aquí llamays stencil? ) y es poco realista. Es muy precisa la proyección, pero eso, cuando se permite un efectod e difuminado de bordes, el realismo es mayor, y mucho más, con una transparencia de sombra...y ni te cuento cuando incluso...puedes variar el nivel de sombra dependiendo de la distancia/zona. Por ejemplo, un cahcarro proyecta una sombra que es más oscura cercana a la base, y se aclara según se aleja. A veces, se vuelve a oscurece segun nos alejamos del centro de la sombra, otras veces, se aclara hasta perderse con la zona sin sombra.Es de hecho muy corriente. Pero que salvo en la luna y sitios así, las sombras no son tan...duras.
Obviamente la variación de transparencia dentro de la misma sombra, ya es mucho pedir, y más un detalle interesante que otra cosa. Tb llega incluso a variar de color, y muchas sombras tienen un levísimo matiz azulado, depende mucho de la luz que la proyecte, los colores de objetos de alrededdor, etc..pero ya nos metemos en radiosity...todo llegará , pero todavía es pronto.
Por ahora, me conformaría con que la mayoría de los juegos proyectaran una forma acorde más o menos con lo que proyecta la sombra, que se pueda proyectar tb en paredes, etc, y ...que tenga los bordes suaves! Igual esto no es posible, pero quería hacer mi típico comentario ignorante.
No he visto HL2 ni doom3, así que no sé como se enfrentan a esto.
Lo has clavao Donald, en el Doom 3 las luces dinámicas crean sombras con bordes afilados como cuchillos, y a pesar de la precisión de las sombras proyectadas, precisamente por esa precisión resultan de lo más irreal.
CitarEl tema es que lo necesitaria en DirectX.
Despues de postearlo me puse a pensar ...
http://www.paulsprojects.net/direct3d/shad.../shadowmap.htmlSaludos
Eres mi idolo tio!
Soy solo yo o la demo va lentilla?
Adéu!
Donald, si por pedir que no quede, otra cosa es que el hardware lo permita ;)