# Rhino PBR-Style material

**URL:** <https://discourse.mcneel.com/t/rhino-pbr-style-material/79286>\
**Category:** Rendering\
**Created:** [February 25, 2019, 9:28am UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286 "2019-02-25T09:28:33Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [February 25, 2019, 9:28am UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/1 "2019-02-25T09:28:33Z")

</div>

Recently I published a [plug-in that provides a PBR-style material for Rhino v6](https://github.com/mcneel/RhinoPbrMaterial), Raytraced mode.

I mentioned it already in another topic: [Few questions about Cycles](https://discourse.mcneel.com/t/few-questions-about-cycles/54821/16), 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](https://share.allegorithmic.com/).

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

 ![textured glass and metal](https://global.discourse-cdn.com/mcneel/original/3X/8/0/8070e0b0f557cffda2220e63c33a5d24cdad4dff.jpeg)

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](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/b/4/b492e6feb56c5c9428f78da1dbb5847ae37d05a1.3dm) (955.7 KB) ).

I hope this material is useful for your rendering needs.

/Nathan

---

<div class="post-metadata">

**Author:** ![antoine](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/antoine/32/747721_2.png) [@antoine](https://discourse.mcneel.com/u/antoine)\
**Post date:** [February 25, 2019, 10:03am UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/2 "2019-02-25T10:03:51Z")

</div>

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

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

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [February 25, 2019, 10:14am UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/3 "2019-02-25T10:14:26Z")

</div>

Here a screenshot breakdown of the sofa material

Just the diffuse color and specular set to 0.5

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/b/7/b7611be63e1d28074da4c847eaa80cd75f1d5d3c.jpeg)

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/0/d/0d134d11f778d4f98199573d07fa9893a9ca3d41.png)

The specular texture turned on

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/7/d/7d4b1ae0f198e006ecfcd5dddb160fc4182f2009.jpeg)

The AO map enabled

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/a/b/ababa1fe142358573f410a624498ec3226d15660.jpeg)

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

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/6/a/6aea57a5d1b0b59ed3d45162e581a7fa93eb8fee.jpeg)

