# Material

> Python API types

### BlurFilter

Enum of [core.Int](./core_types.md#int)

| Name     | Value |
| -------- | ----- |
| Box      | 0     |
| Gaussian | 1     |

Functions accepting this type or a list of this type as a parameter:

* [material.blurImage](./material_functions.md#blurimage)

***

### CoeffOrTexture

Select between:

* coeff: [core.Coeff](./core_types.md#coeff)

* texture: [material.Texture](./material_types.md#texture)
  Functions accepting this type or a list of this type as a parameter:

* [material.setCoeffOrTextureProperty](./material_functions.md#setcoeffortextureproperty)

***

### ColorMaterialInfos

Fields

| Type  | Name        | Default | Description |
| ----- | ----------- | ------- | ----------- |
| name  | Core.String |         |             |
| color | ColorAlpha  |         |             |

***

### ColorOrTexture

Select between:

* color: [core.Color](./core_types.md#color)

* texture: [material.Texture](./material_types.md#texture)
  Functions accepting this type or a list of this type as a parameter:

* [material.setColorOrTextureProperty](./material_functions.md#setcolorortextureproperty)

***

### CustomMaterialPattern

A Custom MaterialPattern is an entity which defines an abstract custom Shader. It is used by the Materials.
Base class: [core.Entity](./core_types.md#entity)


**Frame:**
```mermaid
classDiagram
    class CustomMaterialPattern
    Entity <|-- CustomMaterialPattern
    CustomMaterialPattern : +core.String Name
    CustomMaterialPattern : +core.String VertexShaderCode
    CustomMaterialPattern : +core.String FragmentShaderCode
```

Functions accepting this type or a list of this type as a parameter:

* [material.addUniformProperty](./material_functions.md#adduniformproperty)
* [material.getUniformPropertyType](./material_functions.md#getuniformpropertytype)
* [material.setFragmentShader](./material_functions.md#setfragmentshader)
* [material.setVertexShader](./material_functions.md#setvertexshader)
* [core.cloneEntity](./core_functions.md#cloneentity)
* [core.deleteEntities](./core_functions.md#deleteentities)
* [core.entityExists](./core_functions.md#entityexists)
* [core.getEntityType](./core_functions.md#getentitytype)
* [core.getEntityTypeString](./core_functions.md#getentitytypestring)
* [core.addCustomProperties](./core_functions.md#addcustomproperties)
* [core.addCustomProperty](./core_functions.md#addcustomproperty)
* [core.getProperties](./core_functions.md#getproperties)
* [core.getProperty](./core_functions.md#getproperty)
* [core.getPropertyInfo](./core_functions.md#getpropertyinfo)
* [core.hasCustomProperty](./core_functions.md#hascustomproperty)
* [core.hasProperty](./core_functions.md#hasproperty)
* [core.listProperties](./core_functions.md#listproperties)
* [core.listPropertiesBatch](./core_functions.md#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions.md#removecustomproperty)
* [core.setProperties](./core_functions.md#setproperties)
* [core.setProperty](./core_functions.md#setproperty)
* [core.supportCustomProperties](./core_functions.md#supportcustomproperties)
* [core.unsetProperty](./core_functions.md#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions.md#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions.md#unlinkpropertytoanimation)

***

### EdgeFilter

Enum of [core.Int](./core_types.md#int)

| Name   | Value |
| ------ | ----- |
| Clamp  | 0     |
| Extend | 1     |
| Repeat | 2     |
| Mirror | 3     |

Functions accepting this type or a list of this type as a parameter:

* [material.blurImage](./material_functions.md#blurimage)
* [material.getImageColorBilinear](./material_functions.md#getimagecolorbilinear)
* [material.rotateImage](./material_functions.md#rotateimage)
* [material.setSubImage](./material_functions.md#setsubimage)
* [material.stretchImage](./material_functions.md#stretchimage)
* [material.transformImage](./material_functions.md#transformimage)
* [material.translateImage](./material_functions.md#translateimage)

***

### Image

An Image is an entity which represents an image in the Image library.
Base class: [core.Entity](./core_types.md#entity)


**Frame:**
```mermaid
classDiagram
    class Image
    Entity <|-- Image
    Image : +core.Ident Id
    Image : +core.String Name
```

Functions accepting this type or a list of this type as a parameter:

* [algo.convertNormalMap](./algo_functions.md#convertnormalmap)
* [algo.fillNormalMap](./algo_functions.md#fillnormalmap)
* [algo.orientNormalMap](./algo_functions.md#orientnormalmap)
* [material.convertHeightMapToNormalMap](./material_functions.md#convertheightmaptonormalmap)
* [material.filterAO](./material_functions.md#filterao)
* [material.getImageAverageColor](./material_functions.md#getimageaveragecolor)
* [material.remapIndexMap](./material_functions.md#remapindexmap)
* [material.applyFactorOnImage](./material_functions.md#applyfactoronimage)
* [material.blurImage](./material_functions.md#blurimage)
* [material.clearImageRoI](./material_functions.md#clearimageroi)
* [material.convertFloat32To8BitsImage](./material_functions.md#convertfloat32to8bitsimage)
* [material.convertImage](./material_functions.md#convertimage)
* [material.convertImageToDefinition](./material_functions.md#convertimagetodefinition)
* [material.exportImage](./material_functions.md#exportimage)
* [material.extractImageChannels](./material_functions.md#extractimagechannels)
* [material.extractImageComponents](./material_functions.md#extractimagecomponents)
* [material.fillImageWithColor](./material_functions.md#fillimagewithcolor)
* [material.fillUnusedPixels](./material_functions.md#fillunusedpixels)
* [material.flipImageY](./material_functions.md#flipimagey)
* [material.getImageColorBilinear](./material_functions.md#getimagecolorbilinear)
* [material.getImageColorRange](./material_functions.md#getimagecolorrange)
* [material.getImageComponentType](./material_functions.md#getimagecomponenttype)
* [material.getImageDefinition](./material_functions.md#getimagedefinition)
* [material.getImageDefinitions](./material_functions.md#getimagedefinitions)
* [material.getImageLayout](./material_functions.md#getimagelayout)
* [material.getImagePixelColor](./material_functions.md#getimagepixelcolor)
* [material.getImagePixelInfo](./material_functions.md#getimagepixelinfo)
* [material.getImageRoI](./material_functions.md#getimageroi)
* [material.getImageSize](./material_functions.md#getimagesize)
* [material.getImagesSizes](./material_functions.md#getimagessizes)
* [material.getSubImage](./material_functions.md#getsubimage)
* [material.invertImageColor](./material_functions.md#invertimagecolor)
* [material.overrideImageFormat](./material_functions.md#overrideimageformat)
* [material.resizeImage](./material_functions.md#resizeimage)
* [material.rotateImage](./material_functions.md#rotateimage)
* [material.setImageRoI](./material_functions.md#setimageroi)
* [material.setSubImage](./material_functions.md#setsubimage)
* [material.stretchImage](./material_functions.md#stretchimage)
* [material.transformImage](./material_functions.md#transformimage)
* [material.translateImage](./material_functions.md#translateimage)
* [material.updateImageFromDefinition](./material_functions.md#updateimagefromdefinition)
* [material.updateImagesFromDefinitions](./material_functions.md#updateimagesfromdefinitions)
* [scene.mergeImages](./scene_functions.md#mergeimages)
* [core.cloneEntity](./core_functions.md#cloneentity)
* [core.deleteEntities](./core_functions.md#deleteentities)
* [core.entityExists](./core_functions.md#entityexists)
* [core.getEntityType](./core_functions.md#getentitytype)
* [core.getEntityTypeString](./core_functions.md#getentitytypestring)
* [core.addCustomProperties](./core_functions.md#addcustomproperties)
* [core.addCustomProperty](./core_functions.md#addcustomproperty)
* [core.getProperties](./core_functions.md#getproperties)
* [core.getProperty](./core_functions.md#getproperty)
* [core.getPropertyInfo](./core_functions.md#getpropertyinfo)
* [core.hasCustomProperty](./core_functions.md#hascustomproperty)
* [core.hasProperty](./core_functions.md#hasproperty)
* [core.listProperties](./core_functions.md#listproperties)
* [core.listPropertiesBatch](./core_functions.md#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions.md#removecustomproperty)
* [core.setProperties](./core_functions.md#setproperties)
* [core.setProperty](./core_functions.md#setproperty)
* [core.supportCustomProperties](./core_functions.md#supportcustomproperties)
* [core.unsetProperty](./core_functions.md#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions.md#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions.md#unlinkpropertytoanimation)

***

### ImageChangeType

Enum of [core.Long](./core_types.md#long)

| Name     | Value |
| -------- | ----- |
| ADDED    | 0     |
| REMOVED  | 1     |
| CHANGED  | 2     |
| RESET    | 3     |
| REPLACED | 4     |

***

### ImageComponentType

Enum of [core.Int](./core_types.md#int)

| Name         | Value |
| ------------ | ----- |
| Undefined    | 0     |
| UInt8\_Norm  | 1     |
| UInt8\_Int   | 2     |
| SInt8\_Norm  | 3     |
| SInt8\_Int   | 4     |
| UInt16\_Norm | 5     |
| UInt16\_Int  | 6     |
| SInt16\_Norm | 7     |
| SInt16\_Int  | 8     |
| Float16      | 9     |
| UInt32\_Norm | 10    |
| UInt32\_Int  | 11    |
| SInt32\_Norm | 12    |
| SInt32\_Int  | 13    |
| Float32      | 14    |
| UInt64\_Norm | 15    |
| UInt64\_Int  | 16    |
| SInt64\_Norm | 17    |
| SInt64\_Int  | 18    |
| Float64      | 19    |

Functions accepting this type or a list of this type as a parameter:

* [material.convertImage](./material_functions.md#convertimage)
* [material.convertImageToDefinition](./material_functions.md#convertimagetodefinition)
* [material.createCheckerboardImage](./material_functions.md#createcheckerboardimage)
* [material.getImageComponentTypeName](./material_functions.md#getimagecomponenttypename)
* [material.getImageFormatName](./material_functions.md#getimageformatname)
* [material.getImagePixelInfoFromLayoutAndType](./material_functions.md#getimagepixelinfofromlayoutandtype)
* [material.overrideImageFormat](./material_functions.md#overrideimageformat)

***

### ImageDefinition

Fields

| Type   | Name               | Default     | Description |
| ------ | ------------------ | ----------- | ----------- |
| id     | Image              | 0           |             |
| name   | Core.String        |             |             |
| width  | Core.Int           | 0           |             |
| height | Core.Int           | 0           |             |
| layout | ImageLayout        | RGBA        |             |
| type   | ImageComponentType | UInt8\_Norm |             |
| data   | ByteList           |             |             |

Functions accepting this type or a list of this type as a parameter:

* [material.createImageFromDefinition](./material_functions.md#createimagefromdefinition)
* [material.createImagesFromDefinitions](./material_functions.md#createimagesfromdefinitions)
* [material.getImagePixelInfoFromDefinition](./material_functions.md#getimagepixelinfofromdefinition)
* [material.updateImageFromDefinition](./material_functions.md#updateimagefromdefinition)
* [material.updateImagesFromDefinitions](./material_functions.md#updateimagesfromdefinitions)

***

### ImageDefinitionList

List of [material.ImageDefinition](./material_types.md#imagedefinition)

Functions accepting this type or a list of this type as a parameter:

* [material.createImagesFromDefinitions](./material_functions.md#createimagesfromdefinitions)
* [material.updateImagesFromDefinitions](./material_functions.md#updateimagesfromdefinitions)

***

### ImageLayout

Enum of [core.Int](./core_types.md#int)

| Name      | Value |
| --------- | ----- |
| Undefined | 0     |
| R         | 1     |
| G         | 2     |
| B         | 3     |
| A         | 4     |
| RG        | 5     |
| RGB       | 6     |
| RGBA      | 7     |
| BGR       | 8     |
| BGRA      | 9     |
| ABGR      | 10    |
| Lum       | 11    |
| LumA      | 12    |

Functions accepting this type or a list of this type as a parameter:

* [material.convertImage](./material_functions.md#convertimage)
* [material.convertImageToDefinition](./material_functions.md#convertimagetodefinition)
* [material.createCheckerboardImage](./material_functions.md#createcheckerboardimage)
* [material.extractImageComponents](./material_functions.md#extractimagecomponents)
* [material.getImageFormatName](./material_functions.md#getimageformatname)
* [material.getImagePixelInfoFromLayoutAndType](./material_functions.md#getimagepixelinfofromlayoutandtype)
* [material.overrideImageFormat](./material_functions.md#overrideimageformat)

***

### ImageList

List of [material.Image](./material_types.md#image)

Functions accepting this type or a list of this type as a parameter:

* [material.filterAO](./material_functions.md#filterao)
* [material.remapIndexMap](./material_functions.md#remapindexmap)
* [material.getImageDefinitions](./material_functions.md#getimagedefinitions)
* [material.getImagesSizes](./material_functions.md#getimagessizes)
* [material.updateImagesFromDefinitions](./material_functions.md#updateimagesfromdefinitions)
* [scene.mergeImages](./scene_functions.md#mergeimages)

***

### ImpostorMaterialInfos

Fields

| Type         | Name           | Default | Description |
| ------------ | -------------- | ------- | ----------- |
| name         | Core.String    |         |             |
| albedo       | ColorOrTexture |         |             |
| normal       | ColorOrTexture |         |             |
| roughness    | CoeffOrTexture |         |             |
| ao           | CoeffOrTexture |         |             |
| depth        | CoeffOrTexture |         |             |
| nbFrames     | Core.Int       | 0       |             |
| fullOcta     | Core.Boolean   | 1       |             |
| octaDiameter | Core.Double    | 1.0     |             |
| linearSteps  | Core.Int       | 30      |             |
| binarySteps  | Core.Int       | 1       |             |

***

### Material

The Material is an Entity that contains visual definition that can be applied to the Components of the scene.
Base class: [core.Entity](./core_types.md#entity)


**Frame:**
```mermaid
classDiagram
    class Material
    Entity <|-- Material
    Material : +core.String Name
    Material : +core.Ident Id
    Material : +core.Boolean DepthTestEnabled
    Material : +ENUM BackFaceMode
    Material : +core.Boolean R
    Material : +core.Boolean G
    Material : +core.Boolean B
    Material : +core.Boolean A
```

Functions accepting this type or a list of this type as a parameter:

* [algo.filletMesh](./algo_functions.md#filletmesh)
* [algo.removeHoles](./algo_functions.md#removeholes)
* [algo.remeshSurfacicHoles](./algo_functions.md#remeshsurfacicholes)
* [cad.setFaceMaterial](./cad_functions.md#setfacematerial)
* [cad.setEdgeMaterial](./cad_functions.md#setedgematerial)
* [material.areOpaques](./material_functions.md#areopaques)
* [material.copyMaterial](./material_functions.md#copymaterial)
* [material.getColorMaterialInfos](./material_functions.md#getcolormaterialinfos)
* [material.getCustomMaterialPattern](./material_functions.md#getcustommaterialpattern)
* [material.getImpostorMaterialInfos](./material_functions.md#getimpostormaterialinfos)
* [material.getMaterialDefinition](./material_functions.md#getmaterialdefinition)
* [material.getMaterialDefinitions](./material_functions.md#getmaterialdefinitions)
* [material.getMaterialMainColor](./material_functions.md#getmaterialmaincolor)
* [material.getMaterialPattern](./material_functions.md#getmaterialpattern)
* [material.getMaterialPatternType](./material_functions.md#getmaterialpatterntype)
* [material.getPBRMaterialInfos](./material_functions.md#getpbrmaterialinfos)
* [material.getStandardMaterialInfos](./material_functions.md#getstandardmaterialinfos)
* [material.getUnlitTextureMaterialInfos](./material_functions.md#getunlittexturematerialinfos)
* [material.isOpaque](./material_functions.md#isopaque)
* [material.makeMaterialNamesUnique](./material_functions.md#makematerialnamesunique)
* [material.setCoeffOrTextureProperty](./material_functions.md#setcoeffortextureproperty)
* [material.setColorAlphaProperty](./material_functions.md#setcoloralphaproperty)
* [material.setColorOrTextureProperty](./material_functions.md#setcolorortextureproperty)
* [material.setMaterialMainColor](./material_functions.md#setmaterialmaincolor)
* [material.setMaterialPattern](./material_functions.md#setmaterialpattern)
* [material.setPBRMaterialInfos](./material_functions.md#setpbrmaterialinfos)
* [material.getAllImages](./material_functions.md#getallimages)
* [material.getMaterialUserData](./material_functions.md#getmaterialuserdata)
* [material.getMultipleMaterialUserData](./material_functions.md#getmultiplematerialuserdata)
* [material.hasMaterialUserData](./material_functions.md#hasmaterialuserdata)
* [material.hasMultipleMaterialUserData](./material_functions.md#hasmultiplematerialuserdata)
* [material.setMaterialUserData](./material_functions.md#setmaterialuserdata)
* [material.setMultipleMaterialUserData](./material_functions.md#setmultiplematerialuserdata)
* [material.unsetMaterialUserData](./material_functions.md#unsetmaterialuserdata)
* [material.unsetMultipleMaterialUserData](./material_functions.md#unsetmultiplematerialuserdata)
* [scene.convertMaterialsToColor](./scene_functions.md#convertmaterialstocolor)
* [scene.convertMaterialsToPBR](./scene_functions.md#convertmaterialstopbr)
* [scene.mergeMaterials](./scene_functions.md#mergematerials)
* [scene.replaceMaterial](./scene_functions.md#replacematerial)
* [scene.setOccurrenceMaterial](./scene_functions.md#setoccurrencematerial)
* [scene.findOccurrencesByMaterial](./scene_functions.md#findoccurrencesbymaterial)
* [scene.findPartOccurrencesByActiveMaterial](./scene_functions.md#findpartoccurrencesbyactivematerial)
* [scene.findPartOccurrencesByVisibleMaterial](./scene_functions.md#findpartoccurrencesbyvisiblematerial)
* [scene.setSubpartMaterial](./scene_functions.md#setsubpartmaterial)
* [scene.setSubpartMaterials](./scene_functions.md#setsubpartmaterials)
* [scene.addMeshToAnnotation](./scene_functions.md#addmeshtoannotation)
* [core.cloneEntity](./core_functions.md#cloneentity)
* [core.deleteEntities](./core_functions.md#deleteentities)
* [core.entityExists](./core_functions.md#entityexists)
* [core.getEntityType](./core_functions.md#getentitytype)
* [core.getEntityTypeString](./core_functions.md#getentitytypestring)
* [core.addCustomProperties](./core_functions.md#addcustomproperties)
* [core.addCustomProperty](./core_functions.md#addcustomproperty)
* [core.getProperties](./core_functions.md#getproperties)
* [core.getProperty](./core_functions.md#getproperty)
* [core.getPropertyInfo](./core_functions.md#getpropertyinfo)
* [core.hasCustomProperty](./core_functions.md#hascustomproperty)
* [core.hasProperty](./core_functions.md#hasproperty)
* [core.listProperties](./core_functions.md#listproperties)
* [core.listPropertiesBatch](./core_functions.md#listpropertiesbatch)
* [core.removeCustomProperty](./core_functions.md#removecustomproperty)
* [core.setProperties](./core_functions.md#setproperties)
* [core.setProperty](./core_functions.md#setproperty)
* [core.supportCustomProperties](./core_functions.md#supportcustomproperties)
* [core.unsetProperty](./core_functions.md#unsetproperty)
* [scene.linkPropertyToAnimation](./scene_functions.md#linkpropertytoanimation)
* [scene.unlinkPropertyToAnimation](./scene_functions.md#unlinkpropertytoanimation)

***

### MaterialChangeType

Enum of [core.Long](./core_types.md#long)

| Name             | Value |
| ---------------- | ----- |
| CHANGED          | 0     |
| PATTERN\_CHANGED | 1     |
| RELOAD           | 2     |
| DESTROYED        | 3     |
| ICON\_CHANGED    | 4     |
| ADDED            | 5     |
| REMOVED          | 6     |

***

### MaterialDefinition

Fields

| Type      | Name           | Default | Description |
| --------- | -------------- | ------- | ----------- |
| name      | Core.String    |         |             |
| id        | Material       | 0       |             |
| albedo    | ColorOrTexture |         |             |
| normal    | ColorOrTexture |         |             |
| metallic  | CoeffOrTexture |         |             |
| roughness | CoeffOrTexture |         |             |
| ao        | CoeffOrTexture |         |             |
| opacity   | CoeffOrTexture |         |             |
| emissive  | ColorOrTexture |         |             |

Functions accepting this type or a list of this type as a parameter:

* [material.createMaterialFromDefinition](./material_functions.md#creatematerialfromdefinition)
* [material.createMaterialsFromDefinitions](./material_functions.md#creatematerialsfromdefinitions)

***

### MaterialDefinitionList

List of [material.MaterialDefinition](./material_types.md#materialdefinition)

Functions accepting this type or a list of this type as a parameter:

* [material.createMaterialsFromDefinitions](./material_functions.md#creatematerialsfromdefinitions)

***

### MaterialFromMapsReturn

Fields

| Type                 | Name     | Default | Description                        |
| -------------------- | -------- | ------- | ---------------------------------- |
| importedTextureCount | Core.Int | 0       | Number of newly imported textures. |
| createdMaterialCount | Core.Int | 0       | Number of newly created materials. |
| updatedMaterialCount | Core.Int | 0       |                                    |

***

### MaterialList

List of [material.Material](./material_types.md#material)

Functions accepting this type or a list of this type as a parameter:

* [material.areOpaques](./material_functions.md#areopaques)
* [material.getMaterialDefinitions](./material_functions.md#getmaterialdefinitions)
* [material.makeMaterialNamesUnique](./material_functions.md#makematerialnamesunique)
* [material.getAllImages](./material_functions.md#getallimages)
* [material.getMultipleMaterialUserData](./material_functions.md#getmultiplematerialuserdata)
* [material.hasMultipleMaterialUserData](./material_functions.md#hasmultiplematerialuserdata)
* [material.setMultipleMaterialUserData](./material_functions.md#setmultiplematerialuserdata)
* [material.unsetMultipleMaterialUserData](./material_functions.md#unsetmultiplematerialuserdata)
* [scene.convertMaterialsToColor](./scene_functions.md#convertmaterialstocolor)
* [scene.convertMaterialsToPBR](./scene_functions.md#convertmaterialstopbr)
* [scene.mergeMaterials](./scene_functions.md#mergematerials)
* [scene.setSubpartMaterials](./scene_functions.md#setsubpartmaterials)
* [scene.setSubpartVariantMaterialsList](./scene_functions.md#setsubpartvariantmaterialslist)

***

### MaterialListList

List of [material.MaterialList](./material_types.md#materiallist)

Functions accepting this type or a list of this type as a parameter:

* [scene.setSubpartVariantMaterialsList](./scene_functions.md#setsubpartvariantmaterialslist)

***

### MaterialPatternType

Enum of [core.Int](./core_types.md#int)

| Name           | Value |
| -------------- | ----- |
| CUSTOM         | 0     |
| COLOR          | 1     |
| STANDARD       | 2     |
| UNLIT\_TEXTURE | 3     |
| PBR            | 4     |
| IMPOSTOR       | 5     |
| LINE           | 6     |

***

### MaterialUserData

Identifier of materials userdata.
Base class: [core.Ident](./core_types.md#ident)


**Frame:**
```mermaid
classDiagram
    class MaterialUserData
    Ident <|-- MaterialUserData
```

Functions accepting this type or a list of this type as a parameter:

* [material.getMaterialUserData](./material_functions.md#getmaterialuserdata)
* [material.getMultipleMaterialUserData](./material_functions.md#getmultiplematerialuserdata)
* [material.hasMaterialUserData](./material_functions.md#hasmaterialuserdata)
* [material.hasMultipleMaterialUserData](./material_functions.md#hasmultiplematerialuserdata)
* [material.setMaterialUserData](./material_functions.md#setmaterialuserdata)
* [material.setMultipleMaterialUserData](./material_functions.md#setmultiplematerialuserdata)
* [material.unsetMaterialUserData](./material_functions.md#unsetmaterialuserdata)
* [material.unsetMultipleMaterialUserData](./material_functions.md#unsetmultiplematerialuserdata)
* [material.unsubscribeFromMaterialUserData](./material_functions.md#unsubscribefrommaterialuserdata)

***

### PBRMaterialInfos

Fields

| Type      | Name           | Default | Description |
| --------- | -------------- | ------- | ----------- |
| name      | Core.String    |         |             |
| albedo    | ColorOrTexture |         |             |
| normal    | ColorOrTexture |         |             |
| metallic  | CoeffOrTexture |         |             |
| roughness | CoeffOrTexture |         |             |
| ao        | CoeffOrTexture |         |             |
| opacity   | CoeffOrTexture |         |             |

Functions accepting this type or a list of this type as a parameter:

* [material.setPBRMaterialInfos](./material_functions.md#setpbrmaterialinfos)

***

### PixelInfo

Fields

| Type              | Name               | Default   | Description |
| ----------------- | ------------------ | --------- | ----------- |
| layout            | ImageLayout        | Undefined |             |
| type              | ImageComponentType | Undefined |             |
| componentCount    | Core.Int           | 0         |             |
| bitsPerComponent  | Core.Int           | 0         |             |
| bytesPerComponent | Core.Int           | 0         |             |
| bytesPerPixel     | Core.Int           | 0         |             |
| isFloat           | Boolean            | False     |             |
| isSigned          | Boolean            | False     |             |
| isNormalized      | Boolean            | False     |             |

***

### ResizeFilterMethod

Enum of [core.Int](./core_types.md#int)

| Name         | Value |
| ------------ | ----- |
| DEFAULT      | 0     |
| BOX          | 1     |
| TRIANGLE     | 2     |
| CUBICBSPLINE | 3     |
| CATMULLROM   | 4     |
| MITCHELL     | 5     |

Functions accepting this type or a list of this type as a parameter:

* [material.resizeImage](./material_functions.md#resizeimage)

***

### RoI

Fields

| Type | Name     | Default | Description |
| ---- | -------- | ------- | ----------- |
| x    | Core.Int | 0       |             |
| y    | Core.Int | 0       |             |
| w    | Core.Int | 0       |             |
| h    | Core.Int | 0       |             |

***

### ShaderUniformType

The possible types of shader uniform parameters.
Enum of [core.Long](./core_types.md#long)

| Name           | Value |
| -------------- | ----- |
| INTEGER        | 2     |
| BOOLEAN        | 9     |
| REAL           | 11    |
| COEFF          | 13    |
| POINT3         | 23    |
| POINT2         | 22    |
| COLOR          | 15    |
| COLOR\_ALPHA   | 16    |
| TEXTURE        | 34    |
| COLORORTEXTURE | 35    |
| COEFFORTEXTURE | 36    |

Functions accepting this type or a list of this type as a parameter:

* [material.addUniformProperty](./material_functions.md#adduniformproperty)

***

### StandardMaterialInfos

Fields

| Type         | Name           | Default | Description |
| ------------ | -------------- | ------- | ----------- |
| name         | Core.String    |         |             |
| diffuse      | ColorOrTexture |         |             |
| specular     | ColorOrTexture |         |             |
| ambient      | ColorOrTexture |         |             |
| emissive     | ColorOrTexture |         |             |
| shininess    | Coeff          | 0.0     |             |
| transparency | Coeff          | 0.0     |             |

***

### Texture

Fields

| Type    | Name           | Default     | Description |
| ------- | -------------- | ----------- | ----------- |
| image   | Image          | 0           |             |
| channel | Core.Int       | 0           |             |
| offset  | Point2         |             |             |
| tilling | Point2         |             |             |
| sampler | TextureSampler | `[0,0,0,0]` |             |

***

### TextureSampler

Fields

| Type      | Name     | Default | Description |
| --------- | -------- | ------- | ----------- |
| magFilter | Core.Int | 0       |             |
| minFilter | Core.Int | 0       |             |
| wrapS     | Core.Int | 0       |             |
| wrapT     | Core.Int | 0       |             |

***

### UnlitTextureMaterialInfos

Fields

| Type    | Name        | Default | Description |
| ------- | ----------- | ------- | ----------- |
| name    | Core.String |         |             |
| texture | Texture     |         |             |
