White or black layer color does not render on face

Dear Rhino expert,

I find that if I set layer color to black or white and let body rendering as layer color.
The face looks gray. While it should looks white when the layer color is white and it should looks black when layer color is black.

Face display color is correct if I set layer color to red, blue or some one else.

I just want to confirm if it is a designed behavior or rhino application bug.

Thank you,

Hi Ping,
This is designed behavior.
If you want something that looks black-ish, instead of RGB 0,0,0 use RGB 1,1,1.

Hi wim,

Is there anyway to get this display color like “gray” when I set black or white?

Thank you

Xiao, I am not sure what you are looking for. Could you elaborate?

HI wim,

For example, if I set black, but shows “Gray” in Rhino. Now I want to this “Gray” color. How could I know the RGB of this color?

Thank you,

What is your ultimate goal?
In the picture Ping posted above, you will notice that the box is “gray” but each of the 3 sides that can be seen has a different shade of gray. If you capture the screen and open that picture in a photo editor, you will be able to find the RGB for these. But since Rhino uses shading techniques to paint the viewports, variations in light levels will always influence the color of a face.

From what I have read it seems you think the layer color should apply to the actual piece of work. If you want your piece to be a certain color you will have to apply a material to it.

All my best … Danny

Hi Wim,

The truth is I use opennurbs SDK to read 3dm file in our CAD application.
In this case, I get a color with RGB(0,0,0) which is actually black. So if I set the RGB value to our CAD system, I see black which is different from what I see in Rhino.

If I want to keep WYSWYG, what is your suggestion to handle RGB(0,0,0) and RGB(255,255,255)?

Thank you,

If you want WYSIWYG compatibility between two 3D programs and colors other than black and white appear to be working fine, I would suggest not using black and white but for example 10,10,10 and 245,245,245.

The other alternative would be to use a rendered display mode in Rhino instead of a shaded one. As @lopacki writes, you will have to apply a color to the material (of the layer or the geometry). rgb 0,0,0 will display totally black. rgb 255,255,255 will still be shades of gray unless you change the emission color in the advanced settings of the material.


I know changing style or material is quite simple in Rhino to avoid RGB(0,0,0) on layer looks different in other CAD.

However, if I get customer models with such case, it sounds not good to change each model one by one.


I’m not getting the full picture here :confused:
You are receiving rhino files from your customers. You have written (?) a plug-in to read those files into your other CAD platform. You want to get the same visual representation as what your customer is seeing.
Is this correct? If so, how do you know what the customer sees? And why do you care? (Not that I cannot imagine situations where that would be required). But in the end, it sounds like you need to do something with the settings in the other CAD application. Or modify the 3dm reader.

Since we received *.3dm file from customer, the customer could see the color Rhino displayed. We read 3dm file to our CAD and want to keep the same appearance as we see in Rhino. This is a basic policy of our Rhino file reader.

Thank you for your suggestions.
I think it might be doable modifying our 3dm reader.
Once I get a layer color with rgb0,0,0 or rgb255,255,255, we should set it as NULL color (default value and let application decide what color he wants to display).
Do you think it is reasonable?

I don’t know if rhino has default value or not. But sounds like the gray color is the default one. Am I right?

Thank you,

yes, that sounds right to me. But as far as I know, Rhino doesn’t have a default color. A light gray might do the trick for both 0,0,0 & 255,255,255 layers.