> [@antoine](#):
>
> One of my wish is to generate a parametric texture, by linking as entry file( diffuse, normal, displace…) an Grasshopper output of graphical files…

@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.

> [@antoine](#):
>
> Could it be imagine?

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

edit: here btw the sofa material: [Sofa.rmtl](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/e/8/e883b680749d6b2e1f83f1e21821edcd2389c754.rmtl) (1.1 MB)

---

<div class="post-metadata">

**Author:** ![joel\_putnam](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/joel_putnam/32/533378_2.png) [@joel\_putnam](https://discourse.mcneel.com/u/joel_putnam)\
**Post date:** [February 26, 2019, 6:43pm UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/4 "2019-02-26T18:43:22Z")

</div>

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.

Joel

> **[2019.03.25\_Cuttlefish Build.zip](https://www.dropbox.com/s/jic75u1i25h1871/2019.03.25_Cuttlefish%20Build.zip?dl=0)**
>
> Shared with Dropbox

---

<div class="post-metadata">

**Author:** ![Marc](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/marc/32/494790_2.png) [@Marc](https://discourse.mcneel.com/u/Marc)\
**Post date:** [May 30, 2019, 4:48pm UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/5 "2019-05-30T16:48:03Z")

</div>

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

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/b/6/b6eaeb3cea7af7cf1c3ea53e6785ac8c8d8eb7d6.png) 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”…

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [May 30, 2019, 8:56pm UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/6 "2019-05-30T20:56:34Z")

</div>

> [@Marc](#):
>
> When I create a new material I see no new option.

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

---

<div class="post-metadata">

**Author:** ![3dsynergy](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/3dsynergy/32/758178_2.png) [@3dsynergy](https://discourse.mcneel.com/u/3dsynergy)\
**Post date:** [May 31, 2019, 6:58pm UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/7 "2019-05-31T18:58:14Z")

</div>

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:  
◾Gloss/Color Specular  
◾Gloss/Metalness  
◾Roughness/Metalness  
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.  
RM

 ![pbrTextureExSettings](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/7/8/78ada02e5cbe2500133c9a3038a581f5a238b961.png)

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [May 31, 2019, 8:14pm UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/8 "2019-05-31T20:14:59Z")

</div>

> [@3dsynergy](#):
>
> This works using the regular Rhino render?

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).

> [@3dsynergy](#):
>
> What format in 3dcoat should I use to get my pbr materials into rhino?

Rhino will be doing the Metalness/Roughness workflow.

> [@3dsynergy](#):
>
> Should I use the blender option/settings to export my materials into Rhino.

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

---

<div class="post-metadata">

**Author:** ![3dsynergy](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/3dsynergy/32/758178_2.png) [@3dsynergy](https://discourse.mcneel.com/u/3dsynergy)\
**Post date:** [June 1, 2019, 1:20am UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/9 "2019-06-01T01:20:11Z")

</div>

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?

RM

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [June 1, 2019, 9:26am UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/10 "2019-06-01T09:26:06Z")

</div>

> [@3dsynergy](#):
>
> 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.

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.

> [@3dsynergy](#):
>
> So if I download the plugin will I have pbr in Rhino 6?

For `Raytraced` yes. Assuming I didn’t write buggy shader 🙂

> [@3dsynergy](#):
>
> Can I render my pbr textured models using the current Rhino renderer in RhinoV6 (not using cycles)?

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.

> [@3dsynergy](#):
>
> Will I have to add the materials or will the plugin bring in my model with the correct materials applied?

Currently it is fully manual.

---

<div class="post-metadata">

**Author:** ![3dsynergy](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/3dsynergy/32/758178_2.png) [@3dsynergy](https://discourse.mcneel.com/u/3dsynergy)\
**Post date:** [June 1, 2019, 7:52pm UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/11 "2019-06-01T19:52:56Z")

</div>

Thanks Nathan

---

<div class="post-metadata">

**Author:** ![Marc](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/marc/32/494790_2.png) [@Marc](https://discourse.mcneel.com/u/Marc)\
**Post date:** [June 3, 2019, 4:46pm UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/12 "2019-06-03T16:46:14Z")

</div>

And then?  
 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/4/1/41ac1de1f37b6a8e85c31f9cfa42d0e54b8affa3.png)

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [June 3, 2019, 6:51pm UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/13 "2019-06-03T18:51:00Z")

</div>

Is the rhinopbrmaterial enabled and loaded?

---

<div class="post-metadata">

**Author:** ![Marc](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/marc/32/494790_2.png) [@Marc](https://discourse.mcneel.com/u/Marc)\
**Post date:** [June 3, 2019, 8:28pm UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/14 "2019-06-03T20:28:58Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [June 3, 2019, 8:41pm UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/15 "2019-06-03T20:41:52Z")

</div>

I indeed made an update today.

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

---

<div class="post-metadata">

**Author:** ![scottd](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/scottd/32/494002_2.png) [@scottd](https://discourse.mcneel.com/u/scottd)\
**Post date:** [December 12, 2019, 11:16pm UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/16 "2019-12-12T23:16:54Z")

</div>

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](https://discourse.mcneel.com/t/pbr-materials-new-in-rhino-wip/93582)

 ![image1](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/9/8/983f702ca250e2bda10765e42df85962ac9d93f6.png)

---

<div class="post-metadata">

**Author:** ![CJ\_DE](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/cj_de/32/159663_2.png) [@CJ\_DE](https://discourse.mcneel.com/u/CJ_DE)\
**Post date:** [January 20, 2021, 9:31am UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/17 "2021-01-20T09:31:41Z")

</div>

hey nathan,

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

🙂

---

<div class="post-metadata">

**Author:** ![Holo](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/holo/32/496872_2.png) [@Holo](https://discourse.mcneel.com/u/Holo)\
**Post date:** [January 20, 2021, 9:52am UTC](https://discourse.mcneel.com/t/rhino-pbr-style-material/79286/18 "2021-01-20T09:52:32Z")

</div>

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

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/f/6/d/f6dfa5da5eb788286148ac380c1a07f55afbb123.png)

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 🙂
