Reflections and refractions I am completely aware of. At this moment I am reworking the Cycles integration into the viewport from the ‘old’ display pipeline architecture to the new conduit system created by @andy. This is coming along fine, I estimate that to be complete sometime this week.
You may have seen my posts (here, here and here) about recreating and improving the material definitions using the Grasshopper plug-in I’ve been working on. This plug-in I am creating to tackle exactly the problems you are describing.
Some technical background:
Rhino has a complex environment with no less than three different types of background in one
- background as seen directly from camera when no object obscures the background
- reflection/refraction background, which is seen in the reflections of items or when seeing through an item
- the background that is used as the skylight.
I have that currently implemented here.
The custom material is even worse, where I have to simulate that entire thing in one HUGE shader. Both the material and environment shaders have light path nodes in them to enable and disable parts of rays that bounce around in a scene. For the custom material that means ensuring only part of the rays are evaluated for proper background reflection, but the interactions between those make it so that currently some of the parts seem (are) broken. To test those is quite a difficult challenge, with making changes to the code, recompiling them, restarting Rhino, reloading a test scene and see what happened with the code changes. Very time consuming and the recompile, start, load cycle breaks the node flow in my head easily.
With the Grasshopper plug-in I am able to iterate through the materials and see effects of changes directly. I can now properly work on making materials that work properly with the Rhino environment as well
You can be certain that I’ll be posting videos where I try to work on the materials to get perfect results.