Archive for October, 2007

oGFx full featured glLights

Wednesday, October 24th, 2007

We have always thought that oGFx should feature lights, because they open the way to a lot of resources to play with when using textures and shaders. Bump maps, highlights and all kinds of other effects depend on the ability to calculate how light bounces over a particular vertex or fragment, and light in motion is enough to enhance the experience of a digital environment, just because a change in lighting can be understood as a transition between spaces, the passage of time, or both. Control over lighting models is an important feature to consider when thinking about the creation of a language for interactive graphics.

I recently finished the first iteration of glLight support for oGFx , and already experienced a lot of pleasure playing with it in some of the scripts we have made in the past. Following the advice from J. Popovic, teacher of the MIT Computer Graphics undergraduate class, I wrote some code to turn on and off graphical representations of some of the objects in the oGFx context, making it easier to debug otherwise hard to track things like light directions, light positions and surface normals.

Here is a very rough (and I mean it) video where you can see the influence of the light in motion over a scene where I was manipulating an interactive animation I made using quadratic Bezier curves from Apple’s Quartz2D, and here is another one, same degree of roughness, and a different use of the same curves.

lightning.jpg

bomb_0.jpg

bomb_1.jpg

bomb_2.jpg

bomb_3.jpg

e15 and PictureXS

Wednesday, October 24th, 2007

I wrote a few simple methods in PictureXS to let E15 request individual images from it, and used them to build the qbert staircase again, using the average color of each picture to wrap the rest of each cube around it. When the first set of geometry was loaded, I was surprised to see all the censored pictures I forgot to block from access with the simple methods I wrote, and then decided it would be more interesting to show a special censorship label for each censored picture instead of disappearing them from view. After loading PictureXS again, I found out that there are not many censored pictures, but certainly more than what I thought. Naughty people…

e15_1.jpg
censored_550.png
e15_3.png

e15, better lights and materials

Friday, October 19th, 2007

you gotta love those normals!

tinyyyy.png

e15 explores the tiny icon factory too

Friday, October 19th, 2007

I built a qbert style staircase with 2700 icons from the tiny icon factory. The icons are good building blocks to experiment with potential strategies to build virtual architectures for populating the e15 environment in the future. Complex shapes are also good to test different illumination models. Lights, materials and all that. We want to have a good control over all these resources to use them as tools to paint different subsets of large collections of data in interesting ways. The icons, for example, have names, and these names can be used to define the material of each icon. This would help to sort them visually.

All the icons in the following illustration are painted the same way, with a slightly tealish ambient color, a redish diffuse and a white and subtle specular (and infinitely faraway parallel light rays), but I could think of changing the material of all the Popeyes to spinach green, and then it would be easy to spot where the Popeyes are in the qbert staircase.

tinye15.png

oGFx explores the tiny icon factory

Sunday, October 14th, 2007

Read about oGFx and visit Tiny.

tiny_ogfx_white.pngtiny_ogfx_cyan_21.pngtiny_ogfx_magenta_21.pngtiny_ogfx_yellow_1.pngtiny_ogfx_black.png

oGFx makes blood

Sunday, October 14th, 2007

… and you can swim in it.

blood_stripe_3.jpg

More Blood. La sangre!

oGFx meets Tron

Monday, October 8th, 2007

The one thing I most remembered about the Tron movie was the motorcycle race where the trails of the bikes would become solid walls you could crash into. Solid time. Tangible history. Cool.

tronoFGx.jpg