# Constantes de matériau

Ces constantes définissent des propriétés communes à tous les métériaux, à l'exception de Texture Combine Operations qui s'applique uniquement à [page:MeshBasicMaterial.combine MeshBasicMaterial], [page:MeshLambertMaterial.combine MeshLambertMaterial] et [page:MeshPhongMaterial.combine MeshPhongMaterial].

## Côté

`THREE.FrontSide THREE.BackSide THREE.DoubleSide`

Définit quel côté des faces sera rendu - avant, arrière ou les deux. La valeur par défaut est [page:Constant FrontSide].

## Mode de fusion

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

Ces constantes contrôlent les équations de mélange source et destination pour le RVB et l'Alpha du matériau envoyés au WebGLRenderer pour être utilisés par WebGL.
[page:Constant NormalBlending] est la valeur par défaut.
Remarque : [page:Constant CustomBlending] doit être définit pour utiliser [page:CustomBlendingEquation Custom Blending Equations].
Voir l'exemple [example:webgl_materials_blending materials / blending].

## Mode de profondeur

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

Quelle fonction de profondeur le matériau utilise pour comparer la profondeur Z des pixels entrants à la valeur actuelle du tampon de profondeur Z. Si le résultat de la comparaison est `true`(vrai), le pixel sera dessiné.
[page:Materials NeverDepth] ne renvoie jamais `true`.
[page:Materials AlwaysDepth] renvoie toujours `true`.
[page:Materials EqualDepth] renvoie `true` si la profondeur Z du pixel entrant est égale à la profondeur Z du tampon actuel.
[page:Materials LessDepth] renvoie `true` si la profondeur Z du pixel entrant est inférieure à la profondeur Z du tampon actuel.
[page:Materials LessEqualDepth] si la profondeur Z du pixel entrant est inférieure ou égale à la profondeur Z du tampon actuel.
[page:Materials GreaterEqualDepth] renvoie `true` si la profondeur Z du pixel entrant est supérieure ou égale à la profondeur Z du tampon actuel.
[page:Materials GreaterDepth] renvoie `true` si la profondeur Z du pixel entrant est supérieure à la profondeur Z du tampon actuel.
[page:Materials NotEqualDepth] renvoie `true` si la profondeur Z du pixel entrant est différente de la profondeur Z du tampon actuel.

## Opérations de combinaison de textures

`THREE.MultiplyOperation THREE.MixOperation THREE.AddOperation`

Ces constantes définissent comment le résultat de la couleur de la surface est combiné avec la carte d'environnement (environnement map) (si présente), pour [page:MeshBasicMaterial.combine MeshBasicMaterial], [page:MeshLambertMaterial.combine MeshLambertMaterial] et [page:MeshPhongMaterial.combine MeshPhongMaterial].
[page:Constant MultiplyOperation] est la valeur par défaut qui multiplie la carte d'environnement et la couleur de la surface.
[page:Constant MixOperation] utilise la réflectivité pour mélanger les deux couleurs.
[page:Constant AddOperation] ajoute les deux couleurs.

## Fonctions de gabarit

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

Quelle fonction de gabarit le matériau utilise pour déterminer s'il faut ou non effectuer une opération de gabarit.
[page:Materials NeverStencilFunc] ne renvoie jamais `true`.
[page:Materials LessStencilFunc] renvoie `true` si la valeur de référence du gabarit est inférieure à la valeur courante du gabarit.
[page:Materials EqualStencilFunc] renvoie `true` si la valeur de référence du gabarit est égale à la valeur courante du gabarit.
[page:Materials LessEqualStencilFunc] renvoie `true` si la valeur de référence du gabarit est inférieure ou égale à la valeur courante du gabarit.
[page:Materials GreaterStencilFunc] renvoie `true` si la valeur de référence du gabarit est supérieure à la valeur courante du gabarit.
[page:Materials NotEqualStencilFunc] renvoie `true` si la valeur de référence du gabarit est différente de la valeur courante du gabarit.
[page:Materials GreaterEqualStencilFunc] renvoie `true` si la valeur de référence du gabarit est supérieure ou égale à la valeur courante du gabarit.
[page:Materials AlwaysStencilFunc] renvoie toujours `true`.

## Opérations de gabarit

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

Quelle opération de gabarit le matériau effectuera sur le pixel du tampon de gabarit si la fonction de gabarit fournie réussit.
[page:Materials ZeroStencilOp] définie la valeur du gabarit sur 0.
[page:Materials KeepStencilOp] ne change pas la valeur courante du gabarit.
[page:Materials ReplaceStencilOp] remplace la valeur du pochoir par la valeur de référence du pochoir spécifiée.
[page:Materials IncrementStencilOp] incrémente la valeur courante du gabarit de `1`.
[page:Materials DecrementStencilOp] décrémente la valeur courante du gabarit de `1`.
[page:Materials IncrementWrapStencilOp] incrémente la valeur courante du gabarit de `1`. Si la valeur incrémentée dépasse `255` elle sera définie à `0`.
[page:Materials DecrementWrapStencilOp] décrémente la valeur courante du gabarit de `1`. Si la valeur décrémentée dépasse `0` elle sera définie à `255`.
[page:Materials InvertStencilOp] Effectuera une inversion bit à bit de la valeur actuelle du pochoir.

## Type de carte normale (normal map)

`THREE.TangentSpaceNormalMap THREE.ObjectSpaceNormalMap`

Ces constantes définissent les types de carte normale. Pour TangentSpaceNormalMap, l'information est relative à la surface sous-jacente. For ObjectSpaceNormalMap, l'information est relative à la rotation de l'objet. La valeur par défaut est [page:Constant TangentSpaceNormalMap].

## Version GLSL

`THREE.GLSL1 THREE.GLSL3`

## Source

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