Gelato sombreado

Posted in gelato on March 23rd, 2008

Termina la semana santa y con ella termino también mi primer periodo de estudio de Gelato como renderer basado en REYES. Tampoco han sido tantas horas y especialmente ayer estuve tremendamente espeso, incluso un poco resfriado si me apuráis.

Ha sido duro. La documentación es algo ardua y encontrar recursos es difícil. He tenido algo de suerte y me he dado con este paquete de python dedicado a la computación gráfica: cgkit. Una conveniente casualidad dado que el formato de entrada al render, cuando no se dispone de ficheros programados, es, directamente Python.

Hoy he trabajado un poco con sombras, ficheros intermedios, etc. Os dejo dos fotografías muy sencillas y llenas de artefactos por los cuatro costados[1]

Os dejo el código fuente para que este artículo no esté tan vacío, en particular aquí van dos teteras, una con un error muy curioso y fácil de detectar, y la otra algo mejor compuesta.

artifacted teapot

Los respectivos códigos fuentes los he introducido directamente sobre flickr.

nVidia gelato teapot shadowmap example.

nVidia gelato teapot bogus shadowmap


1. Lo que me jode porque me suena que he leído la solución y no logro recordar dónde.

Recursos gelato

Posted in gelato on March 23rd, 2008

Aprender a usar este motor de render de nVidia está resultando algo más complicado de lo que esperaba. Un buen punto de partida es empezando leyendo el Renderman companion y el Advanced renderman. Ambos son libros de referencia clásicos. Sin embargo Renderman y Gelato tienen sus diferencias y pronto empieza a ser frustrante que algunas funciones nativas de Renderman no estén presentes en gelato, ie: hacer un mapa de entorno, tan común y tan útil.

El paquete instalador contiene algo de documentación. Está bien como curiosidad pero resulta algo corto si se quiere empezar en serio con él. La descripción de las APIs está bien, pero es un modo algo árido de empezar a usar un motor de render. Un link que he encontrado útil a la hora de aprender a usarlo es Gelato Renderer Exercise.

Para poder emplear Gelato sin necesidad (imperiosa) de tener un Maya 8.5 con licencia (ya que la edición Personal Learning aparentemente no sirve) se puede emplear Blender + frappe.

Blender Frappe Interface

Teapot time

Posted in Uncategorized on March 16th, 2008

Una de teteras, … qué recuerdos …

gelato teapots

Actualización de marzo

Posted in Uncategorized on March 15th, 2008

No sé hasta dónde puedo o debo contar. Empecemos por decir que ahora estoy trabajando para Enne studios/entertainment (sin link, seamos discretos) una empresa mediana donde existen productores que ejercen. Están embarcados en varios proyectos, ni malos ni buenos, ya sacaré el tema cuando esté más tranquilo, no quiero líos con nadie.

Como cualquiera que me conozca puede imaginarse, mi ocupación principal es programar y la secundaria es apagar fuegos, en el sentido más amplio de la palabra: desde scripts que patinan por bobadas a matar procesos remotamente mediante ssh. En este momento aprecio todo el tiempo que he pasado lechándome con linux y derivados.

Voy a extenderme únicamente en dos puntos: rendering y gestión humana. Por motivos que no alcanzo a entender (aún) la empresa en la que trabajo se está planteando introducir gelato en producción[1]. No lo tenía en el radar a pesar de que un antiguo colega pretendía emplear un scene graph de nvidia como zona de render de un videojuego; probablemente la idea no me pareció muy acertada en su momento o estaba más ocupado en buscar algo de pasta honrada antes que ponerme a investigar en profundidad la idea. Este pequeño detalle supone una vuelta efectiva al render, que tenía muy abandonado.

Con respecto a la gestión humana una simple nota. Empiezo a comprobar lo útiles que pueden ser las metodologías de gestión ágiles en producciones y equipos. Sobre todo a partir de cierto tamaño se tiende a confundir el desorden incipiente con la carencia de personal. Por supuesto contratar más gente aumenta el desorden empeorando aquello que se pretendía arreglar.

Y de momento ya, que tengo muchas cosas que hacer esta mañana. Esperemos vernos pronto!


1. Se trata de un motor de render creado por nVidia para películas y grandes producciones. En este momento en el que escribo aún no tengo muy claro de qué pie cojea. Según me han contado el motor trata de implementar progresivamente la especificación de Renderman.

Nota rápida: captura

Posted in Uncategorized on February 19th, 2008

1. Nuestra querida Pandora.

2. Streaming general.

Podcasts reminder

Posted in Uncategorized on February 3rd, 2008

Como resultado de leer el libro de Steven Levy acerca del aypop el podcasting vuelve a mi radar. Algunas direcciones y recursos interesantes que he encontrado:

kafelog

juice, para exprimir la red

ninjatune podcast syndication

Y, ya en mi primer minuto de podcaster (de mierda) ha entrado un nuevo elemento en el radar: Dragon War! Cuidado con eso, porque IMDB ha votado un 3.9 (cuando escribo esto) para el titulazo. Así que mucha calma.

Asociaciones

Posted in Otros on February 1st, 2008

¿Cómo decidimos qué nos gusta y qué no? ¿Empleamos criterios objetivos? ¿ciencia? ¿Algún tipo de proceso estadístico? Llevo quizá demasiado tiempo centrándome únicamente en los aspectos industriales de la creación de videojuegos y en la vida que se deriva de intentarlo. Sin embargo, tras la compra de cualquier producto tiene que haber un placer derivado. Entiendo que el sujeto habitual adquiere bienes precisamente por el hecho de ser buenos. En última instancia ha de derivarse un placer, un valor para el sujeto.

Imagino un sujeto, llamémoslo Alice, entra en una tienda y como le encantan las noveletas de misterio va derecha a la sección. Agún criterio tendrá que emplear para escoger un libro sobre otro. Debe priorizar. Incluso en el caso de que pueda adquirir absolutamente todas las obras escritas jamás, no podrá leerlas por falta de tiempo y, de nuevo, debe escoger qué leer y qué ojear y, por definición: qué abandonar.

Únicamente veo dos opciones si es la primera vez: escoger al azar ó pedir consejo[2]. Empleando inducción llegamos a la conclusión obvia de que el primer lector de novelas de misterio tuvo que escoger al azar[3] Pretendo llegar a un punto sencillo con todo esto: sea como fuere necesitas un criterio, o bien construir uno propio, o bien elaborarlo a base de préstamos. En este punto podría embarrancarme en el discurso contra la crítica (sobre todo la de videojuegos) pero no tengo la menor gana. Me estoy acercando a una anécdota personal que teje a partes iguales cursilería y sabiduría yedai acerca de la vida.

Como probablemente resulte obvio a estas alturas intento probar la mayor cantidad de videojuegos que puedo. Hace un par de años tuve la oportunidad de jugar Rez en Dreamcast y PS2 y me gustó mucho; es natural que me alegrase mucho al saber que Q? lanzaban una versión para 360, titulada RezHD. La bajé de inmediato. Qué desilusión. El juego era [es] idéntico a cómo lo recordaba, animaciones, gráficos, … resumiendo: el mismo. Sin embargo faltaba algo.

Rez no apareció en mi vida por casualidad: me lo recomendó un amigo. He comprobado algo interesante con las recomendaciones. Nunca es tu producto. Par mí siempre será ese-videojuego-que-me-recomendó-Enveloop. Así que arranco la versión de 360, llevo jugando un rato y me quedo algo frío. El juego es espectacular, qué coño. Está muy bien. Sin embargo no funciona.

Este detalle me dejó desconcertado. De alguna manera Rez, o mejor, algunas recomendaciones, están tan relacionadas con los recomendantes que no se entienden las unas sin los otros. Sobra decir que desde que me mudé de Compostela tengo muy complicado coincidir con Enveloop. De algún modo ambos conceptos se han asociado Rez-Enveloop. A mi me parece tierno.

Siguiendo esta línea y viendo en qué medida haber coincidido con según qué gente es producto de la más pura casualidad me asalta la duda de hasta qué punto somos señores de nuestros gustos. No me gusta el recurso fácil de decir que somos víctimas de la casualidad, … estamos sujetos a nuestras circunstancias, … blah blah blah. Quiero creer (y creo) que tenemos un cierto grado de control sobre qué vamos a hacer con nuestra vida y esto incluye también, qué decidimos que nos gusta y qué no.

Y para acabar de formar el chiste está el hecho innegable de que hay objetos, grupos musicales, juegos, libros que están unidos a personas, a situaciones a hechos.

*** Coda

La 360 es un ordenador canijo. ¿Recordáis cuando se puso de moda que los frikis-alpha tuviesen barebones? Apuesto a que sí ^_^. Creo que se puede decir que un usuario que tenga una 360 y esté jugando únicamente a Live Arcade, oyendo música y viendo algún que otro vídeo no tiene una consola de videojuegos sino directamente uno de aquellos chismes canijos y con aspecto de baulito de tesoros de niñas pequeñas[1].

blue led mayhem


1. Salvo por los leds azules, claro está.
2. Los resúmenes en las sobrecubiertas están sobrevalorados, amigos.
3. Bajo la premisa de que los libros de misterio existieron siempre, ¡LOL!

Algunas referencias para MEL script

Posted in Uncategorized on January 24th, 2008

MEL es el lenguanje embebido de referencia en Maya (hasta la versión 8.5). A veces resulta algo imbricado pero lleva tanto tiempo entre nosotros que hay muchos recursos para aprender a usarlo entre otros:

Ejemplos prácticos de MEL

además de algunos gurús (David gould) y de sus inevitables obras de referencia, sí el famoso libro de Maya que tiene Mayas en la portada. Quite smart, ray’? Y que es absolutamente burreable, por cierto.

Todo tiene serpiente

Posted in Uncategorized on January 18th, 2008

Circula un chiste por el entorno profesional que siempre me ha gustado mucho: “Hagas lo que hagas terminará siendo como UNIX”

