21 de octubre de 2008

Culo inquieto

Si hay alguien que sigue aunque sea un poco este blog, ya se habrá dado cuenta de que mi capacidad de mantener mi atención sobre algo durante períodos medianamente prolongados de tiempo es... limitada, por decirlo de alguna manera. Y para demostrarlo, aquí está la entrada de hoy.

Todavía no he acabo de dejar lista las sombras omnidireccionales, que ya me han entrado ganas de probar otra cosa. La idea la he sacado de un juego de PS3 llamado Valkyria Chronicles. El juego en sí no me llama un carajo, pero usa un estilo de cell-shading que me gustó mucho la primera vez que lo vi. Tiene la peculiaridad de que las zonas sombreadas tienen un efecto de esbozo a lápiz que me resultó interesante, y no sé porqué hoy me ha dado por probarlo. Todavía no está acabado ni de lejos (sólo le he podido dedicar un rato), pero he avanzado lo suficiente como para tener ganas de seguir cuanto antes! ^^

17 de octubre de 2008

Vuelven los videos!

Primero, lo bonito (o lo que yo espero que sea bonito :P):



Y entonces, qué es lo feo? Bueno, realmente el ejemplo en teoría ya está, pero en vez de una esfera blanca cutre para representar el punto de luz, quería poner algún modelo interesante, en concreto quería usar el siguiente:


Por si no se conoce, es un Lost Soul de DooM 3. Podría añadirlo fácilmente con el importer de Rubén, y como tiene una llama de fuego por detrás queda bastante bien en la escena. Pero no se porqué sólo carga las mandíbulas y no el modelo entero, así que voy a tener que buscar una alternativa (quizás un Forgotten del Resurrection of Evil, pero ahora no lo tengo a mano).

En fin, que ya sólo queda afinarlo un poco para poderlo subir. Próximamente más!

15 de octubre de 2008

Sacando de donde no hay

Pese al curro, el master y los asuntos personales, he conseguido encontrar algo de tiempo para esto:

Quizás no se ve demasiado bien en la tira de fotos, pero se trata de shadow mapping omnidireccional. Ahora mismo lo tengo en fase de "dejar bonito", pero lo básico ya está implementado y funcionando "perfectamente" (tiene algunos fallos propios del tipo de técnica usada, ya entraré en detalles en otro momento).

Ahora voy a tener algo de trabajo extra, pero espero tenerlo listo para el fin de semana. ^^

29 de septiembre de 2008

Ya queda menos...

Para que empiece lo bueno. Creo que el bajón de novedades y trabajo en general se ha notado (el trabajo no remunerado, por supuesto), y no estoy seguro de poder recuperar completamente el ritmo en unos días... Después de las vacaciones la carga de curro ha sido bastante espectacular, y la próxima semana ya comienza el master de videojuegos que cursaré durante el resto del año y gran parte del que viene, así que voy a estar realmente ocupado... En fin, a ver qué tal lo llevo, pero más vale que disfrute estos días "tranquilos" porque lo que se avecina va a ser durillo.

Aún así ha habido algunas novedades, como que hace unos días salió la versión beta de XNA 3.0, con interesantes novedades como un soporte mucho más currado del formato FBX (ahora acepta múltiples texturas por modelo, por ejemplo) y nuevos añadidos a las clases de tratamiento de sonido que se presentaron en la CTP. Una de las cosas más interesantes es la función GetVisualizationData, que permite obtener en tiempo real información de la frecuencia y los samples de la música que esté sonando en ese momento desde el nuevo MediaPlayer (la clase del framework, no el programa obviamente xD). Hace un par de días me puse 5 minutos y me monté una chorrada como ésta:

En realidad no es nada, simplemente he puesto de manera visual lo que devuelve esta función, pero sería muy interesante estudiar qué cosas se podrían llegar a hacer (en concreto juegos que se adapten a la música, que era algo que he querido probar desde hace mucho tiempo). Yo no entiendo mucho de sonido, pero si algun día tengo un rato (sigh) le echaré un vistazo.

11 de septiembre de 2008

Forzando la máquina

Estos han sido unos días duros y tremendamente divertidos a la vez. La semana que viene pillo vacaciones (esta vez un poco más decentes, no cuatro míseros días) y en el curro se están encargando de recordarme cada día porqué debo tener ganas de pillarlas. Y claro, después de estar toda la semana encerrado te dan ganas de liarla por ahí y olvidarte un poco de todo, así que el fin de semana pasado me fui a las fiestas de Barbastro (que por cierto son tremendas, nadie debería perdérselas) y ahora en vacaciones me iré una semanita a Suecia a pasar frío y estar bien lejos.

Pero bueno, no he estado completamente parado. He afinado un poco el tema de las nubes (intentaré subirlo antes de irme, quizás mañana o pasado) y he tocado alguna cosilla de Arles aquí y allá. Javi ha mejorado mucho el tema de la gestión de la escena y yo he añadido unas estadísticas de rendimiento para el render del editor, aparte de la posibilidad de quitar la limitación de frames por segundo típica de XNA.


Como Rubén está terminando su juego para el BDP y yo me piro por ahí, este tema estará bastante parado un tiempo, pero ya se irán haciendo cosas.

4 de septiembre de 2008

¿ A qué huelen las nubes?

A Perlin noise! Ya están medio terminadas, y este es el aspecto que lucen:



Se puede modificar la velocidad de las nubes, su densidad, la cantidad de superficie que ocupan... y próximamente la dirección.

Al principio iba a usar simplex noise (una modificación del perlin noise "clásico" que en teoría da más calidad de imagen), pero el shader era algo más lento y personalmente me gustaba menos cómo quedaba (en la imagen del post anterior se ve este tipo de función). Total, que se ha quedado el perlin de toda la vida y ya da el resultado deseado.

También había pensado calcular un normal map a partir del "heightmap" que se genera y así iluminar de forma más molona las nubes, pero por ahora lo he descartado porque no sé si valdrá la pena la pérdida de rendimiento que se sufriría.

Lo siguiente debería ser algo más volumétrico...

2 de septiembre de 2008

Presentando Arles

Alguna vez lo he comentado, pero hasta ahora no había enseñado (y en la página del proyecto en Google Code tampoco se ve nada). Éste es el aspecto que tiene actualmente el editor de terrenos en el que están trabajando los coordinadores de XNACommunity, Arles:


Por ahora todo es muy, muy básico, pero hay algunas cosas de interfaz interesantes ya implementadas (como la posibilidad de relizar 'Deshacer'/'Rehacer') y ya está prácticamente integrado del todo mi último skydome con atmospheric scattering.

Se avanza poco a poco porque lo hacemos en los ratos libres (que por ejemplo en mi caso son escasos), pero seguro que acaba siendo algo interesante. En la parte derecha del blog hay un link a la web del proyecto, donde ya se puede consultar el código y trastear con él.

Y aprovechando que se habla de Arles, he estado un par de días mirando una manera sencilla de simular otro efecto atmosférico, las nubes. La idea era usar un método sencillo y sobre todo rápido para representarlas sin entrar en soluciones mucho más costosas como nubes volumétricas y cosas por el estilo. Un primer intento ha dado este resultado:


Es una primera prueba y no he "tuneado" valores, pero aunque no se ve en la foto, en movimiento queda bastante curioso. Lo malo es que he notado bastante la diferencia de rendimiento, así que tendré que probar más a fondo si realmente vale la pena. No sé, quizás incluso monto un ejemplo de esto...