Shiva is the sister to CTL programing language I am developing, for the second class of graphics algorithms: kernels. Since both CTL and Shiva are heavily based on C, they can share a lot of code, almost the same parser and lexer, and the code generation is made by llvm.

Anyway, back to the point, a big excitement for a small achievement. Last night, I was at last, able to generate this image with Shiva:

I guess you are wondering wether their browser is broken and is unable to correcly display the image. I can’t be serious about being excited by the generation of a gray image, can I ? Well I did say it was a small achievement. The only beauty behind this image is the way it was generated:


kernel PlainGenerator
{
  void evaluatePixel(out pixel result)
  {
    result[0] = 0.5;
  }
}

Shiva aimed at being simple to learn, and easy to share, meaning the user don’t have to learn how to compile it, or how to find binary specific for its system, that he can use it without fear of virus, and last, but not least, that he can use it in any application, a few lines of code are enough to integrate OpenShiva in an application.

While the above image was the first to be generated, it’s allready possible to generate more sophisticated images, such as a gradient:

Or generates fractal :

While OpenShiva is currently only able to generate images, and not mix images together, which is what a kernel is about, the most difficult part of the library has been written now, all what remains to do (and it’s still a lot of work) is to connect all the bits together, and then, debug (writing the fractal generator made me discovered a ton of bugs…), and polish, and debug, and polish, and…