Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Sombras En Engines Modernos

Iniciado por tiutiu, 03 de Enero de 2006, 06:41:58 PM

« anterior - próximo »

AK47

 Bueno, aun sin pixel shaders puedes hacer sombras sin recurrir a extrusiones muy caras o discos en el suelo: coges cada objeto que lance sombra, renderizarlo a un render target y proyectarlo en el suelo. No tiene self shadowing y no lanza sombra sobre todo, pero da el pego :)

er_willy

 in my opinion si va ha hacer un motor de proposito general pon las dos, si no lo que deberias preguntarte el objetivo de la gente que va a usarlo.


los Shadow volumes van bien sobretodo en sitios oscuros con pocos modelos, y muchos polys, y recuerda que es un come framerate de cojones.

Si no es asi a tirar, de Shadow mapping.





tiutiu

 Sip, despues de leer un monton de cosas he llegado a esa conclusion. Los Shadow Volumes estan bien para escenas de interior en las que no se ven demasiados modelos que proyecten sombras. Da sombras bastante detalladas aunque hacerlas suaves es dificil (no se hasta que punto estan desarrolladas las soft shadows con shadow volumes). Para todo lo demas, Shadow Maps son la solucion (TSM o LiSPSM con filtrado).

Definitivamente implementare shadow maps en mi proyecto, puesto que los escenarios son de exteriores y puede haber muchos modelos lanzando sombras.
b>:: Pandora's Box project ::
Notas e ideas sobre desarrollo de engines para juegos

Marci

 Yo estaba intentando incorporar Shadow Volumes en un engine. Pero siempre gripo en el cálculo de la silueta. (nooo) Por más vueltas que le doy no voy más alla de tirar de CPU para:

Suponiendo que ya tenemos calculada la normal de cada triangulo del modelo.
1. Recorrer todos los triangulos para averiguar si está iluminado (ángulo entre la normal y el rayo de luz).
2. Si el triangulo está iluminado buscar todos los vecinos.
3. Si el vecino no está iluminado añadir el lado común a la silueta.

Una animalada. Ahora mismo estoy haciendolo para cade frame y me bajan los fps...

La mejora obvia es calcular la silueta solo si se mueve el objeto o la luz, pero se os ocurre alguna manera de acelerar el calculo de la silueta usando OpenGL.


Marci

 Bueno, he encontrado esto:
http://www.geocities.com/tom_j_hall/
Es un sistema para calcular las siluetas basandose en la informacion de la silueta del frame anterior.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.