Material passing (bug?)

In theory, Material Shader is passing the same information without altering it. Is this really necessary?

I catch myself sometimes thinking, how overcomplicated some actions are to make basic thing working.

This should be enough:

You should try the new Custom Preview component…

I don’t think this is a bug. The old component just doesn’t know what to do with a Model Material.

I can’t find this thing.

It’s only available in Rhino 9 WIP

This is a WiP! but the only choice I have is the one we see. Could you be so kind and send me blank file with just this component? I will see what’s happens when I load it.

It’s not in a tab. Double click the canvas and type #wip

custom_preview_wip.gh (2.5 KB)

That some trickery I didn’t know, thanks for the tip!

You can also type #custom preview wip but there do not seem to be any other WIP components so just #wip is quicker :slight_smile:

Now my preview is really sexy, that’s the whole new life brought into Rhino

What do you design / create?

I do lots of thing but this is the screenshot for cabinet assembler. One can build the whole assembly just by picking: this one, this one, this one and that one from the list of available components.

Another example (doesn’t make sense in terms of functionality, just testing materials)

It can go sideways as well.

There is a lot that can be done with Rendeirng and Materials in Grasshopper WIP: Rhino WIP Feature: New GH Components for Rendering Materials

I have more questions regarding this:

This is what I am seeing when material props are passed directly to the output:

And this is what displays when materials are deconstructed and constructed from the same properties:

Shouldn’t it be the exact same appearance?

all output values comes as 100

so, manually, setting global to 100 should result in a first image, meanwhile:

There is also difference in display between the display modes.

Example - Rendered view

When material props are passed directly:

with de&constructed materials (Shine=5):

with de&constructed materials (Shine=100):

I have no clue what is happening here and how to control it.

Just to complain little bit more:

The dark colour disappear with deconstructed materials:

before

after

All I wanted to achieve is better control over material reflectivity to get more roughness in it.

And the final question for today: why the difference between rendered and any other view style?

rendered

any other style

I may not be understating some fundamentals here, but if not me, then who? :sweat_smile: Think of a new users trying to grasp the behaviour.

This is complicated in that there are a lot of different material material types being used together. Being caught between two Material types can be quite confusing. Material types cannot easily be mixed and matched.

I you want to drop the example files in this thread we can work together on them to get them untangled.

The menu image below is the OpenGL materials, quite simple and what has always been in Grasshopper. The menus is quite simple because the material is not that sophisticated. The icon is the Golden Egg. Technically they are a Grasshopper thing only. So, in the examples above, some non-render displays still show materials because Grasshopper is displaying that, not Rhino:

The next menu is the newer Rhino materials that are quite sophisticated. The icon is a paint tube. These were added some in V8 and more in the WIP. These have a lot more control of roughness etc…

Based on the material style used, use the same components that belong to each material style. OpenGL (Display Material) for quick previews. Or use Rhino (Model Material) materials for actual control of a rendered material:

Then on top of this there is how materials are displayed. There are 3 modes.

  1. Rendered mode is a quick rendering step that will display most effects but will take reflective shortcuts to speed up display. Best to use Model Material here.
  2. Raytrace mode is a slower display but will use more of the reflective effects and is the best results that can be used. Requires Model Material for any control
  3. The OpenGL (Display Material) Is Grasshopper overwriting the Rhino display no matter what display mode is being used. This is the quickest and simplest way to work, but does not give much control.

Hi Scott.

Thanks for explanation. I have to digest it and experiment on my own based on your guidance. I will come back.

I promised I will come back. here is my 5 cents

When it comes to Metallic, there are only two values

Anything below 0.5 (included)

Anything above 0.5

Other values do nothing for appearance.

Roughness offers slightly bigger spectrum of values, but the change can be noticed only at >0.6

Also this is strange

OK

Not OK?

I’d also be grateful for sharing some insight on why this scenario isn’t working:

There are a number of questions here, so let’s do them one at a time.

In this image what does the error report in the not to the upper right of the component?

And on this one, although i expect it reports no name:

Ad1. the message is bizarre and I didn’t understand a bit of it

  1. Data conversion failed from Text to Texture Slot

Ad2.

  1. Solution exception:Object reference not set to an instance of an object.

So the first one about texture slot is that Metallic can take a number of different intputs, as it is not simply a value. It can take textures, colors numbers, etc. But it does take simple text. I suspect this is because simple text could be a number value or a texture name, it is not clear how to convert it.

Here is a sample of different inputs for Base Color, Metalic and I suspect transparency:

In a material, anything with this number slider and this texure icon also will be able to take numbers, textures and colors etc..

Here is a test model that we can start sending back and forth with this so we can reduce the number of variables in the conversation. You images look much much better, but this way we can look directly at all the settings as you explore this:

testpipe.3dm (10.0 MB)