Cycles + Rhinoceros 3D -> RhinoCycles

Since begin of 2014 I’ve been working on integrating our beloved Cycles into Rhinoceros 3D. This work is progressing nicely, since this year I try to post regular updates on my YouTube channel.

I’ve noticed that several times this project has been mentioned on this forum, but I’ve been so busy working on the plug-in code that my BA attendance has been very minimal. I thought it’d be a good time to step up that a bit and more-or-less announce this work in its own thread :slight_smile:

So, what is RhinoCycles? It is exactly that, a plug-in that integrates Cycles into Rhino 3D. The target is to have it at some point in the upcoming Rhino 6, which is currently know to Rhino 5 users as Rhino WIP. RhinoCycles in its current state offers interactive rendering with much of the Rhino material and environment (like gradient and HDRi background) features supported. Viewport rendering is on the todo-list.

The video I publish on week 16 of 2015 (last week) gives a feel of what RhinoCycles currently does: https://www.youtube.com/watch?v=u3grvqn8UiE

Technical stuff: for RhinoCycles I’ve created the C[CS]?ycles project on GitHub. This project creates a low-level C API for Cycles, and a C# wrapper around that. Not everything is fully wrapped yet, but currently for RhinoCycles the minimum feature set is about complete. This project uses Cycles stand-alone repository as its basis, current Cycles master is merged.

Last week I also prepared my plug-in for upcoming OpenCL patch by AMD, so I hope that AMD GPUs and multi-devices can be supported this year as well.

For developers interested in integrating Cycles into their own software (and the possibilities here are pretty much unlimited, perhaps you want to use Cycles to render stuff for a game, or previews of a layout program, who knows!) they are free to clone C[CS]?ycles and participate in the improvement of it.

I continue to work on RhinoCycles and will post regularly updates to my YouTube channel, and give a try in keeping this thread updated as well.

Cheers!

/Nathan

Hey Nathan,
that is a really nice integration of Cycles into Rhino, I am very happy about it. Keep up the great work and then Rhino users can have some fun in the next version. :slight_smile:

It’s encouraging to see what people do with Cycles, also outside of Blender! :yes:

Nathan, very cool to see Cycles thriving outside of Blender! Would love to see more companies incorporate it into their product and see Cycles mature. Personally I would love to have it inside of BlackMagic’s Fusion compositor.

I am hoping that since McNeel are integrating Cycles it into a paid program , that they will eventually funnel funds back into the development of Cycles. I realise that they have no obligation to do this, but it would be in their (and Blender users) interest to see Cycles further advancement.

The fact that I can work on CCSycles as part of my job already means funds are being used for improvement of Cycles. In this case a C and C# API around Cycles, that can be used by other developers as well. This should be seen as Cycles advancement :slight_smile:

/Nathan

Thanks JesterKing,
for what it matters, I think CCSycles should be part of the cycle codebase.
Would simplify the integration with the other software and cycle adoptions.

Wow, just wow! Really love the roadmap! :)As we know in Blender Cycles we’ve got the Nodes, but in Rhino…, is it will have the nodes in Rhino and how we create our own materials?Btw: Great !

The idea is to have this eventually proposed for inclusion to the Cycles code-base. For now I prefer to not interfere too much there.

The idea is to have at some point actual node access in Rhino as well… But we’ll see how things go :slight_smile:

/Nathan

So, any new progress?

Oh so the Cycles version might start not as a node based renderer? Well I never found VRay in Rhino userfriendly rather terrible. And I am not sure how many users would use nodes in CyclesRhino compared to some make glossy make diffuse make glass and add texture or bump.

They are kinda lazy. But sometimes they dont have the time either.

Sounds good.
I have tested Rhino WIP (thanks again) and your work is very nice. I look forward to the day we can use the same materials etc. between Blender and Rhino. Its so tasking always having to do 2 different copies of everything.

Quick question out of curiosity. Rhino has the awesome (with a thousand +1) node interface for grasshopper.
Could that be used to make a node interface for Cycles? I dont know how the API works between the two programs…

Roger roger…

Busy working on the viewport integration, this is going to take a while, since it needs all kinds of new code in different places to support. As a side-track I implemented just this evening support for transparency textures.

The idea is to cater for the lazy users first. No extra buttons, knobs, sliders or UI for RhinoCycles at first. It should work well in most cases for most users, especially for those who have no or not much experience setting up good renders.

It should be trivial to get exporting of Cycles materials from Blender to Rhino working. Much of the code for that is already in place, I’ve just mostly focused on myself: exporting shaders as C# code.

This has indeed been played around with. Considering that Grasshopper was originally conceived in the office I work at in Finland the chances are pretty good :slight_smile: But anything node stuff is for after the no-button integration.

/Nathan

Thanks for quick info! I hope we’ll get full-supported version of Cycles into Rhino and maybe, for other softwares too:D