Como algunos sabeis en mi proyecto fin de carrera programé una herramienta para el guiado de agricultores. Ya que está terminada y se asemeja en calidad a herramientas comerciales, por qué no sacarle un poco de partido? Para ello he creado un folleto de información (pdf) que va a llevar la universidad de Valladolid a una feria de Bilbao. Espero que llevando ese folleto a cooperativas y demás pueda vender y comenzar en el maravilloso mundo del pluriempleo :P.
En mi opinión quedan cosas que mejorar de la herramienta:
- Unos graficos en condiciones que no se pusieron en su debido momento por algunos problemas, sobretodo para los iconitos, el tractor y esas cosas.
- Me falta por concretar el HW concreto. Sé que debe ser un GPS sirf III, sin embargo me queda por concretar el modelo de PocketPC. La aplicación de momento ha funciona bien en todos los modelos que he probado, pero conviene que sea uno MUY robusto, con pantalla grande y que además tenga un soporte que aguante las vibraciones.
Si esto no funciona bien y no vendo nada, creo que la mejor manera de hacer que sea útil es sacarlo gratis y hundir en la miseria a arvatec y a isagri (jaja :P) no así a ssiiaa (empresa zamorana que también tiene un producto similar) y que así todos los agricultores puedan tener su sistema de guiado por muy poco dinero. Un día haré una comparativa sobre sus productos y el mío.
Por suerte cuento con la ayuda de Jaime Gómez, mi tutor de proyecto y amigo y con la sabiduría de rafa mompó que siempre están dispuestos a echar un cable y proponer cosas. Bueno, además de mi novia, que ahora está de comercial :P.
Sugerencias?
Dado que he estado trabajando con esta librería, voy a hacer un pequeño resumen de qué es y para qué sirve además de comentar algunos apartados técnicos que me han resultado curioso.
SpeedTree es una librería que genera proceduralmente árboles en base a una definición de parámetros. En esencia es solo eso y lo dejan muy claro en la documentación, speedtree es solo un motor de cálculo, no un motor de render ni nada similar. Speedtree te da todos los datos para renderizar el árbol… las texturas (que no genera, claro), los vértices, las normales, el tangent space de cada vértice, los pesos de los “bones”, y otros parámetros realmente curiosos.
Ciertamente la librería genera unos árboles de alta calidad y perfectamente preparados para renderizarlos y animarlos en tiempo real. Y es que bien se podría llamar SpeedHack, porque utiliza todas las artimañas posibles para renderiza más rápido. Usa el mal llamado pseudo-instancing, esto es, pasa todos los parámetros del árbol en coordenadas de textura (posición, rotación y otros) dejándo todo el trabajo al vertex shader, de esta forma se ahorran los cambios de matrices de cada uno de los árboles.
Pero la cosa no queda ahí, especifican claramente como debes renderizar, en qué orden y casi te imponen un sistema de oclusión basado en celdas con batches de vértices para renderizar todos los árboles lejanos como billboards. Aparte de todos los trucos típicos de cambiar lo mínimo posible el contexto, organizar los vértices para no tener fallos de caché, usar un lod precalculado, usan otros trucos curiosos. Por ejemplo, una vez conoces las especies de árboles que vas a usar, una herramienta que te trae el SDK, SpeedTreeCAD, te genera texturas batch, esto es, en ella acumulan todos los billboards de cada árbol, las texturas de las ramas, etc.
Sin embargo lo que más me ha gustado es la parte del movimiento de los árboles con el viento. Cada vértice tiene unos pesos, al igual que cuando se hace skinning, sin embargo aquí se han ideado un sistema por el cual todos los árboles, sea de la especia que sean, comparten matrices de transformación. Cada frame las matrices de viento cambian (puede ser 2 o más) y cada árbol tiene un índice a una de las matrices, de forma que el mecanismo de pseudo-instancing funciona de miedo ya que parece que cada árbol se mueve a su ritmo a pesar de tener las misma mastices, la misma malla y los mismo pesos. Y todo eso con solo un parámetro por shader.
Para concluir decir que la librería se nota que está currada, pero ciertamente esta enrevesada y es muy rígida a la hora de integrarla. No compila en GCC para PC (he tenido que hacer unos cuantos hacks), aunque sí está preparada para compilarse en PS3 con gcc, además de XBOX y DX. Decir que la demo que viene a modo de tutorial no funciona en tarjetas ATI y que hace conversiones a de float a enteros en el shader que tan pesadas son en algunas tarjetas.
Otro día sigo hablando de ella, tendría para horas…
Links:
- sitio oficial
- demo de trees of pangaea, demuestran lo que puede llegar a hacer speedtree
Qué mejor que ser un sensacionalista, sacar las noticias de contexto y mentir de forma indiscriminada para tener una noticia “que pegue”? La receta es fácil, coges algo sin ninguna importancia de hace años que tenga que ver con la actual situación, lo expones en un medio de comunicación masivo (periódico, TV o página web) y a vivir.
Ni más ni menos que esto es lo que ha pasado con el juego patera racing. En un blog de informativos telecinco publican la noticia de la existencia del juego patera racing, programado hace 4 años y cuyo aspecto dista mucho de ser una burla hacia los inmigrantes que se juegan el pescuezo a diario. Todo hecho, 20 minutos se hace eco, los foros empiezan a funcionar… y seguramente en pocos días antena3 y T5 echarán pestes contra todo el mundo de los videojuegos (todo esto entre noticia de muertes en algún atentado y el desayuno de ronaldiño). Por suerte, el que ha escrito la noticia no debe tener mucho de periodista, porque ha publicado una “rectificación”, esto es, ha copiado un correo del supuesto autor, y digo supuesto por el comentario que hace el autor en su web.
Qué enseñan en las escuelas de periodismo? Cuando aprenderemos a quejarnos y no dejar que gente así escriba noticias que no lo son y que lo único que persiguen es generar polémicas donde no las hay. Triste.
EDIT: ojo al comentario del periodista de 20minutos acerca del diseño del juego… tendría que leer sus noticias antes de criticar de aspectos que no conoce. Manda huevos que diría trillo.
Leyendo los foros de gamedev he encontrado un link con los ppt de las charlas sobre opengl del siggraph de este año. Lo ideal sería escuchar la charla, pero con las transparencias te haces una idea sobre OpenGL 3.0, información sobre Khronos, lo que va a pasar con Windows Vista y OpenGL (jaja) y lo que está por venir en OpenGL, que a mi modo de ver es el paper más interesante para el que esté pegándose con OpenGL a diario y que más o menos viene a ser lo que ya ha anunciado MS con su DX 10.
Para no variar iñigo quilez vuelve a sacar un estupendo artículo de cómo precalcular la GI usando la GPU(*). La técnica es muy simple y es un paso más allá de la técnica que ya descibrió hace tiempo para calcular el Ambient occlusion. La imagen habla por si sola.

(*) Actualmente cuando se habla de GPU lo primero que te viene a la mente son los vertex y pixel shaders y quizás en alguna técnica para fakear alguna propiedad física de la luz o de los materiales, sin embargo la técnica que comenta no los usa necesariamente, tranquilamente se podría calcular usando la “fixed pipeline”