Además el juego está creado en python + pygame y tiene todo el código a la vista :).
11.21.2006
Juegos cortos, ideas buenas
Veo en el blog de librador, un empleado de digital leyends legends (jaja), el juego que ha presentado a una compo de creación de juegos en 72 horas.. EL juego es un puzzle en el que tienes que mover unas bolas metálicas usando unos "electroimanes" para llevarlas a un agujero. Hay solo 4 ó 5 niveles creados, pero sirven para ver que el juego mola y plantea un reto interesante, a pesar de estar programado en 72 horas.
Además el juego está creado en python + pygame y tiene todo el código a la vista :).
Además el juego está creado en python + pygame y tiene todo el código a la vista :).
11.20.2006
OpenGL cambia de look
Jodo, sigo leyendo las noticias de opengl.og y me encuentro con una burrada de cambios que se van a producir en opengl en el próximo verano:
- Dos nuevas releases para el verano. En resumen, si usas una implementación serás compatible con las viejas y nuevas tarjetas y con la otra solo podrás usar el nuevo hardware con la ventaja de poder usar todo su pontencia
- un SDK, que ya era hora. Hasta ahora yo me habia guiado con el redbook, la espec de opengl y la de GLSL, pero está claro que es necesario unificar y centralizar ,sacando algo similar al SDK de DX.
- cambios en el modelo de opengl. Al parecer el modelo usado para algunas cosas, como explica en la web, era una chapuza y estaban optimizadas para la creación y no para el render.
Estas son las más importantes según mi punto de vista y parece que todas cara a poder hacer frente a lo que está por venir en D3D. Todo orientado a facilitar las cosas y a poder optimizar para el hardware moderno.
- Dos nuevas releases para el verano. En resumen, si usas una implementación serás compatible con las viejas y nuevas tarjetas y con la otra solo podrás usar el nuevo hardware con la ventaja de poder usar todo su pontencia
- un SDK, que ya era hora. Hasta ahora yo me habia guiado con el redbook, la espec de opengl y la de GLSL, pero está claro que es necesario unificar y centralizar ,sacando algo similar al SDK de DX.
- cambios en el modelo de opengl. Al parecer el modelo usado para algunas cosas, como explica en la web, era una chapuza y estaban optimizadas para la creación y no para el render.
Estas son las más importantes según mi punto de vista y parece que todas cara a poder hacer frente a lo que está por venir en D3D. Todo orientado a facilitar las cosas y a poder optimizar para el hardware moderno.
Geometry Shaders con OpenGL
Hace bien poco salía la nvidia 8800 que promete que será capaz de tirar dx10. Entre tantas cosas, añade a su funcionalidad el tema de geometry shaders, esto es, shaders que permiten añadir vértices. Hasta ahora nos habíamos conformado con transformar los vértices que teníamos pero ahora es posible generarlos.
Y para qué leches quiere alguien generar vértices? Por ejemplo, imaginemos el caso de querer usar billboards. Tenemos la opción de usar fixed pipeline, transformando uno por uno los vértices de los quads para orientarlos a la cámara. Otra opción es usar un vertex shader, de forma que le pasamos un "quad" con los 4 vértices centrados en el centro del quad, luego en una coordenada de textura se le pasas el número de esquina y por último dos uniforms con los ángulos de cámara. Con simple trigonometría y un vector de vec3 en el que se haga lookup con el número de esquina se puede transformar el vértice. Con geometry shaders se puede, indicar que la entrada es un punto, la salida es un triangle strip y en el shader generar los 4 vértices a partir del primero, con el consecuente ahorro de cálculo en el VS y de transferencia de datos.
Este es un ejemplo, pero seguro que hay cosas mucho más útiles que eso :). Un buen tutorial lo he visto hoy en una noticia de hace 4 días en la web de opengl. Bien explicado, con sus gráficos de rigor. A ver que hace ATI (aka, quisquillosa con GLSL) ahora.
Y para qué leches quiere alguien generar vértices? Por ejemplo, imaginemos el caso de querer usar billboards. Tenemos la opción de usar fixed pipeline, transformando uno por uno los vértices de los quads para orientarlos a la cámara. Otra opción es usar un vertex shader, de forma que le pasamos un "quad" con los 4 vértices centrados en el centro del quad, luego en una coordenada de textura se le pasas el número de esquina y por último dos uniforms con los ángulos de cámara. Con simple trigonometría y un vector de vec3 en el que se haga lookup con el número de esquina se puede transformar el vértice. Con geometry shaders se puede, indicar que la entrada es un punto, la salida es un triangle strip y en el shader generar los 4 vértices a partir del primero, con el consecuente ahorro de cálculo en el VS y de transferencia de datos.
Este es un ejemplo, pero seguro que hay cosas mucho más útiles que eso :). Un buen tutorial lo he visto hoy en una noticia de hace 4 días en la web de opengl. Bien explicado, con sus gráficos de rigor. A ver que hace ATI (aka, quisquillosa con GLSL) ahora.
Etiquetas:
OpengGL,
programación,
shaders
11.18.2006
perrito
El otro día un compañero de trabajo apareció en la oficina con un perrito que estaba abandonado y que le estaba siguiendo. Como tenemos (aún) un poco de corazón le hemos acogido en nuestro seno, dándole cobijo, alimento y cuidado. Es un perrito la mar de juguetón, como viene siendo habitual cuando son cachorros, no parece que sea de raza definida, se le ve que está a falta de cariño y me imagino que nos lo quedaremos hasta que alguien lo adopte. Parece ser que en la protectora de animales únicamente se comprometen a meterlo con otros perritos y darlo de comer (que no es poco), pero preferimos mantenerlo unos días a ver si le podemos encontrar familia. De momento, y a a falta de un nombre mejor, le he bautizado como "jeta".
11.15.2006
STL: sí o no
Es muy común entre los que programamos en C++ el reinventar a menudo la rueda (incluso varias veces) y reprogramarse los contenedores básicos él mismo. Se suelen escudar en cuestiones de legibilidad de código, sobrecarga de llamadas, rapidez de ejecución. Es cierto que muchas veces es necesario tener muy claro como funciona algo, sobretodo con algortimos críticos sin embargo hay una serie de pros que me hacen decantarme por el uso de STL:
- efectividad: ganas tiempo en no tener que programar y hacer debug de tus contenedores. Además sabes que hay muchas más personas usándola y tienes cierta seguridad cuando las usas.
- rapidez de ejecución: es posible que tus contenedores sean más rápidos, pero en el tiempo que has usado para programarlos es posible que invitiéndolo en otros algortimos hubieras ganado más ciclos de cpu (o gpu :P).
- trabajos en equipo: cuando se trabaja en equipo es muy ventajoso que todo el grupo conozca muy bien las cosas básicas del código sobre el que se trabaja. Además casi nunca se suele estar de acuerdo en como deben funcionar los contenedores.
- Los iterators: te dan una versatilidad para cambiar de contenedor y trabajar con los mismos algortimos sobre cada uno bastante alta y que da aporta mucha efectividad a la hora de programar
pero también hay contras:
- No te evitas bugs... pero tampoco te libras de ellos si los programas tú. Por ejemplo hacer std::vector< std::vector > en algunas versiones de gcc (con la STL de GNU) tiene un bug.
- Código muchas veces ilegible, con lo cual hace difícil saber qué hacen exactamente.
- Múltiples implementaciones. Por un lado tienes la que traen por defecto los compiladores, STL de SGI, STL port. No es que sea un gran problema, pero hay contenedores y algortimos diferentes, ciertos detalles internos, etc.
- Los iterators: a algunos programadores les resulta engorroso tener que usar, por ejemplo, un iterator para eliminar un elemento de un std::vector
En resumen, para mi, STL sí, porque prefiero usar mi tiempo en crear algortimos diferentes a los de toda la vida, aunque creo que todo programador debería saber como implementar una lista enlazada o un vector. Tú que opinas?
- efectividad: ganas tiempo en no tener que programar y hacer debug de tus contenedores. Además sabes que hay muchas más personas usándola y tienes cierta seguridad cuando las usas.
- rapidez de ejecución: es posible que tus contenedores sean más rápidos, pero en el tiempo que has usado para programarlos es posible que invitiéndolo en otros algortimos hubieras ganado más ciclos de cpu (o gpu :P).
- trabajos en equipo: cuando se trabaja en equipo es muy ventajoso que todo el grupo conozca muy bien las cosas básicas del código sobre el que se trabaja. Además casi nunca se suele estar de acuerdo en como deben funcionar los contenedores.
- Los iterators: te dan una versatilidad para cambiar de contenedor y trabajar con los mismos algortimos sobre cada uno bastante alta y que da aporta mucha efectividad a la hora de programar
pero también hay contras:
- No te evitas bugs... pero tampoco te libras de ellos si los programas tú. Por ejemplo hacer std::vector< std::vector
- Código muchas veces ilegible, con lo cual hace difícil saber qué hacen exactamente.
- Múltiples implementaciones. Por un lado tienes la que traen por defecto los compiladores, STL de SGI, STL port. No es que sea un gran problema, pero hay contenedores y algortimos diferentes, ciertos detalles internos, etc.
- Los iterators: a algunos programadores les resulta engorroso tener que usar, por ejemplo, un iterator para eliminar un elemento de un std::vector
En resumen, para mi, STL sí, porque prefiero usar mi tiempo en crear algortimos diferentes a los de toda la vida, aunque creo que todo programador debería saber como implementar una lista enlazada o un vector. Tú que opinas?
10.28.2006
La fiesta empieza en Gameloft
Leo en khronos que gameloft anuncia en una nota de prensa que va a usar OpenGL ES en uno de sus juegos y que además lo va a endosar en un móvil con aceleracion.
Me hace gracia como vende la moto el presidente de Gameloft, más que nada porque existen juegos 3D hace siglos, no creo que porque veamos juegos 3D en dispositivos móviles vaya a ser la revolución aunque si funciona bien gameloft, entre tantas, se puede forrar a base de bien. El problema es que un juego 3D requiere mucho más trabajo que uno 2D (y por tanto mayor coste de producción) y no sé si saldrá tan rentable.
Por suerte OpenGLES es muy similar a OpenGL y los programadores de PC no creo que tengan problemas en reconvertirse, con lo cual la experiencia acumulada para PC siempre se puede aprovechar. A ver que va saliendo.
Me hace gracia como vende la moto el presidente de Gameloft, más que nada porque existen juegos 3D hace siglos, no creo que porque veamos juegos 3D en dispositivos móviles vaya a ser la revolución aunque si funciona bien gameloft, entre tantas, se puede forrar a base de bien. El problema es que un juego 3D requiere mucho más trabajo que uno 2D (y por tanto mayor coste de producción) y no sé si saldrá tan rentable.
Por suerte OpenGLES es muy similar a OpenGL y los programadores de PC no creo que tengan problemas en reconvertirse, con lo cual la experiencia acumulada para PC siempre se puede aprovechar. A ver que va saliendo.
10.23.2006
matemáticas para la vista

