Thomas Dinges demonstrates the Open Shading Language node - it allows you to write your own shaders, compile them and connect them in the node editor.
From the Code.blender.org blog:
The Cycles render engine has two shader systems.
SVM (Shader Virtual Machine) is the default shader system but the engine also has support for OSL (Open Shading Language).
The OSL shader system was working on a basic level back in April 2011 when Cycles got released, but afterwards it was not updated as Cycles itself was very young and needed to mature still. There would have been no benefit in supporting both backends from the very beginning.
Lukas Tönne and myself updated the OSL backend in Cycles for the last couple of weeks and brought it up to speed again. We had to fix a bunch of compiler errors first, as the OSL API itself changed as well over the past year.
Link
19 Comments
Once again you guys manage to excite me, Blender devs ROCK!!!
This just may be the incentive I need to start using Cycles. Cycles nodes just don't have the flexibility of BI's, but this could potentially change that...
Actually Cycles nodes have a lot of flexibility. :) Cycles just don't have some cruicial BI features (like SSS, volumetrics and hair) but generally it surpasses BI. It works in realtime so it's crucial for a speedup for most of artists. And now I'm really happy I've bought that 100-bucks NVidia card that works now like a computer renderfarm few years ago.
Now add it to the Game engine... but seriously though, nice work guys.
Remembers me of BMRT(Pixar). But that was decades ago. Is it limited to materials or can you create geometry with it (real time 3d for example defines shading a little bit different nowadays)?
You can definitely generate some displacement.
Nice work. This will bring Blender up a notch.
This, gentlemen, is AWESOME! It's just the right moment and comes in handy for my studies! Thank you!
Very nice! Looks like a RendermanCodeNode, the language is not so far...
That looks nice but, Its a bit hardcore for me .
Thanks a lot!! This is an important improvement that allow us achieve very realistic renders.
curiouser and curiouser...just when I thought the rabbit hole couldn't get any deeper.
I've been waiting for programmable nodes for a long time. That is awesome!
I think it would be good idea to create a library of prepared Shaders, I've created a library of simple materials in nodes groups (like Diffuse + Glossy, you can find my tutorial on Youtube: https://www.youtube.com/watch?v=53EfOxk2u9o). BTW. are OSL Shaders faster than nodes?
Yes it would be nice to have prepared, well written well documented shaders.
This is great! I tip my hat to the developers.
Is there such thing as a RIB-to-OSL converter?
Thomas, it looks very promising! I've thought it will be a bit slower. Wonder what's the specs of that PC. And the code doesn't look scary! :)
It's a Core 2 Quad, Q9300 with 4x2.5 GHZ, 8GB RAM and Geforce 8600GT. :)
Oh, CPU of mine is about twice slower (AMD 64 2 cores).