2015/06/11

The Juggler is back, in OSL!


OSL is a very powerful and high level shading language. It’ near possible to do anything with it, even the most unexpected shaders!

As I was working on the FOSPHORE project, I was thinking “… spheres, spheres, spheres, just like the very first 3D on personal computers… “ and Wosh! I rushed back in time, in 1986, to Eric Graham’s Juggler.

It was a true milestone in Computer Graphic! If we are using 3D software on our PC now, it’s also because, one day, a small Juggler animation told us “it’s possible to do it without Mainframe Computer, with the computer on your desktop!”.

So, here is my OSL version of the Juggler!

I try to do it as close as possible to the 1986 rendering. So I wrote a true Minimalist Ray Tracer inside the OSL shader.

This shader is near Real-Time. And you can play with it inside Blender! (The first Juggler was more than one hour rendering time on Amiga computer in 1986, in 320x200 pixels).

You can DOWNLOAD the .oso shader file and use it in Blender here.

I didn’t release the .osl yet. I first need to clean up the code, and add a ton of comments!

As it is a .oso, it would not work on other renderer than Cycles. Indeed, you could try it, as the only closure used is ‘emission’. I focused on Blender because of real time Cycles visualization.

I didn’t include options for polygon orientation, or XZY/XYZ choice.
If you are interested, just post a comment and I’ll do it asap!

Enjoy!

The Juggler OSL Shader from François Gastaldo on Vimeo.

1 commentaire:

franz a dit…

Hi François,

Franz here, from the appleseed renderer.

Nice work! We would love to try this shader out in appleseed, any chance to get access to the source code (privately if you prefer)?

Best,
Franz