Hace tiempo se anunció el "International Congress of Mathematicians" en el que se dieron unas charlas sobre demoscene. Hoy Íñigo Quilez ha publicado en su web las transparencias de las ponencias además de todo el material usado en la exposición. Personalmente me ha gustado la definición matemática de una mariposa que hace Íñigo en el pdf, aunque los otros documentos no se quedan atrás, lo cual no sorprende viendo los ponentes, unos de los creadores de iconoclast y también de plastic.
matemáticas para la vista

Hace tiempo se anunció el "International Congress of Mathematicians" en el que se dieron unas charlas sobre demoscene. Hoy Íñigo Quilez ha publicado en su web las transparencias de las ponencias además de todo el material usado en la exposición. Personalmente me ha gustado la definición matemática de una mariposa que hace Íñigo en el pdf, aunque los otros documentos no se quedan atrás, lo cual no sorprende viendo los ponentes, unos de los creadores de iconoclast y también de plastic.
10.16.2006
Pizarra mágica
Veo en codepixel un video sobre una pizarra (ojo, el pesado, lento y funciono_mal_en_firefox youtube :P) cuanto menos curiosa. En ella un señor muy serio dibuja objetos con un puntero a los que se aplica física real. Desde que apareció la DS hemos visto una gran cantidad de juegos que hacen uso de las posibilidades de la pantalla táctil y este ejemplo demuestra uno de ellos. Lo que se representa no es un juego, pero con unas pocas de vueltas a la cabeza estoy seguro que no sería difícil sacar un juego.
Además, la física ya sola por sí hace un juego, aunque si le añades unos toques divertidos pueden salir cosas como breakquest
EDIT: un jueguecillo/test que me ha pasado alex con física creada en flash: line rider y un video con una aplicación curiosa.. :)
Además, la física ya sola por sí hace un juego, aunque si le añades unos toques divertidos pueden salir cosas como breakquest
EDIT: un jueguecillo/test que me ha pasado alex con física creada en flash: line rider y un video con una aplicación curiosa.. :)
Etiquetas:
física,
juegos,
pantalla táctil
10.11.2006
Agroguía empieza a andar
Como ya comenté el otro día tenía pensando intentar sacar algún dinerín vendiendo el PFC. En este tiempo ya hemos vendido 4 unidades y me empiezo a encontrar con los primeros problemas. El peor es el del abastecimiento de materia prima, esto es, pocketpc y GPS. Sé que hay por decenas en las tiendas, pero la mayoría de los pocketpc tienen cosas que no necesito (Bluetooth, WiFi), tienen pantallas pequeñas, son poco robustas... y los GPS peor porque muchos de ellos son una basura que no sirven ni para guiarse cuando vas en coche, otros son bluetooth y los que son un poco decentes y son con interfaz serie escasean y tienen plazos de entrega de dos semanas!!.
Bueno, estaba claro que esos problemas iban a estar. Otra cosa curiosa es lo que la gente pide que podría tener, unos piden medidores de área, otros sistemas de control integral del tractor... en fin y en cuanto al precio... a algunos les parece caro a otros barato, a algunos les parece que no sirve de nada, a otros de mucho, es curioso.
Por mi parte estoy mejorándolo en mi tiempo libre (que es poco). He añadido un medidor de área y ahora mejoraré el GUI, sobretodo en su usabilidad. A ver si contrato los servicios de un grafista que me haga unos iconos en vectorial (solo rasterizo polígonos, nada de texturas) chulos.
Por otra parte mañana voy a Valladolid, 8 horitas de tren... arg! Pero lo peor no es ir, lo peor es la incompetencia de algunos trabajadores de renfe que no saben cuantos minutos es una hora y que no saben resolver una duda sobre un trayecto. Encima creo que he cogido un catarro de estos estúpidos y tengo un principio de anginas.
Por otro lado ayer pasé por el silken 7 coronas, un hotel de murcia, donde parece que se aloja la selección. A mi la selección me da igual, pero casi se me saltan las lágrimas de ver la DSNG (aka fragoneta con antena parabólica), al ver esa parabólica orientada a vete tú a saber qué satélite, esos VTR's y sobretodo esos pequeños monitores SONY con las barras de colores ( blanco y negro, los colores primarios y los complementarios) test de la señal PAL. Qué recuerdos :__).
Bueno, estaba claro que esos problemas iban a estar. Otra cosa curiosa es lo que la gente pide que podría tener, unos piden medidores de área, otros sistemas de control integral del tractor... en fin y en cuanto al precio... a algunos les parece caro a otros barato, a algunos les parece que no sirve de nada, a otros de mucho, es curioso.
Por mi parte estoy mejorándolo en mi tiempo libre (que es poco). He añadido un medidor de área y ahora mejoraré el GUI, sobretodo en su usabilidad. A ver si contrato los servicios de un grafista que me haga unos iconos en vectorial (solo rasterizo polígonos, nada de texturas) chulos.
Por otra parte mañana voy a Valladolid, 8 horitas de tren... arg! Pero lo peor no es ir, lo peor es la incompetencia de algunos trabajadores de renfe que no saben cuantos minutos es una hora y que no saben resolver una duda sobre un trayecto. Encima creo que he cogido un catarro de estos estúpidos y tengo un principio de anginas.
Por otro lado ayer pasé por el silken 7 coronas, un hotel de murcia, donde parece que se aloja la selección. A mi la selección me da igual, pero casi se me saltan las lágrimas de ver la DSNG (aka fragoneta con antena parabólica), al ver esa parabólica orientada a vete tú a saber qué satélite, esos VTR's y sobretodo esos pequeños monitores SONY con las barras de colores ( blanco y negro, los colores primarios y los complementarios) test de la señal PAL. Qué recuerdos :__).
10.05.2006
Tristeza
Es la que me produce ver lo que estoy viendo. Estoy cenando y viendo en telecinco un programa que se trata de abrir cajas AL AZAR!! sí, completamente al azar, no hay ningún tipo de reto al participante y tampoco al espectador. El único interés del programa es ver como el concursante, jodido por tomar decisiones tan importantes, se jode al ver que no gana los 100 kilos que podría ganar. Pero es que además los concursantes hacen afirmaciones en las que saben con total seguridad donde está el premio...
Pero es telecinco... contrata a una presentadora que sabe estar en cámara, que sabe hacer ver al espectador que es una mentira y que ella es una hipócrita pero que como eres tonto te lo tienes que comer, buena iluminación, unos cuantos juegos de cámara, algún efecto de sonido y todo arreglado.
Por no hablar de los informativos, ahora mismo acaban de abrir con el titular de un método para dejar de fumar, por detrás se estaban oyendo voces de realización, una conexión en directo con el hijo de un periodista que no se aguanta de los nervios. Por no hablar de las cagadas de rotulación, las de los micros de los presentadores y de la auténtica basura sensacionalista y propagadísitica que nos meten entre pecho y espalda.
Menos mal que gran hermano se lo curran bastante bien :D
Pero es telecinco... contrata a una presentadora que sabe estar en cámara, que sabe hacer ver al espectador que es una mentira y que ella es una hipócrita pero que como eres tonto te lo tienes que comer, buena iluminación, unos cuantos juegos de cámara, algún efecto de sonido y todo arreglado.
Por no hablar de los informativos, ahora mismo acaban de abrir con el titular de un método para dejar de fumar, por detrás se estaban oyendo voces de realización, una conexión en directo con el hijo de un periodista que no se aguanta de los nervios. Por no hablar de las cagadas de rotulación, las de los micros de los presentadores y de la auténtica basura sensacionalista y propagadísitica que nos meten entre pecho y espalda.
Menos mal que gran hermano se lo curran bastante bien :D
10.01.2006
hagamos negocios
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?
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?
9.29.2006
SpeedTree
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
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
9.22.2006
sensacionalismo al poder
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.
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.
9.20.2006
lo que está por venir en OpenGL
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.
9.16.2006
Global Illumination usando GPU
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"

(*) 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"
9.12.2006
Lo que faltaba

Leo en anaitgames que apple se mete en el terreno de los videojuegos. Si les ha funcionado el negocio de distribuir música en internet, por qué no les iba a funcionar la distribución de videojuegos? son 5 dolares (según este resumen) por cada juego, que creo que al cambio viene a ser lo que vale un juego de móvil de los que anuncian a todas horas en TV.
Puede que se quede en una anecdota, pero tiene un análisis muy interesante. Veremos a apple sacando peleando con nintendo y sony ?
El toro de vega
El toro de vega es un festejo que se realiza en Tordesillas, muy cerca de mi pueblo, y donde pasé 4 años de mi vida estudiando la correspondiente enseñanza obligatoria y el bachillerato, y que se basa en matar a un toro que sueltan por las calles y afueras del pueblo. Los mozos van con unas lanzas y se lo tienen que cargar, sin más.
Hoy veía la noticia en 20 minutos, los cuales están completamente en contra de los espectáculos taurinos, pero esta vez no es la noticia lo que me ha llamado la atención, si no los comentarios. En ellos todos hacen referencia a la bestialidad que es matar a un toro y demás, pero, curiosamente, lo hacen amenazando e insultando, incluso hay algunos que van más allá y son ellos mismos los que se proponen voluntarios para ir a partirle la jeta al señor que remató al toro, que por cierto, le ha metido el cuerno hasta el gañón.
Como he dicho, he estado durante 4 años conviviendo con gente que ha nacido viendo al toro de vega morir año tras año y para ellos es algo natural, está muy dentro de ellos, tanto que ven como una aberración que alguien se queje o quiera eliminarlo de las fiestas.
Mi opinión es que es una animalada, creo que los festejos taurines deben ir más en la línea de los cortes que en la de la matanza, sin embargo veo desmedida la actuación de las personas, tanto las que comentan en 20 minutos, como las de carne y hueso. Pretenden solucionar el problema dando de ostias a otros humanos? hay algún comentario que iguala a tordesillas con ETA.
De mientras los moros jodiéndonos la vida con las bombas, los inmigrantes palmándola, los españoles empeñándose (me hace gracia hablar en tercera persona :P), los etarras de verdad riendose de nosotros, la televisión "educativa", los bancos, telecos y empresas en general riendose del consumidor, los políticos chupando del frasco y haciendo el ridículo... no me jodas.
Hoy veía la noticia en 20 minutos, los cuales están completamente en contra de los espectáculos taurinos, pero esta vez no es la noticia lo que me ha llamado la atención, si no los comentarios. En ellos todos hacen referencia a la bestialidad que es matar a un toro y demás, pero, curiosamente, lo hacen amenazando e insultando, incluso hay algunos que van más allá y son ellos mismos los que se proponen voluntarios para ir a partirle la jeta al señor que remató al toro, que por cierto, le ha metido el cuerno hasta el gañón.
Como he dicho, he estado durante 4 años conviviendo con gente que ha nacido viendo al toro de vega morir año tras año y para ellos es algo natural, está muy dentro de ellos, tanto que ven como una aberración que alguien se queje o quiera eliminarlo de las fiestas.
Mi opinión es que es una animalada, creo que los festejos taurines deben ir más en la línea de los cortes que en la de la matanza, sin embargo veo desmedida la actuación de las personas, tanto las que comentan en 20 minutos, como las de carne y hueso. Pretenden solucionar el problema dando de ostias a otros humanos? hay algún comentario que iguala a tordesillas con ETA.
De mientras los moros jodiéndonos la vida con las bombas, los inmigrantes palmándola, los españoles empeñándose (me hace gracia hablar en tercera persona :P), los etarras de verdad riendose de nosotros, la televisión "educativa", los bancos, telecos y empresas en general riendose del consumidor, los políticos chupando del frasco y haciendo el ridículo... no me jodas.
9.10.2006
Mi nueva casa
Aviso: post personal
Bueno, hace unos días comenté que ya tenía nueva casa... qué menos que poner una imagen jaja :P. Es solo del salón (no tengo tele) con todo el dominical descomprimido, mi reproductor de mp3 (que me lo regaló mi novia), dos latas de cocacola que me gustan porque decoran, la pda, el portátil y la wifi usb para sacarla por la ventana (al fondo) y "shuparles el intené", como dirían por aquí, a los vecinos.
Bueno, hace unos días comenté que ya tenía nueva casa... qué menos que poner una imagen jaja :P. Es solo del salón (no tengo tele) con todo el dominical descomprimido, mi reproductor de mp3 (que me lo regaló mi novia), dos latas de cocacola que me gustan porque decoran, la pda, el portátil y la wifi usb para sacarla por la ventana (al fondo) y "shuparles el intené", como dirían por aquí, a los vecinos.
9.04.2006
1 semana
Aviso: post personal
LLevo ya una semana en Murcia, y ya he estado en el trabajo dos días, lógicamente de contacto con la dinámica, de aprendizaje de las herramientas y el modo de trabajo, etc. La cosa promete, la gente que he conocido tiene un nivel muy alto, algunos de ellos buena experiencia en el sector del videojuego (ya me han contado algún cotilleo :P).
Qué tengo que hacer? de momento pelearme con speedtree, una librería de generación de árboles procedurales muy enfocada al entorno realtime. Se puede ver en movimiento en juegos como unreal, oblivion y, como me ha comentado Nae, en fallen lords. Es una librería potentísima y con una amplia librería de árboles, aunque tiene algunos fallos que ya comentaré.
Por otro lado he conocido enlightenment un gestor de ventanas muy interesante, no solo por el hecho de que sea bonito, si no por su arquitectura, que permite correr todo el gestor de ventanas no solo en linux, si no también en windows bajo una ventana usando GDI o incluso OpenGL. Y no se queda ahí la cosa, también corre en dispositivos embebidos. Eso por no hablar del acabado. Pinta muy bien, de momento he conocido algunas caraterísticas y me ha encantado, a ver qué tal pinta.
El resto... bien, sobreviviendo.
LLevo ya una semana en Murcia, y ya he estado en el trabajo dos días, lógicamente de contacto con la dinámica, de aprendizaje de las herramientas y el modo de trabajo, etc. La cosa promete, la gente que he conocido tiene un nivel muy alto, algunos de ellos buena experiencia en el sector del videojuego (ya me han contado algún cotilleo :P).
Qué tengo que hacer? de momento pelearme con speedtree, una librería de generación de árboles procedurales muy enfocada al entorno realtime. Se puede ver en movimiento en juegos como unreal, oblivion y, como me ha comentado Nae, en fallen lords. Es una librería potentísima y con una amplia librería de árboles, aunque tiene algunos fallos que ya comentaré.
Por otro lado he conocido enlightenment un gestor de ventanas muy interesante, no solo por el hecho de que sea bonito, si no por su arquitectura, que permite correr todo el gestor de ventanas no solo en linux, si no también en windows bajo una ventana usando GDI o incluso OpenGL. Y no se queda ahí la cosa, también corre en dispositivos embebidos. Eso por no hablar del acabado. Pinta muy bien, de momento he conocido algunas caraterísticas y me ha encantado, a ver qué tal pinta.
El resto... bien, sobreviviendo.
Suscribirse a:
Entradas (Atom)