Complex materials through Grasshopper


The Grasshopper + Cycles (Raytraced mode) work is progressing nicely. I have made a progress overview video showing the power of creating shaders from the ground up.

These shaders are defined for two new special render contents:Cycles XML for materials and Cycles XML Environment for environments.

Not all available Cycles nodes are wrapped in Grasshopper yet, but some of the more important ones were added today - image texture and environment texture.

Already with the current set of nodes complex shaders can be created. And the nice part is that the definitions are saved in the materials. So eventually we can build a great material and environment library, in theory even light shaders :slight_smile:

Enjoy the video


Exciting Nathan!

Great to be able to do this using the already familiar GH interface…

great! How complicated is this to make? In other words, would external renderers be able to make use of this as well?

Hoi @Gijs, It is not very complicated to make. If other render engines have a concept of shader graphs it should be easy to add a mechanism to produce such shaders for those engines.
edit: I need to put a thinking cap on to ensure it is easy to add new conversion schemes and possibly new nodes, though.



I hope this gets some attention from @matt_newberg


I think this kind of interface will be good news for Octane and Vray as well and make them more useful if they should decide to embrace nodes in Rhino/Grasshopper, since they are node-based at heart.

Do you think it will be possible in the future to create some kind of Blender material exporter to GH? That would make a wealth of materials available right away…

Will all kind of GH nodes work for this system or only dedicated ones? Like: can I compute per vertex colours in GH and feed them directly to a Cycles shader? That would open up immense possibilities…

This makes me instantly interested in developing some procedural nodes of my own :slight_smile:

Thanks and Cheers!


Together with Martijn Berger (JuicyFruit in Blender forums and in #blendercoders channel on the there’s an effort to create a better Blender to Cycles XML exporter, including export for materials.

I also have a crude exporter in my public CCSycles repository, but I haven’t verified it in a long time. But in theory that should work fine for exporting Cycles material definitions from Blender to XML format, that at least can be used in the Cycles XML material and environment render contents I created for my integration work.

At this moment only dedicated nodes, but once Rhino v6 is out and things get into less stormy waters I think we should be able to hash out some mechanisms that allow us to use more nodes. I can’t tell you when though :slight_smile:


1 Like

Awesome Nathan!
I look forward to those developments.
ATM I’m more than happy with Thea Render for Rhino and it’s much faster than Cycles so far but it uses a more static/layered (while very flexible) shader approach, so the ability to work with nodes, especially if more GH-results could be fed in would make for a brilliant extension to it for more creative usage.

Good times :slight_smile: