Full Bloom

Posted on: September 24, 2005


I was deep in meditation recently about the interplay between light and shadow. About how a few dynamics can add a lot to the atmosphere of an interactive environment. This is nothing new, games have moved progressively towards realism, surrealism and in some cases, the stark space of hyperrealism, for over two decades now.

If one is to consider the colors and textures we already have in Second Life, along with attributes we can alter for further effecting like the beloved Shiny and transparency, and look even further into the future past Full Bright to some eye candy which'll contribute tremendously to our online world, more varieties of how we see things are imminent.

Enter pixel shaders. Technical details are linked to, but in a watermelon shell, you know how it's commonly said that Photoshop filters can take a plain photo and make it look like a painting, or work some other sort of digital wizardry? Pixel shaders are like this in that they change the visual appearance of a 3D scene, in realtime. If you're familiar with video and computer games, you've prolly already seen what they can do.

One of my fave examples of pixel shading is the bloom lighting in Deus Ex: Invisible War. The game got mixed reviews in part because it happened to require pixel shaders: a lot of people who wanted to play?albeit a lower-expectations experience?were locked out. Bloom made scenes in DX:IW look like a dream to me. Yes, it was washed out at the edges. Yes, the gamma was all outta wack. But there was something about it that made Seattle apartments, the Cairo arcology, and other ingame environments so organic and appealing to me. Like the frayed edges of a historical photo, yaknow? You really feel it and it's real.

Specifics: toon shading would be a boon (and hey it rhymes!), because of how time-consuming it can currently be to get that look. I'm also thinking that to simulate some of the effects of Snow Crash, certain avatars could be made to look monochrome without having to manually desat all your clothing and skin, and maybe even have banding horizontal lines flickering on the body and static bursts. Motion blur could be used on vehicle lights, and I've also written at length before about using esoteric properties to alter the field of vision. An infrared view comes to mind (complete with post-1.7 HUD), altho there are many other benefits that could be applied the way you slap a gingerbread house together and then decorate with candy. Just very, very useful in so many ways!

All this layering makes me hungry, it makes me think of how some virtuoso guitarists chain their axes through eight effect pedals to achieve the desired results. From a flange to retro fuzz to a multitap delay (echo-o-oo-ooo!) and more, it gets really rich, like 7-layer jello. It brings me back to wondering why shiny+textures aren't used more?it's usually one or the other?or common oversights like not handcrafting texture repeats on the sides of long edges. But then, I bounce from that depression and realize the gems inworld that do showcase these things, crude simulations (like alpha textures for shadows, a hollow black box encasing a smaller white one for "cellshade") which are tantalizing promises of the real deal to come.

Some will argue that only those with higher-end graphics cards will see pixel shading effectively as it's presented, but in a way that's consistent with the progressive times, that's true. Local Lighting which currently exists in SL is quite a performance hit and not nearly as versatile, but can be still used to great effect on slower machines for still photographs; and what about our (beloved) Shiny, that isn't even an option on older cards? At least hopefully in the future, pixel shaders (which are becoming increasingly commonplace) would be a selectable choice instead of not existing at all. It'll leave people out, but it'll also encourage them to look forward to new possibilities. Not a hackneyed blueprint nor a mere proof of concept?

It's a promise.

Special thanks to Neil Protagonist and Emma Soyinka for starting two threads spanning a reasonable amount of time that led me down this road of blogging. Morgaine Dinova also makes some very good points.

Make a Reply