It looks like you're using an ad blocker! I really need the income to keep this site running.
If you enjoy BlenderNation and you think it’s a valuable resource to the Blender community, please take a moment to read how you can support BlenderNation.

Open Shading Language Node in Cycles

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 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.



  • famousWolf

    Once again you guys manage to excite me, Blender devs ROCK!!!

  • Anthony Pilon

    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...

    • Kirill Poltavets

      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.

  • Michael

    Now add it to the Game engine... but seriously though, nice work guys.

  • DontCare

    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)?

    • Caleb Jones

      You can definitely generate some displacement.

  • Niklas Holmberg

    Nice work. This will bring Blender up a notch.

  • BlenderEi

    This, gentlemen, is AWESOME! It's just the right moment and comes in handy for my studies! Thank you!

  • adallafontana

    Very nice! Looks like a RendermanCodeNode, the language is not so far...

  • MPinarci

    That looks nice but, Its a bit hardcore for me .

  • rldigital

    Thanks a lot!! This is an important improvement that allow us achieve very realistic renders.

  • Saladino Lopes

    curiouser and curiouser...just when I thought the rabbit hole couldn't get any deeper.

  • Nion

    I've been waiting for programmable nodes for a long time. That is awesome!

  • razi

    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: BTW. are OSL Shaders faster than nodes?

    • Knowles2

      Yes it would be nice to have prepared, well written well documented shaders.

  • blenderboy

    This is great! I tip my hat to the developers.

    Is there such thing as a RIB-to-OSL converter?

  • Kirill Poltavets

    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! :)

    • Thomas Dinges

      It's a Core 2 Quad, Q9300 with 4x2.5 GHZ, 8GB RAM and Geforce 8600GT. :)

      • Kirill Poltavets

        Oh, CPU of mine is about twice slower (AMD 64 2 cores).

Share this story: