› Foros › Multiplataforma › General
GR SteveSteve escribió:La verdad es que es un tema muy complejo, lo mejor que se puede hacer para intentar comprenderlo mejor es coger un juego que tenga esta opción en activar/desactivar y ver qué diferencias hay en distintos momentos del juego.
Por ponerte un ejemplo, creo que en Return To Castle Wolfenstein se puede desactivar (entre otros muchos factores), y uno de los efectos que cambia es al disparar algunas armas:
-Con la iluminación dinámica activada, al disparar el arma el fogonazo ilumina tu ropa, la de los personajes cercanos y el entorno cercano, en general.
-Con la iluminación estática, sólo ves el efecto del disparo, pero no cambia la iluminación alrededor.
Luego si eso busco mejores ejemplos y con pics
Hermes escribió:
Luego se "envuelven" los objetos con dicha textura y mediante una operación especial de dibujo, se mira si un pixel visible en escena coincide con un pixel "iluminado" en el Stencil buffer y si no es así, se le aplica "sombra". Por cierto, la causa de ese dentado que veis en ciertas capturas, se debe al uso de una textura para la sombra. Y los fallos de sombra que desaparece de repente, se debe a que el objeto se posiciona por detrás de la fuente de luz (lo cual es lo mismo que decir que detrás de la cámara que hemos usado para "filmar" el mapa de sombra)
IridiumArkangel escribió: Ein!? Se usan texturas para las sombras!? Me acabas de dejar a cuadros... Que "mejora" acarrea hacer eso? Por que el "dentado" no keda muy bien que digamos...
truefranco escribió:Un ejemplo claro de iluminacion dinamica en Orange Box
http://files.filefront.com/Dynamic+Ligh ... einfo.html
Decir tambien que en el caso de Gear of War 2 la iluminacion dinamica esta limitada a esenas como la del tunel alumbrado por el camion ,y por ejemplo a la del robosito bolador ese haciendo de linterna en la fase que hay que bolar la puerta con la carga explosiva, en esos 2 casos al menos se puede apreciar bien que las sombras son generadas por la luz emitida del camion y el robot, no siendo asi en la luz emitida por los disparos que no generan sombras.
Acepto que alguien me corrija si me equivoco sin nesesidad de insinuar que soy un ignorante
filetefrito escribió:Hermes one question, no se supone que precisamente, la ventaja de usar stencil shadows es precisamente que no pixela?Y que se proyecta mucho mejor en angulos muy pronunciados? De hecho, no se supone que para pixelar, e angulo de los bordes del objeto a proyectar, con respecto al foco de la luz debiera de ser enorme?
Hermes escribió:filetefrito escribió:Hermes one question, no se supone que precisamente, la ventaja de usar stencil shadows es precisamente que no pixela?Y que se proyecta mucho mejor en angulos muy pronunciados? De hecho, no se supone que para pixelar, e angulo de los bordes del objeto a proyectar, con respecto al foco de la luz debiera de ser enorme?
Creo que te refieres al uso de "prismas" (sombras volumétricas), que es la tecnica que se usaba en los ejemplos de DirectX7 u 8 (o en ambos, que no recuerdo bien )
En ese caso no se pixela, pero por cada triangulo, tienes que generar un prisma que representa la proyección del triangulo y eso chupa mucho... (por cada triangulo del objeto, unos 8 triangulos: 3 paredes y un suelo, por así decir)
El pixelamiento de la sombra, se produce por el efecto de amplificación con la distancia, que en el caso de la proyección en textura es justo al revés.
Me explico más claro: si tu pones tu mano ante la luz de un proyector, tu mano se ve amplificada en la pared. Es decir, con la distancia, la sombra de tu mano se amplifica. Si ahora esa luz es el sol, y está justo encima de tu cabeza, tu sombra estará bajo tus pies y será muy pequeña. A medida que el sol desciende en el horizonte, tu sombra se va alargando de forma similar al ejemplo del proyector y la mano ¿Ok?.
Pues simplemente con este efecto, si a tu objeto se aplica una textura-sombra (o mediante Stencil) está claro que según se vaya alargando tu sombra, se ira pixelando debido a la falta de detalle.
¿Por que? Pues porque en el Stencil tendría la proyección desde el punto de luz y la textura se aplica mediante una transformación que situa la textura desde la vista de luz a la vista de proyección que tu aprecias en la pantalla.
Pero encima este sistema tiene un defecto añadido y es que cuando proyectas los objetos desde el punto de luz, según se van alejando van reduciendo el tamaño (proyección en perspectiva), lo que hace que por un lado, el objeto sombra tenga menos pixeles de detalle a la hora de superponer, pero al mismo tiempo, es necesario porque si no, imaginando que el sol estuviera detras de un objeto que tuvieramos en frente, no se vería la sombra amplificada hacia la direccion en la que está la camara.
Vamos que esto que es tan lioso se resume así: los objetos lejanos con respecto a la luz, su silueta tendrá menos pixeles que si está en primer plano debido a la proyección.
Y por otro lado, al proyectar, el efecto de amplificación que se produce según el angulo de incidencia de la luz, produce que un pixel de sombra, tape más píxeles en la proyección final.
filetefrito escribió:Yo es que las sombras volumetricas ( shadow volumes), las consideraba asociadas siempre al stencil buffer, y las shadow maps a la "otra forma" de calcular sombra, que nunca recuerco cual es.
Hermes escribió:filetefrito escribió:Yo es que las sombras volumetricas ( shadow volumes), las consideraba asociadas siempre al stencil buffer, y las shadow maps a la "otra forma" de calcular sombra, que nunca recuerco cual es.
Es que hay muchos métodos: algunos utilizan el BufferZ, yo el Stencil buffer no lo he empleado nunca para la tecnica que describo, pero posible es. En PS2 creo que se usaba esta tecnica tirando de Buffer Alpha (y aquí el Alpha operaba como un Stencil buffer)
Date cuenta que lo importante no es exactamente como se aplica, si no conocer cómo funciona la técnica que basicamente es: proyectar desde el punto de luz dibujando referencias a los objetos, calcular la matriz de aplicación con respecto a la vista de la escena y luego aplicar el mapa de forma que ilumine solo lo que coincida al transformar con un pixel del mapa de sombra que tenga la misma referencia que el objeto.
Solo los metodos que usan algun tipo de mapa de sombra (sea textura, bufferZ, Stencil o Alpha) pueden pixelarse.
filetefrito escribió:Pero si shadow volumes utiliza el buffer stencil....Y no pixela ( o apenas lo hace, teniendo que acercarse mucho a una sombra para verla pixelada, y teniendo que tener un angulo bastante abierto para que ocurra), no?
filetefrito escribió:Y las shadow maps, no se supone que pixelan mas o menos sobre todo dependiendo de la resolucion que se usen para los mapas de sombras?
Hermes escribió:filetefrito escribió:Pero si shadow volumes utiliza el buffer stencil....Y no pixela ( o apenas lo hace, teniendo que acercarse mucho a una sombra para verla pixelada, y teniendo que tener un angulo bastante abierto para que ocurra), no?
Porque en este caso, la tecnica es completamente diferente y se basa mas en calculo geométrico: ya te he explicado que aquí se dibuja un prisma que representa la proyección de la sombra con una determinada longitud (lo que equivale que en vez de un triangulo, se dibujan 8, como te he dicho: el triangulo de origen, 2 para cada pared (lado proyectado) y otro para el "suelo"). Además del número de triangulos, cuenta tambien el pedazo de tamaño que pueden tener. En la pagina esa que has puesto, fijate en los halos amarillos que representan las paredes. El Prisma se calcula proyectando una línea desde el punto de luz al vertice del triangulo, extendiéndola una distancia razonable (para que alcance de sobra al suelo, pared o lo que sea) para obtener los nuevos vértices que formarán el volumen. Y eso solo sirve para delimitar que pixeles de los triangulos se veran sombreados o no.
El caso es que es la tecnica que mas potencia chupa, claramente.filetefrito escribió:Y las shadow maps, no se supone que pixelan mas o menos sobre todo dependiendo de la resolucion que se usen para los mapas de sombras?
Si, eso es: segun el tamaño que tengan, el detalle (distancia) con el que se rendericen y el efecto de amplificación debido a la distancia/angulo de incidencia de la luz. Si no se pixela de forma incómoda, el resultado es igual de bueno que con los volúmenes, solo que mucho mas rápido.
Hermes escribió:IridiumArkangel escribió: Ein!? Se usan texturas para las sombras!? Me acabas de dejar a cuadros... Que "mejora" acarrea hacer eso? Por que el "dentado" no keda muy bien que digamos...
Se usan texturas o Stencil Buffer en el caso que lo soporte (en mi ejemplo de Wii es una textura con indice de color de 8 bits que luego se opera configurando el hardware para conseguir el efecto que se ve. Vamos que es equivalente a un Stencil Buffer solo que requiere capturar) pero en ambos casos, el problema es el mismo: la sombra se captura en un tamaño finito, por lo que si el angulo de incidencia de la luz amplifica mucho cada punto de "sombra", se ven esos cuadraditos.
¿Motivo? Principalmente, la velocidad y que esta técnica permite solapar sombras en los objetos de forma bastante realista.
filetefrito escribió:Bueno, entonces estamos de acuerdo, simplemente el hecho de leerte el uso del buffer stencil con sombras no volumétricas me había descolocado ( aunque ciertamente, recuerdo lo del uso del alpha buffer, y si no recuerdo mal, guerrilla se saca de la manga otro buffer muy curioso para el calculo de sombras utilizando de forma muy particular los spus y sus respectivas memorias).
filetefrito escribió:y si, se que las sombras volumétricas, además, tiran mucho de cpu, pero molan un cojon ( darkness, riddic y doom3 for the win!!!!), y ocupan menos memoria si no me equivoco, no?
Aún así, a mi no me salen las cuentas de los polígonos con las sombras volumétricas, aunque imagino que será fallo mio de comprensión, ya me echare mis cuentas hasta que salgan, jeje.
GR SteveSteve escribió:Gente! Os saco un par de ejemplos para los simples mortales, yo no entiendo todavía todas las palabras técnicas
snake-viper escribió:¿¿que juego es??
IridiumArkangel escribió:GR SteveSteve escribió:Gente! Os saco un par de ejemplos para los simples mortales, yo no entiendo todavía todas las palabras técnicas
Soy yo, o sólo se vé la primera imagen!?
ckroom escribió:Creo que ya entiendo un poco más la cosa, gracias por las respuestas que apañaos sois
lherre escribió:ckroom escribió:Creo que ya entiendo un poco más la cosa, gracias por las respuestas que apañaos sois
Mirate este video porque es bastante interesante, sobre todo porque enseñan los efectos activados y desactivados de la iluminación dinámica, etc
http://www.gamekings.tv/index/videos/mi ... al-part-2/
ffelagund escribió:P.D: Vuelvo a repetir que por que una luz se mueva, no implica iluminacion dinámica
Wence-Kun escribió:Ahora pregunto yo sobre un juego amado y odiado (que no quiero discutir sobre eso)... Shenmue. Este juego... bueno, cuando el personaje principal... o cualquiera de los personajes pasa por un foco de luz... se ilumina y dependiendo si caminas rapido o lento se iluminan ciertas partes de la ropa del personaje.... podría todo es precalculado o tiene algunas luces dinamicas? o la luz está precalculada para cada uno de los personajes al pasar por cada foco y se iluminen las mismas partes fisicas del mismo?