# Material class

Namespace: [Rhino.DocObjects](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.docobjects.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
[Serializable]
public sealed class Material : ModelComponent
```

## Constructors

- [Material](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/ctor.md): (2 overloads)

## Properties

- [AlphaTransparency](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/alphatransparency.md)
- [AmbientColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/ambientcolor.md)
- [ComponentType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/componenttype.md): Returns [ModelComponentType.RenderMaterial](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponenttype.md).
- [DefaultMaterial](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/defaultmaterial.md): (static)
- [DiffuseColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/diffusecolor.md)
- [DisableLighting](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/disablelighting.md)
- [EmissionColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/emissioncolor.md)
- [FresnelIndexOfRefraction](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/fresnelindexofrefraction.md): Gets or sets the Fresnel index of refraction of the material, default is 1.56
- [FresnelReflections](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/fresnelreflections.md): Gets or sets if Fresnel reflections are used.
- [IndexOfRefraction](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/indexofrefraction.md): Gets or sets the index of refraction of the material, generally >= 1.0 (speed of light in vacuum)/(speed of light in material)
- [IsDefaultMaterial](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/isdefaultmaterial.md): By default Rhino layers and objects are assigned the default rendering material.
- [IsDeleted](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/isdeleted.md): Deleted materials are kept in the runtime material table so that undo will work with materials. Call IsDeleted to determine to determine if a material is deleted.
- [IsDocumentControlled](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/isdocumentcontrolled.md): If true this object may not be modified. Any properties or functions that attempt to modify this object when it is set to "IsReadOnly" will throw a NotSupportedException.
- [IsPhysicallyBased](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/isphysicallybased.md)
- [IsReference](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/isreference.md): Rhino allows multiple files to be viewed simultaneously. Materials in the document are "normal" or "reference". Reference materials are not saved.
- [MaterialIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/materialindex.md)
- [MaxShine](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/maxshine.md): (static)
- [Name](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/name.md)
- [PhysicallyBased](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/physicallybased.md)
- [PreviewColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/previewcolor.md): Very simple preview color function for GUIs.
- [RDKMaterialID](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/rdkmaterialid.md): Gets the RDK material ID.
- [ReflectionColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/reflectioncolor.md)
- [ReflectionGlossiness](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/reflectionglossiness.md): Gets or sets the reflection glossiness.
- [Reflectivity](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/reflectivity.md): Gets or sets how reflective a material is, 0f is no reflection 1f is 100% reflective.
- [RefractionGlossiness](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/refractionglossiness.md): Gets or sets the refraction glossiness.
- [RenderMaterial](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/rendermaterial.md): Get the RenderMaterial related to this Material. Will create a new RenderMaterial if none exists. This can happen for older documents.
- [RenderMaterialInstanceId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/rendermaterialinstanceid.md)
- [RenderPlugInId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/renderpluginid.md): The Id of the RenderPlugIn that is associated with this material.
- [Shine](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/shine.md): Gets or sets the shine factor of the material.
- [SpecularColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/specularcolor.md)
- [Transparency](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/transparency.md): Gets or sets the transparency of the material (0.0 = opaque to 1.0 = transparent)
- [TransparentColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/transparentcolor.md)
- [UseCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/usecount.md): Number of objects and layers that use this material.
- [UserStringCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/userstringcount.md)

## Methods

- [ClearMaterialChannels](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/clearmaterialchannels.md): Removes all material channels
- [CommitChanges](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/commitchanges.md)
- [CopyFrom](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/copyfrom.md)
- [Default](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/default.md): Set material to default settings.
- [GetBitmapTexture](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/getbitmaptexture.md)
- [GetBumpTexture](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/getbumptexture.md): Gets the bump texture of this material.
- [GetEnvironmentTexture](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/getenvironmenttexture.md)
- [GetTexture](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/gettexture.md): Get the texture that corresponds with the specified texture type for this material.
- [GetTextures](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/gettextures.md): Get array of textures that this material uses
- [GetTransparencyTexture](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/gettransparencytexture.md)
- [GetUserString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/getuserstring.md): Gets a user string.
- [GetUserStrings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/getuserstrings.md): Gets an independent copy of the collection of (user text key, user text value) pairs attached to this object.
- [MaterialChannelIdFromIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/materialchannelidfromindex.md): Finds id of the material channel at given index.
- [MaterialChannelIndexFromId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/materialchannelindexfromid.md): Finds index of the material channel that refers to a material channel with the given id. Optionally adds channel if one is not found.
- [OnSwitchToNonConst](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/onswitchtononconst.md)
- [SetBitmapTexture](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/setbitmaptexture.md): (3 overloads)
- [SetBumpTexture](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/setbumptexture.md): (2 overloads)
- [SetEnvironmentTexture](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/setenvironmenttexture.md): (2 overloads)
- [SetTexture](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/settexture.md): Set the texture that corresponds with the specified texture type for this material.
- [SetTransparencyTexture](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/settransparencytexture.md): (2 overloads)
- [SetUserString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/setuserstring.md): Attach a user string (key,value combination) to this geometry.
- [ToPhysicallyBased](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.material/tophysicallybased.md)

## Inherited Members

- From [ModelComponent](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent.md): [ComponentStatus](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/componentstatus.md), [DeletedName](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/deletedname.md), [HasId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/hasid.md), [HasIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/hasindex.md), [HasName](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/hasname.md), [Id](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/id.md), [IdIsLocked](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/idislocked.md), [Index](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/index.md), [IndexIsLocked](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/indexislocked.md), [InstanceDefinitionModelSerialNumber](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/instancedefinitionmodelserialnumber.md), [IsComponentStatusLocked](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/iscomponentstatuslocked.md), [IsSystemComponent](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/issystemcomponent.md), [ModelSerialNumber](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/modelserialnumber.md), [NameIsLocked](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/nameislocked.md), [ReferenceModelSerialNumber](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/referencemodelserialnumber.md), [ClearId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/clearid.md), [ClearIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/clearindex.md), [ClearName](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/clearname.md), [DataCRC](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/datacrc.md), [LockId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/lockid.md), [LockIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/lockindex.md), [LockName](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/lockname.md), [ToString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/tostring.md)
- From [CommonObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject.md): [Disposed](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/disposed.md), [HasUserData](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/hasuserdata.md), [IsValid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/isvalid.md), [UserData](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/userdata.md), [UserDictionary](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/userdictionary.md), [ConstructConstObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/constructconstobject.md), [Dispose](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/dispose.md), [EnsurePrivateCopy](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/ensureprivatecopy.md), [GetObjectData](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/getobjectdata.md), [IsValidWithLog](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/isvalidwithlog.md), [NonConstOperation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/nonconstoperation.md), [ToJSON](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/tojson.md)
