# Costanti dei Materiali

Queste costanti definiscono proprietà comuni per tutti i tipi di materiali, ad eccezione di Texture Combine Operations che si applicano solo ai materiali [page:MeshBasicMaterial.combine MeshBasicMaterial], [page:MeshLambertMaterial.combine MeshLambertMaterial] e [page:MeshPhongMaterial.combine MeshPhongMaterial].

## Lato (Side)

`THREE.FrontSide THREE.BackSide THREE.DoubleSide`

Definisce quale lato delle facce sarà visualizzato - frontale, retro o entrambi. Il valore predefinito è [page:Constant FrontSide].

## Modalità Blending

`THREE.NoBlending THREE.NormalBlending THREE.AdditiveBlending THREE.SubtractiveBlending THREE.MultiplyBlending THREE.CustomBlending`

Controllano le equazioni di blending di origine e di destinazione per RGB e Alpha del materiale, inviate a WebGLRenderer per l'uso da parte di WebGL.
[page:Constant NormalBlending] è l'impostazione predefinita.
Si noti che [page:Constant CustomBlending] deve essere impostato per utilizzare le equazioni di blending personalizzate.
Vedi l'esempio [example:webgl_materials_blending materials / blending].

## Modalità Depth

`THREE.NeverDepth THREE.AlwaysDepth THREE.EqualDepth THREE.LessDepth THREE.LessEqualDepth THREE.GreaterEqualDepth THREE.GreaterDepth THREE.NotEqualDepth`

La funzione di profondità (depth) utilizza il materiale per confrontare la Z-depth dei pixel in arrivo con il valore del buffer della Z-depth. Se il risultato del confronto è vero, il pixel viene disegnato. [page:Materials NeverDepth] non tornerà mai vero.
[page:Materials AlwaysDepth] tornerà sempre vero.
[page:Materials EqualDepth] tornerà vero se lo Z-depth dei pixel in ingresso è uguale all'attuale buffer Z-depth.
[page:Materials LessDepth] tornerà vero se lo Z-depth dei pixel in ingresso è minore dell'attuale buffer Z-depth.
[page:Materials LessEqualDepth] è il valore predefinito e ritornerà vero se lo Z-depth dei pixel in ingresso è minore o uguale dell'attuale buffer Z-depth.
[page:Materials GreaterEqualDepth] tornerà vero se lo Z-depth dei pixel in ingresso è maggiore o uguale dell'attuale buffer Z-depth.
[page:Materials GreaterDepth] tornerà vero se lo Z-depth dei pixel in ingresso è maggiore dell'attuale buffer Z-depth.
[page:Materials NotEqualDepth]tornerà vero se lo Z-depth dei pixel in ingresso è maggiore non è uguale all'attuale buffer Z-depth.

## Texture Combine Operations

`THREE.MultiplyOperation THREE.MixOperation THREE.AddOperation`

Definiscono come il risultato del colore della supercificie viene combinato con la mappa ambientale (se presente), per i materiali [page:MeshBasicMaterial.combine MeshBasicMaterial], [page:MeshLambertMaterial.combine MeshLambertMaterial] e [page:MeshPhongMaterial.combine MeshPhongMaterial].
[page:Constant MultiplyOperation] è l'impostazione predefinita e moltiplica la mappa di colore dell'ambiente con il colore della superficie.
[page:Constant MixOperation] utilizza la riflettività per miscelare i due colori.
[page:Constant AddOperation] aggiunge i due colori.

## Funzioni di Stencil

`THREE.NeverStencilFunc THREE.LessStencilFunc THREE.EqualStencilFunc THREE.LessEqualStencilFunc THREE.GreaterStencilFunc THREE.NotEqualStencilFunc THREE.GreaterEqualStencilFunc THREE.AlwaysStencilFunc`

Quale funzione di stencil utilizza il meteriale per determinare se eseguire o meno un'operazione di stencil.
[page:Materials NeverStencilFunc] non tornerà mai vero.
[page:Materials LessStencilFunc] tornerà vero se il valore di riferimento dello stencil è inferiore al valore dello stencil corrente.
[page:Materials EqualStencilFunc] tornerà vero se il valore di riferimento dello stencil è ugale al valore dello stencil corrente.
[page:Materials LessEqualStencilFunc] tornerà vero se il valore di riferimento dello stencil è minore o uguale al valore dello stencil corrente.
[page:Materials GreaterStencilFunc] tornerà vero se il valore di riferimento dello stencil è maggiore al valore dello stencil corrente.
[page:Materials NotEqualStencilFunc] tornerà vero se il valore di riferimento dello stencil non è uguale al valore dello stencil corrente.
[page:Materials GreaterEqualStencilFunc] tornerà vero se il valore di riferimento dello stencil è maggiore o uguale al valore dello stencil corrente.
[page:Materials AlwaysStencilFunc] tornerà sempre vero.

## Operazioni di Stencil

`THREE.ZeroStencilOp THREE.KeepStencilOp THREE.ReplaceStencilOp THREE.IncrementStencilOp THREE.DecrementStencilOp THREE.IncrementWrapStencilOp THREE.DecrementWrapStencilOp THREE.InvertStencilOp`

Quale operazione di stencil eseguirà il materiale sul pixel del buffer di stencil se la funzione stencil fornita passa.
[page:Materials ZeroStencilOp] imposterà il valore dello stencil a 0.
[page:Materials KeepStencilOp] non cambierà il valore corrente dello stencil.
[page:Materials ReplaceStencilOp] sostituirà il valore dello stencil con il valore di riferimento dello stencil specificato.
[page:Materials IncrementStencilOp] incrementerà il valore corrente dello stencil di `1`.
[page:Materials DecrementStencilOp] decrementerà il valore corrente dello stencil di `1`.
[page:Materials IncrementWrapStencilOp] incrementerà il valore corrente dello stencil di `1`. Se il valore aumenta oltre 255, verrà impostato su `0`.
[page:Materials DecrementWrapStencilOp] incrementerà il valore corrente dello stencil di `1`. Se il valore diminusice al di sotto di `0` verrà impostato a `255`.
[page:Materials InvertStencilOp] eseguirà un'inversione di bit del valore dello stencil corrente.

## Tipo Normal map

`THREE.TangentSpaceNormalMap THREE.ObjectSpaceNormalMap`

Definisce il tipo di mappa normale. Per TangentSpaceNormalMap, le informazioni sono relative alla superficie sottostante. Per ObjectSpaceNormalMap, le informazioni sono relative all'oggetto sottostante. Il valore di default è [page:Constant TangentSpaceNormalMap].

## GLSL Version

`THREE.GLSL1 THREE.GLSL3`

## Source

[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]