GhShaderNodes + Raytraced + Rhino 6 / 2018.05.03

Sent RhinoCrashDump.

Nice! Looking forward! :wink:

@nathanletwory I detected what seems a little bug in Principled BSDF component: Subsurface Radius and Subsurface Color seems to have the names “truncated”

You don’t see this?


@LukaszKosciesza, can you recreate the materials as you did prior to the crash, save the GH and send it to me? Did you use any polish language characters in your naming of components?

The message I see here is Podczas analizowania elementu Name nastąpił nieoczekiwany koniec pliku = An unexpected end of the file occurred while parsing the Name element. It’d be good to have the file that caused to create bad XML.

Yeah @nathanletwory , but I guess that ‘radius’ input is expecting a color , and ‘color’ input a number.

The component works as it should. Subsurface takes a number [0.0..1.0] (from fully off to fully enabled).

Subsurface Radius takes a vector \overrightarrow{v}, but a color will do to. The constituents of \overrightarrow{v} each control how much the Subsurface Color gets applied essentially, again each with a domain of [0.0..1.0].

Subsurface Color takes just a color (but a vector will do, too).

principled_sample.3dm (81.1 KB) (16.5 KB)


my apologies, I guess I have had some confusion with this.

That is ok, part of the learning process :slight_smile:

Nice icons now, but I still have no idea how to get/rebuild any of the materials shown here:

An example would be highly appreciated.
Good examples of commonly used materials are the best way to understand and learn imo.

I tried this, doesn’t look like anodized aluminium to me: shader-nodes-test (9.9 KB)

It looks like you need to set the metallic node to “1”, it should look much better after that!

1 Like

This video might be helpful to everyone that isn’t already familiar with shaders in cycles. At a glance it looks like @nathanletwory has the majority of this stuff implemented, so hopefully any minor differences don’t create more confusion for everyone.


indeed it does! thanks.
but not quite there jet. what about the “couldn’t read verctor” warning, which vector? the normal from the surface? what if it is not a flat surface?

I’m not sure what that warning is referring to, the surface normal or maybe something to do with the mapping maybe? I can’t think of a reason that it would be effecting the output though since there’s no texture image or displacement.

well displacement is what I want to do. The material I try do make is aluminium, bead blasted and then anodized.

Hmm, I’m not having any luck with bump or displacement for some reason. I was able to make something that looked decent, until the rendering cleared up and made it look perfectly smooth. Most likely user error :disappointed_relieved:

Thanks very much for helping.
I guess bump and displacement isn’t working jet.

You can ignore that, it is the result in change of input parameter type. node inputs and outputs used to be strongly typed, but that meant you couldn’t directly plug a color into a vector input, or a value into a color input. I haven’t added yet the necessary cases for GH to not complain about them (or maybe just ignore warnings altogether, don’t know yet).

Displacement probably doesn’t work properly yet, I haven’t put any thought into it, nor have I tested it.

That said, bump maps should work just fine, as well as the normal input into the principled BSDF.

Here is a simple anodized aluminium setup:

anodized_alu.3dm (549.9 KB) (15.4 KB)

And a version with bump node used (with size of noise changed so the effect is more obvious): (18.3 KB)


awesome, thanks!
seems to work, will try to understand what all the many values are about, looks quite complicated to me.
somehow changing the color from gold to something else does not work, will stay gold no matter what.
will check it out more tomorrow.

Did you remember to set a Rhino material to the Output node? This is something that isn’t saved (yet, not sure yet if that will be how it goes)

It is actually just the simple setup as given in the accepted answer. This setup may look a bit more complicated, as I added a few explicit nodes, like the colour picker, and some sliders like the IOR input and others.

The only real difference is that I didn’t use a RGB Curves node, simple because I haven’t wrapped that. I found that such tight control isn’t really necessary, the setup mostly works without that additional curve control.

Note that the geometry position is the actual world coordinate really, and since Rhino has almost everything in world coordinates you have to take that into account.