# GrasshopperDisplayMaterial class

Namespace: [Rhino.Display](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.display.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md) · Since v9.0

```cs
public class GrasshopperDisplayMaterial
```

Settings for drawing shaded meshes with the Grasshopper 2 ("G2") shader, used by [DisplayPipeline.DrawMeshShaded(Mesh, GrasshopperDisplayMaterial)](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypipeline/drawmeshshaded.md) and [DisplayPipeline.DrawMeshesShaded(IEnumerable<Mesh>, GrasshopperDisplayMaterial)](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaypipeline/drawmeshesshaded.md).

**Remarks:** The G2 shader produces a gradient-shaded look from a compact set of inputs rather than from the full lighting model of a [DisplayMaterial](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaymaterial.md): a diffuse colour, plus optional striping, stippling and dark-area desaturation. Unlike [DisplayMaterial](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaymaterial.md) this is a plain settings object with no unmanaged resources, so it does not need to be disposed.

## Constructors

- [GrasshopperDisplayMaterial](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.grasshopperdisplaymaterial/ctor.md): (2 overloads) Constructs a default material with an opaque white diffuse colour.

## Properties

- [Desaturation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.grasshopperdisplaymaterial/desaturation.md): Gets or sets how far the shaded colour is blended towards greyscale, as a fraction from 0 to 1: 0 leaves the colour untouched, 1 is fully greyscale, and values in between blend linearly. Default: 0.
- [Diffuse](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.grasshopperdisplaymaterial/diffuse.md): Gets or sets the diffuse colour — the colour reached in the brightest areas of the shading. The alpha channel is opacity, following the usual [Color](https://learn.microsoft.com/dotnet/api/system.drawing.color) convention: A=255 is fully opaque and A=0 fully transparent. Note this differs from [DisplayMaterial.Diffuse](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.displaymaterial/diffuse.md), which ignores alpha. Default: opaque white.
- [ShadeFalseColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.grasshopperdisplaymaterial/shadefalsecolor.md): Gets or sets whether a mesh's vertex colours are shaded. Has no effect on a mesh that has no vertex colours. Default: false.
- [Stippling](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.grasshopperdisplaymaterial/stippling.md): Gets or sets whether an 8x8 Bayer stipple (dither) mask is applied. Default: false.
- [StipplingAmount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.grasshopperdisplaymaterial/stipplingamount.md): Gets or sets how much of the stipple pattern is turned off, as a fraction from 0 to 1 (used only when [GrasshopperDisplayMaterial.Stippling](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.grasshopperdisplaymaterial/stippling.md) is true). Default: 0.
- [StripeContrast](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.grasshopperdisplaymaterial/stripecontrast.md): Gets or sets the stripe contrast (used only when [GrasshopperDisplayMaterial.Striping](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.grasshopperdisplaymaterial/striping.md) is true). The effective range is 0..0.9; higher values are clamped, and 0 means no visible striping. Default: 1.0.
- [StripeWidth](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.grasshopperdisplaymaterial/stripewidth.md): Gets or sets the width of one stripe band in screen-space pixels (used only when [GrasshopperDisplayMaterial.Striping](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.grasshopperdisplaymaterial/striping.md) is true). Stripes run along the screen diagonal and the light/dark pattern repeats every `2 × StripeWidth` pixels; values below 1 are treated as 1. This is a pixel-space overlay — it does not scale with zoom or model units. Default: 0.
- [Striping](https://developer.rhino3d.com/api/rhinocommon/type/rhino.display.grasshopperdisplaymaterial/striping.md): Gets or sets whether the G2 striping overlay is applied. Default: false.
