Search this blog

27 February, 2010

New layout

I guess most of my readers are using a RSS aggregator (and that my efforts, even small, to format this, are wasted) but still I changed the style today. Hope it's simpler and more legible.

To not leave this post too empty and too useless, I want to link to this image processing program: Naked Light

The idea is very intriguing, it's a node based editor, and uses OpenCL (OSX only at the moment) to accellerate filtering.
Unfortunately I could not make it work decently on my Macbook Pro, maybe it's a little bit too old for OpenCL, but the approach is interesting.

I found this program while searching in general for a node based alternative to photoshop. I love photoshop, but it's layer / groups / adjustments / smart objects are not ideal when you want to create something that is mostly procedural. Still it's very powerful, but not optimal.

A name card I've made, the compression killed the patterns.
The only hand-drawn elements in this image are the masks.

I wonder if there is out there a OpenCL or Cuda library for processing of big images. I was actually surprised to see that Pixel Bender is limited to hardware supported texture sizes, and does not provide helpers for tiled processing.
As a sidenote Pixel Bender can on the other hand, used as a number crunching engine! 
That's very cool, in games even today we often have too little functionality to schedule generic processing on the GPU (i.e. for DXT compression during load time), and viceversa, to easily process on the CPU interleaved streams, textures and so on...

Also, I wonder how many people do use a node-based aprroach for realtime postproccesing. You might know already that I don't like in general graph-based shader authoring, but I actually favor it for post.

I do belive that it's possible to code generate optimal postprocessing shaders from graphs, you can concatenate all the node trivially, the inputs and outputs are very controlled so you don't risk wasting registers, and the only thing you have to handle is gathering nodes (i.e. blurs), that require to separate the generated shaders in multiple passes.

No comments: