.. role:: clio-optional
   :class: clio-flag clio-flag-optional


#########
IMaterial
#########

.. js:class:: IMaterial

   An interface describing a material. The input and output of material operations
   
   
   Index
   =====
   
   .. rubric:: Properties
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:data:`~IMaterial.ambientColor`
   * :js:data:`~IMaterial.colorMap`
   * :js:data:`~IMaterial.emissiveColor`
   * :js:data:`~IMaterial.emissiveMap`
   * :js:data:`~IMaterial.faceColor`
   * :js:data:`~IMaterial.isPbr`
   * :js:data:`~IMaterial.lineColor`
   * :js:data:`~IMaterial.linePattern`
   * :js:data:`~IMaterial.linePatternLength`
   * :js:data:`~IMaterial.linePatternLengthUnit`
   * :js:data:`~IMaterial.metallic`
   * :js:data:`~IMaterial.metallicRoughnessMap`
   * :js:data:`~IMaterial.normalMap`
   * :js:data:`~IMaterial.occlusionMap`
   * :js:data:`~IMaterial.opacity`
   * :js:data:`~IMaterial.pointColor`
   * :js:data:`~IMaterial.roughness`
   * :js:data:`~IMaterial.specularColor`
   * :js:data:`~IMaterial.specularIntensity`
   * :js:data:`~IMaterial.textureFlags`
   * :js:data:`~IMaterial.textureMatrix`
   
   




Properties
==========

.. js:data:: IMaterial.ambientColor

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | ambientColor: :js:class:`~Color`
   
   Ambient light color contribution
   



.. js:data:: IMaterial.colorMap

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | colorMap: :js:data:`~ImageId`
   
   Base color texture map
   



.. js:data:: IMaterial.emissiveColor

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | emissiveColor: :js:class:`~Color`
   
   Color emitted by the material
   



.. js:data:: IMaterial.emissiveMap

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | emissiveMap: :js:data:`~ImageId`
   
   Emissive texture map
   



.. js:data:: IMaterial.faceColor

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | faceColor: :js:class:`~Color`
   
   Color applied to face geometry
   



.. js:data:: IMaterial.isPbr

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | isPbr: *boolean*
   
   Whether this material uses physically-based rendering (PBR)
   



.. js:data:: IMaterial.lineColor

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | lineColor: :js:class:`~Color`
   
   Color applied to line geometry
   



.. js:data:: IMaterial.linePattern

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | linePattern: *number*\ []
   
   Array of dash/gap lengths defining line pattern
   



.. js:data:: IMaterial.linePatternLength

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | linePatternLength: *number*
   
   Total length of the line pattern
   



.. js:data:: IMaterial.linePatternLengthUnit

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | linePatternLengthUnit: :js:data:`~LinePatternLengthUnit`
   
   Unit of measurement for line pattern length
   



.. js:data:: IMaterial.metallic

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | metallic: *number*
   
   Metallic factor for PBR materials (0.0 = dielectric, 1.0 = metallic)
   



.. js:data:: IMaterial.metallicRoughnessMap

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | metallicRoughnessMap: :js:data:`~ImageId`
   
   Metallic and roughness values texture map
   



.. js:data:: IMaterial.normalMap

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | normalMap: :js:data:`~ImageId`
   
   Normal map for surface detail
   



.. js:data:: IMaterial.occlusionMap

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | occlusionMap: :js:data:`~ImageId`
   
   Ambient occlusion texture map
   



.. js:data:: IMaterial.opacity

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | opacity: *number*
   
   Material opacity (0.0 = transparent, 1.0 = opaque)
   



.. js:data:: IMaterial.pointColor

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | pointColor: :js:class:`~Color`
   
   Color applied to point geometry
   



.. js:data:: IMaterial.roughness

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | roughness: *number*
   
   Surface roughness for PBR materials (0.0 = mirror, 1.0 = completely rough)
   



.. js:data:: IMaterial.specularColor

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | specularColor: :js:class:`~Color`
   
   Color of specular highlights
   



.. js:data:: IMaterial.specularIntensity

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | specularIntensity: *number*
   
   Intensity of specular reflections
   



.. js:data:: IMaterial.textureFlags

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | textureFlags: :js:class:`TextureFlags <Sc.TextureFlags>`
   



.. js:data:: IMaterial.textureMatrix

   .. rst-class:: clio-flags
   
      :clio-optional:`optional`
   
   .. rst-class:: sig-pretty-signature
   
      | textureMatrix: :js:class:`~Matrix`
   