Salvo que tengas el autocontrol de un Dalai-lama- ninja tus aplicaciones tenderán a crecer, abarcarán nuevos casos de uso, ampliarán sus abstracciones, crecerán y crecerán. Antes de lo que esperas alguien sugerirá que sería muy interesante emplear la web como front-end[1] y de ahí, … bueno, de ahí hay un paso a que otro comente que sería cojonudo emplear la lógica pero únicamente en modo batch, ¿para qué carajo emplear un front-end cuando sabes perfectamente qué tienes que hacer? Y, claro, puesto que no se pueden prever todos los casos, antes o después aparece un lenguaje embebido de script.

Durante bastante tiempo, un par de años quizá, el lenguaje de script por excelencia en mi pequeño rincón de internet era lua. Sin embargo los tiempos cambian, el pelo se cae y las mudanzas se sucenden y, poco a poco, la serpiente crece y se convierte en un python!

En mi curro actual me toca pelearme con Maya. Para los que no sigan muy atentamente el mundo del 3D en producción de cine he de comentar un par de cosas. Para empezar el software que se emplea es titánico y la integración con sistemas brutal. Para que nos hagamos una idea, tienen varios TBs de almacenamiento y un departamento de programación que incluye unas 10 personas[2], algunas de ellas, íntegramente dedicadas a desarrollar extensiones para el propio software. Las necesidades son tan abiertas, tan impredecibles, tan generales, que desde Autodesk (digamos Alias) se han limitado a construir un UNIX especializado en fabricar gráficos.

Como es natural en semejante tinglado no podía faltar un buen lenguaje de script: python, por supuesto. Entre otras muchas cosas, como volver a tratar con compañeros, formar parte de un proyecto más ambicioso y tener alguna posibilidad de éxito, este trabajo me está permitiendo volver hacia python y a desarrollos algo más pequeños.

Por cierto, todavía no he salido por Salamanca, salvo para un par de cañas de media semana. Nada de pinchos. Nada de jamón. Sólo un poco de frío, algo de lluvia y bastantes ladrillos. Dejadme decir que la ciudad tiene un cierto aire a la Zaragoza de los años 70, no sé si sabéis a qué me refiero. Un cierto aire a Camino de las Torres. Por otro lado el piso que hemos encontrado va estando cada vez más habitable, lo que siempre es agradable al terminar una de esas jornadas maratonianas de “tresdeseros”.


1. Lo que probablemente es una buena idea. Y es también una buena idea largarse de esa empresa en justo ese momento ;)
2. Y no estoy contando sistemas, por una vez los sistemas los lleva otro: ¡YEAH!

Nueva etapa: Salamanca

Posted in Vanidad on January 7th, 2008

Me han pasado muchas cosas durante estas últimas semanas que merecen comentario. Quizá las tres más importantes son:

1. Termino mi trabajo en Vigo. No más programación para móviles por el momento. Ha sido un curioso reencuentro con Java y sus delicias, pero ya tengo bastante por ahora.

2. Abandonamos Galicia. También dejamos Santiago. Aquellos que tuvieron la oportunidad de ir y no acudieron ya no van a tener más oportunidades: sí eso va por tí.

3. Cambio de gremio. Tangencialmente. Abandono el terreno de los videojuegos para trabajar directamente en producción 3D en películas. A ver cómo funciona todo esto.

Galicia, y Santiago en particular, es un sitio fantástico. Teniendo en cuenta que Zaragoza está rodeada por los Monegros y más allá hay unas buenas montañas, el paisaje gallego de colinas suaves y vegetación inevitable resulta más que agradable. Unido a unas condiciones de vida y una gastronomía benignas es un sitio fantástico donde pasar una buena temporada.

Ponte Maceira cerca de Santiago de Compostela

Os dejo una foto de Ponte Maceira, incluso Google ha encontrado que tiene cierto encanto ^_^

Y relacionado con el cambio de gremio incorporo también una fantástica mudanza. Estamos buscando casa frenéticamente en Salamanca (lo que garantiza nuevas aventuras abracadabrantes a cargo de caseros e inmobiliarias)

Como en cualquier cambio de curro, los primeros contactos con la empresa receptora son motivo de chanceo vario. De entre las muchas cosas que nos llevamos en nuestro contacto inicial os dejo una fotito de las cubiertas y tejados de la catedral de Salamanca. Otro lugar bonito al que acudir si se tiene posiblidad.

Tejado de la catedral de Salamanca

Tan pronto como se estabilice un poco mi ir y venir de casa en casa y anuncio en anuncio (y Telefónica o quién demonios sea me dé internet) volveré a los artículos técnicos etc.

Baste decir que he estado probando un poco el trabajo de Pixologic, ZBrush 3.1. Y que me ha dejado más que sorprendido. Resulta impresionante verlo en marcha y recomiendo cualquiera de estos vídeos para convencerse de la potencia tremenda de la herramienta.

PD: Durante la primera semana de Diciembre nos dimos una pequeña escapadita hacia Alemania, podéis ver las fotos en el flickr de eldiablesodelacarretera.