Friday, April 29

glLogicOp

Me ha llamado la atención esta función de OpenGL que no conocía: glLogicOp

Permite especificar la operación lógica a efectuar en el rendering de un nuevo objeto contra el contenido actual del backbuffer.

Es decir, podemos hacer cosas como invertir el fondo donde pintemos, pintar objetos de color invertido(lo que yo buscaba), pintar un cursor en modo XOR de manera que siempre destaque sobre el fondo, etc...

En mi caso, necesitaba pintar elementos texturizados con color invertido, que aparecen en un juego tipo puzzle en el que estoy trabajando. El código es parecido a esto:

if ( condition )
{
glEnable( GL_COLOR_LOGIC_OP );
glLogicOp( GL_COPY_INVERTED );
}

// Pintar objeto
// ...

glDisable( GL_COLOR_LOGIC_OP );

He buscado un método equivalente en DirectX por Google, pero no he encontrado nada. Si alguien tiene la SDK a mano y conoce la manera de hacer lo mismo en Direct3D se lo agradecería ^^, ya que quizá este verano escriba un tutorial sobre el tema.

Mientras buscaba, dí con una presentación (PowerPoint) que toca temas avanzados de OpenGL por encima.

Actualización:

He preguntado en el foro de Stratos y en el de FlipCode, y parece ser que no hay ningun equivalente a glLogicOp() en DirectX.

Thursday, April 21

Think different: Exposé

Aquí va una captura de una sesión de trabajo normal en Mac OS X, utilizando Exposé para visualizar todas las ventanas abiertas a la vez (tecla F9 por defecto). Es una manera muy intuitiva de alternar aplicaciones, una vez te acostumbras no puedes pasar sin ello:




Exposé fué introducido en la tercera revisión de Mac OS X: "Panther". En menos de 10 dias será puesto a la venta Mac OS X "Tiger", la revisión 10.4, que aportará novedades como Dashboard o Spotlight (similar a Google Desktop Search o Beagle), entre otras.

Recomiendo ver Dashboard en acción, para poder observar el efecto gráfico de ondas que se produce al soltar "widgets" en el área de trabajo. Este efecto usa un fragment program (o pixel shader segun la terminología DirectX) dentro del marco proporcionado por CoreImage.

CoreImage requiere tarjetas gráficas compatibles con OpenGL 1.5. El equivalente es decir que se requiere una tarjeta DirectX 9.0(shader model 2.0) para correr estos efectos. Luego, necesitamos como mínimo una GeForce FX 5200 o Radeon 9600. Actualmente el Mac Mini, eMac y iBook no cumplen los requisitos, ya que montan una Radeon 9200. No obstante, este es el único punto de incompatibilidad con Tiger, y se resume en ver o no este efecto gráfico.

Cuando llegue mi copia de Tiger y lo pruebe durante unos dias, escribiré aquí mis impresiones :-)

Actualización:

Hay varias aplicaciones para Windows que imitan el comportamiento de Exposé. Una de las mejores es Entbloess 2. Funciona en Windows 2000/XP, y proporciona más opciones de configuración que el original. Lo he visto correr, y la verdad es que funciona de maravilla. La pega: es de pago. Probad la demo, y si os gusta, compradlo, que sólo son USD8 / EUR6.

Sunday, April 17

Impresiones sobre la ifParty '05

Ya estoy otra vez en Alicante, tras pasar 3 dias en la ifParty en la Universidad Politécnica de Valencia.

Gente

Me lo he pasado de puta madre, la verdad. He conocido a mucha gente metida en desarrollo de juegos y he mantenido conversaciones realmente interesantes. He podido hablar con varios ex-Pyro, un holandés de Eidos metido en un proyecto para consolas next-gen(cool!), varias personas metidas en desarrollo para móviles, un chico que estuvo en Exelweiss.. en fin, una pasada.

Por supuesto, tambien he visto a unos cuantos viejos amigos de Alicante y Valencia. Principalmente gente de NecroStudios, TLOTB, y HardNULL.

Tambien conocí a Ithaqua, del grupo Stravaganza, y a la gente de RGBA, aunque no tuve mucho contacto con ellos. Geniales las producciones de ambos grupos..

