Texture types in rhino : only 4 texture types?

Hi all !

So when going through the Rhino docs, the texture is mentioned to have only 4 types.

What about the other types of textures, like, the diffuse, emissive, specular, metallic and other types as mentioned in the assimp page:

What would I have to do to get the equivalent textures that are defined there in Rhino?

For example, If I wanted to get the metallic value, its color, and its texture mapping, how would I have to do it?

The bitmap texture is the diffuse texture.

There are no other texture types in Rhino materials in v6 and earlier.

For v7 we are working on a PBR-based material definition with all the texture types to control all the channels, but that is still prototype-stage.

So, only diffuse texture, transparency, bump and emap.

To create a metal-like material with ON_Material you’d set the diffuse color channel to black and the reflection to 1.0 (full). Then the reflection color is the color you’d set to control the metal color.

If at all possible I suggest you use the RDK materials instead to access the Rhino materials (https://developer.rhino3d.com/api/cpp/class_c_rh_rdk_material.html)

Hey @nathanletwory,

Oh okay, got it, thanks!

So for v6, there are no plans for supporting PBR materials?

May I ask, why do you prefer the RDK materials, instead of CRhinoMaterial? As I am making a rhino exporter, which would need all the data about the material, how much will it impact if I choose the RDK materials instead of the Rhino materials?

We recommend using RDK materials because they are the modern way of doing things in Rhino. They are shared among objects and layers, they support any number of different types of textures. They can be custom designed by rendering engines.

And most importantly - we are building the future of Rhino’s material system on CRhRdkMaterial/RenderMaterial…so if you don’t use it, you will never be able to use any of the new stuff.