Rhino PBR-Style material

Recently I published a plug-in that provides a PBR-style material for Rhino v6, Raytraced mode.

I mentioned it already in another topic: Few questions about Cycles, but I thought it’d be good to have a new topic for this.

I made a short video highlighting some of the features of the material. It is pretty short and light, by no means an exhaustive guide to the material. But I hope it shows the potential for the user to get PBR-based materials already in v6.

The materials in the video are created from materials found on Substance Share.

With the PBR-material it is also possible to do textured glass and textured metal:

The glass in the above image has a rose as texture - the completely white of the texture means complete transparency. The snakey shape has a metallic material with a snake skin as base color texture, and with the same texture used as bump as well ( PBR_TexturedGlassAndMetal.3dm (955.7 KB) ).

I hope this material is useful for your rendering needs.



Hello Nathan… Wonderful news
I will test it as soon as possible… so today :slight_smile:

One of my wish is to generate a parametric texture, by linking as entry file( diffuse, normal, displace…) an Grasshopper output of graphical files…

Like random seed … but with an infinite control with grasshopper…

Could it be imagine?

Thanks so much

Here a screenshot breakdown of the sofa material

Just the diffuse color and specular set to 0.5


The specular texture turned on

The AO map enabled

And finally the normal map enabled (and another object and different PoV for better view of effect)

@joel_putnam was at some point working on a GH plug-in for creating procedural textures. On my side I still need to write some lines of code to actually use that image data, but in theory it is possible.

Yes, as above :slight_smile: When? Dunno, both @joel_putnam and I have been busy with our work projects…

edit: here btw the sofa material: Sofa.rmtl (1.1 MB)

1 Like

As Nathan mentioned I was working on this but have not spent time in a few years. It has potential but until we can hook it directly into the cycles shader nodes I most likely will not spend much time on it. It was really just something I did for a two week code sprint. There are probably many issues and bugs that need fixing for instance I am pretty certain the normal generator is totally wrong if it even works anymore. There are some fun things that again probably do not work but it has chrome embedded into it and was reading Processing JS files so one could generate patterns or other “images” for use in materials.

The end goal has always been to release this GPL so that the community can utilize it and contribute.


How is this supposed to work?
Using TestPackageManager I installed RhinoPbrMaterial;

and re-started Rhino (I have 6.14).
When I create a new material I see no new option. I opened the file you created and the materials are of the type “Placeholder”…

Check the More Types… entry of the context menu when creating a new material.

Hi Nathan,
This works using the regular Rhino render?
I’m very interested because 3dcoat uses pbr materials and I want to get my textured models in Rhino looking as good as they do in coat.
What format in 3dcoat should I use to get my pbr materials into rhino?
I can use either of the 3 options you can see circled in red, which one should I use? Also you say displacement is supported?

This is from the 3dcoat help file:
3D-Coat supports three different PBR workflows:
:black_medium_small_square:Gloss/Color Specular
Texture maps corresponding to each of these workflows are saved upon export.

Also in coat there are standard types from the dropdown list such as max, lightwave, maya and blender would be great to get Rhino on that list. Should I use the blender option/settings to export my materials into Rhino.

Thanks for your hard work getting these nice additions to us.

No, it works with Raytraced. In v7 the Rhino Render will eventually be the same as Raytraced, but only once I get Clipping Planes done (during the summer).

amendment: in v7 Rendered view will support PBR as well - the same material definition. You can already play a bit with it (not everything is implemented, but progressing well).

Rhino will be doing the Metalness/Roughness workflow.

I don’t know 3dcoat. I’ve worked with Substance Painter.

Hi Nathan,
3dcoat is pretty amazing. I wish Rhino would get more involved with their file formats and exchange, blender is well supported so hopefully in the future Rhino can easily find a way to interact. Now it’s the obj route which works well and looking forward to pbr support in Rhino.
So if I download the plugin will I have pbr in Rhino 6?
Can I render my pbr textured models using the current Rhino renderer in RhinoV6 (not using cycles)?
Will I have to add the materials or will the plugin bring in my model with the correct materials applied?


3dcoat is welcome to add support. If you have contacts at 3dcoat you can always connect them with us, we’re glad to help make it happen.

For Raytraced yes. Assuming I didn’t write buggy shader :slight_smile:

Not with PBR. Tecnically speaking the plug-in only provides a material that uses the GetParameter API with a set of parameter names that Raytraced understands also in V6, but is further built upon in v7. In V6 nothing else of Vanilla Rhino understands PBR.

Currently it is fully manual.

Thanks Nathan

And then?

Is the rhinopbrmaterial enabled and loaded?

You just uploaded a new version, right? :wink:
I updated it and now it’s available as a material type, time to experiment!

I indeed made an update today.

Note that some stuff will properly work only in v6.16, like the normal maps


Hey all, we just added PBR materials officially to the Rhino WIP for both Windows and Mac. Find out more on the PBR Material Discussion


hey nathan,

where is the displacement chanel? i am using R6. can you tell me?
thx in advance,


There is a displacement ‘hack’ in v6 in the object properties dialog:

But this is displacing the rendermesh, so it can both result in a very dense mesh or a badly displaced one if the mesh is too simple.

I call it a ‘hack’ since it is not related to the material :slight_smile:

1 Like