Por allí andaba tambien la gente de Spöntz, que me cayeron muy bien ya que sus demos tambien corren en Mac :)

Frikadas

Cosas que me llamaron la atención:

  • Habia bastantes Macs. Me pareció contar 3 iBooks, 3Pa PowerBooks y un PowerMac G4 Cube!(joyita donde las haya)
  • Ví una X-Box "moddeada", con emuladores de CPC, NES, etc..
  • Gadgets: una PSP, una Nintendo DS, y una versión beta del último Nokia Communicator!
  • Proyectaron un vídeo/reportaje de unos hackers que habien conseguido correr varias demos propias en un Pokémon-Mini. La caña.
Además, el Tux-Racer combinado con el sensor de movimiento de mi PowerBook causaron auténtica sensación :-D


Producciones

Sólo se presentaron una 4K y una 64K, pero hubieron bastantes demos. Lo mejor fué poder proyectar en una terraza al aire libre. Tras las proyecciones hubo fiesta, con música y visuals a saco jejeje. Se lo curraron!

Yo presenté un par de entradas para el concurso de logotipo de Valencia Wireless:

1ª entrada / 2ª entrada(ganadora)




Fuí obsequiado con un adaptador Wi-Fi USB 54mbps cortesía de Valencia Wireless :-). La verdad es que me ha venido de perlas para jubilar el adaptador 11mbps que tenia en el PC de mi hermano, que era lento.. lento.. lento. Además Quique se portó y tambien me regaló un descuento para el Boccata :P.. yum yum.

ifParty?

¿Qué significa I-F? Pues eso mismo pregunté a varios asistentes, pero finalmente fué Wally quien me contó la historia del nombre. Resulta que hace varios años se celebraba en la UPV la "Fallas Party", y que era más bien una install-party. Hubo un año que no se hizo, y tras ello surgió la ifParty, donde la I significa "install" y la F "fallas". Ale, ya toy contento :)


Conforme me vaya acordando de cosas, ampliaré un poco más este post.

Wednesday, April 6

Kool Pool TV

Este era nuestro último proyecto "secreto": Kool Pool TV, diseñado para televisión digital en el Reino Unido. Desgraciadamente, tras varios meses de desarrollo, ahora los interesados en publicarlo nos dan la espalda, ignorando nuestros e-mails. El juego estaba prácticamente terminado, a falta de la IA, que estaba en progreso.

Características
  • Billar bola 8, 1P vs COM y 2P
  • Billar bola 9, 1P vs CLOCK y 2P
  • Gráficos en resolución PAL
Capturas

Free Image Hosting at www.ImageShack.us Free Image Hosting at www.ImageShack.us

Free Image Hosting at www.ImageShack.us Free Image Hosting at www.ImageShack.us

Entorno de desarrollo

Consistía en una libreria propietaria sobre el SDK de OpenTV, que a su vez está basado en GCC y otras herramientas GNU. Es exactamente la misma solución empleada por otras compañias como Synergenix para el desarrollo de su middleware. Aprovechan el frontend de GCC y escriben un backend que genera código para una máquina virtual propietaria, como Mophun en el caso de Synergenix. Para respetar la licencia GPL, es necesario que estas compañias hagan públicas todas las modificaciones que hayan hecho sobre código de GNU. Lo que sucede realmente, es que normalmente estas publicaciones nunca están a la vista en sus webs, y hay que pelear bastante para conseguir acceder a ellas.

Siguiendo con el apartado técnico, decir que el lenguaje empleado es C, y los programas son probados en un emulador para Windows, aunque siempre es necesario comprobar su funcionamiento en set-top-boxes reales.

Friday, April 1

Nuestras cuevas

En el foro de Stratos hace tiempo mostramos fotos de nuestras zonas de trabajo. Se puede ver mucha cueva friki y que lo de tener dos ordenadores ya parece la norma.

Ahora en Codepixel se está haciendo lo mismo. Si teneis una cámara o foto de vuestra cueva a mano, dejad un mensaje en este hilo del foro de Codepixel. Mis fotos son de muy baja calidad porque las he tomado con un teléfono móvil, concretamente un Sony-Ericsson T610.



Conclusión: me hace falta una cámara digital :(