# Constanti delle Texture

## Modalità Mapping

`THREE.UVMapping THREE.CubeReflectionMapping THREE.CubeRefractionMapping THREE.EquirectangularReflectionMapping THREE.EquirectangularRefractionMapping THREE.CubeUVReflectionMapping`

Definiscono la modalità di mapping della texture.
[page:Constant UVMapping] è la costante predefinita, e mappa la texture usando le coordinate UV della mesh.
Il resto definisce i tipi di mappatura dell'ambiente.
[page:Constant CubeReflectionMapping] e [page:Constant CubeRefractionMapping] sono da utilizzare con una [page:CubeTexture CubeTexture], la quale è composta da sei texture, una per ciascuna faccia del cubo. [page:Constant CubeReflectionMapping] è la predefinita per una [page:CubeTexture CubeTexture].
[page:Constant EquirectangularReflectionMapping] e [page:Constant EquirectangularRefractionMapping] sono da utilizzare con una equirectangular environment map. Anche chiamata lat-long map, una texture equirectangular rappresenta una vista a 360 gradi lungo la linea centrale orizzontale e una vista a 180 lungo l'asse verticale, con i bordi superiore e inferiore dell'immagine corrispondenti ai poli nord e sud di una sfera mappata.
Vedi l'esempio [example:webgl_materials_envmaps materials / envmaps].

## Modalità Wrapping

`THREE.RepeatWrapping THREE.ClampToEdgeWrapping THREE.MirroredRepeatWrapping`

Definiscono le proprietà [page:Texture.wrapS wrapS] e [page:Texture.wrapT wrapT] della texture, le quali definiscono il wrapping orizzontale e verticale della texture.
Con [page:constant RepeatWrapping] la texture sarà semplicemente ripetuta all'infinito.
[page:constant ClampToEdgeWrapping] è la costante predefinita. L'ultimo pixel della texture si estende fino al bordo della mesh.
Con [page:constant MirroredRepeatWrapping] la texture sarà ripetuta all'infinito, rispecchiando ad ogni ripetizione.

## Filtri di Ingradimento

`THREE.NearestFilter THREE.LinearFilter`

Da usare con la proprietà [page:Texture.magFilter magFilter] della texture, definiscono la funzione di ingrandimento della texture da usare quando il pixel da texturizzare mappa un'area inferiore o uguale a un elemento della texture (texel).
[page:constant NearestFilter] restituisce il valore dell'elemento della texture che è più vicino (nella distanza di Manhattan) alle coordinate della texture specificate.
[page:constant LinearFilter] è l'impostazione predefinita e restituisce la media pesata dei quattro elementi della texture più vicini alle coordinate della texture specificate e può includere elementi wrappati o ripetuti da altre parti della texture, a seconda dei valori di [page:Texture.wrapS wrapS] e [page:Texture.wrapT wrapT], e dall'esatta mappatura.

## Filtri di Minificazione

`THREE.NearestFilter THREE.NearestMipmapNearestFilter THREE.NearestMipmapLinearFilter THREE.LinearFilter THREE.LinearMipmapNearestFilter THREE.LinearMipmapLinearFilter`

Da usare con la proprietà [page:Texture.minFilter minFilter] della texture, definiscono la funzione di minificazione della texture che viene usata ogni volta che il pixel da texturizzare mappa un'area superiore di un elemento della texture (texel).
Oltre a [page:constant NearestFilter] e [page:constant LinearFilter], le seguenti quattro funzioni possono essere usate per la minificazione:
[page:constant NearestMipmapNearestFilter] sceglie il mipmap che più si avvicina alle dimensioni del pixel da texturizzare e utilizza il criterio [page:constant NearestFilter] (il texel più vicino al centro del pixel) per produrre un valore di texture.
[page:constant NearestMipmapLinearFilter] sceglie i due mipmap che più si avvicinano alle dimensioni del pixel da texturizzare e utilizza il criterio [page:constant NearestFilter] per produrre un valore di texture per ogni mipmap. Il valore della texture finale è una media pesata di questi due valori.
[page:constant LinearMipmapNearestFilter] sceglie il mipmap che più si avvicina alle dimensioni del pixel da texturizzare e utilizza il criterio [page:constant LinearFilter] ( una media pesata dei quattro texels che più si avvicinano al centro del pixel) per produrre un valore di texture.
[page:constant LinearMipmapLinearFilter] è l'impostazione predefinita e sceglie i due mipmap che più si avvicinano alle dimensioni del pixel da texturizzare e utilizza il criterio [page:constant LinearFilter] per produrre un valore di texture per ogni mipmap. Il valore della texture finale è una media pesata di questi due valori.
Vedi l'esempio [example:webgl_materials_texture_filters materials / texture / filters]

## Tipi

`THREE.UnsignedByteType THREE.ByteType THREE.ShortType THREE.UnsignedShortType THREE.IntType THREE.UnsignedIntType THREE.FloatType THREE.HalfFloatType THREE.UnsignedShort4444Type THREE.UnsignedShort5551Type THREE.UnsignedInt248Type THREE.UnsignedInt5999Type`

Da usare con la proprietà [page:Texture.type type] della texture, la quale deve corrispondere al formato corretto. Vedi sotto per i dettagli.
[page:constant UnsignedByteType] è l'impostazione predefinita.

## Formati

`THREE.AlphaFormat THREE.RedFormat THREE.RedIntegerFormat THREE.RGFormat THREE.RGIntegerFormat THREE.RGBFormat THREE.RGBAFormat THREE.RGBAIntegerFormat THREE.LuminanceFormat THREE.LuminanceAlphaFormat THREE.DepthFormat THREE.DepthStencilFormat`

Da usare con la proprietà [page:Texture.format format] della texture, definiscono come gli elementi di una texture 2d, o `texel`, vengono letti dagli shader.
[page:constant AlphaFormat] elimina i componenti rosso, verde e blu e legge solo il componente alfa.
[page:constant RedFormat] elimina i componenti verde e blu e legge solo il componente rosso.
[page:constant RedIntegerFormat] elimina i componenti verde e blu e legge solo il componente rosso. I texel sono letti come interi invece che come floating point.
[page:constant RGFormat] elimina i componenti alfa e blu e legge i componenti rosso e verde.
[page:constant RGIntegerFormat] elimina i componenti alfa e blu e legge i componenti rosso e verde. I texel sono letti come numeri interi invece che come floating point.
[page:constant RGBAFormat] è l'impostazione predefinita e legge i componenti rosso, verde, blu e alfa.
[page:constant RGBAIntegerFormat] è l'impostazione di default e legge i componenti rosso, verde, blu e alfa. I texel sono letti come numeri interi invece che come floating point.
[page:constant LuminanceFormat] legge ogni elemento come un singolo componente di luminanza. Questo viene quindi convertito in floating point, fissato all'intervallo [0,1], e quindi assemblato in un elemento RGBA posizionando il valore di luminanza nei canali rosso, verde e blu, e allegando 1.0 al canale alfa.
[page:constant LuminanceAlphaFormat] legge ogni elemento come un doppio luminanza/alfa. Lo stesso processo si verifica come per [page:constant LuminanceFormat], tranne per il fatto che il canale alfa può avere valori diversi da `1.0`.
[page:constant DepthFormat] legge ogni elemento come un singolo valore depth, lo converte in floating point e si blocca nell'intervallo [0,1]. Questa è l'impostazione predefinita per [page:DepthTexture DepthTexture].
[page:constant DepthStencilFormat] legge ogni elemento come una coppia di valori depth e stencil. Il componente depth della coppia viene interpretato come in [page:constant DepthFormat]. Il componente stencil viene interpretato in base al formato interno depth + stencil.
Si noti che la texture deve avere impostato il [page:Texture.type tipo] corretto, come descritto sopra. Vedi [link:https://developer.mozilla.org/en/docs/Web/API/WebGLRenderingContext/texImage2D WebGLRenderingContext.texImage2D] per maggiori dettagli.

## Formati Texture Compressi DDS / ST3C

`THREE.RGB_S3TC_DXT1_Format THREE.RGBA_S3TC_DXT1_Format THREE.RGBA_S3TC_DXT3_Format THREE.RGBA_S3TC_DXT5_Format`

Da usare con la prorietà [page:Texture.format formato] della [page:CompressedTexture CompressedTexture], questi richiedono il supporto per l'estensione [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/ WEBGL_compressed_texture_s3tc].
Questi sono quattro formati [link:https://en.wikipedia.org/wiki/S3_Texture_Compression S3TC] disponibili tramite questa estensione. Questi sono:
[page:constant RGB_S3TC_DXT1_Format]: Un'immagine compressa DXT1 in un formato immagine RGB.
[page:constant RGBA_S3TC_DXT1_Format]: Un'immagine compressa DXT1 in un formato immagine RGBA con un semplice valore alfa on/off.
[page:constant RGBA_S3TC_DXT3_Format]: Un'immagine compressa DXT3 in un formato immagine RGBA. Comparato con una texture 32-bit, offre una compressione 4:1.
[page:constant RGBA_S3TC_DXT5_Format]: Un'immagine compressa DXT5 in un formato immagine RGBA. Anche questa costante permette una compressione 4:1, ma differisce dalla compressione DXT3 nel modo in cui viene eseguita la compressione alfa.

## Formati Texture Compressi PVRTC

`THREE.RGB_PVRTC_4BPPV1_Format THREE.RGB_PVRTC_2BPPV1_Format THREE.RGBA_PVRTC_4BPPV1_Format THREE.RGBA_PVRTC_2BPPV1_Format`

Da usare con la prorietà del [page:Texture.format formato] della [page:CompressedTexture CompressedTexture], questi richiedono il supporto per l'estensione [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/ WEBGL_compressed_texture_pvrtc].
PVRTC è in genere disponibile solo su dispositivi mobili con chipset PowerVR, che sono principalmente dispositivi Apple.
Questi sono quattro formati [link:https://en.wikipedia.org/wiki/PVRTC PVRTC] disponibili tramite questa estensione. Questi sono:
[page:constant RGB_PVRTC_4BPPV1_Format]: compressione RGB in modalità 4-bit. un blocco per ogni pixel 4×4.
[page:constant RGB_PVRTC_2BPPV1_Format]: compressione RGB in modalità 2-bit. un blocco per ogni pixel 8×4.
[page:constant RGBA_PVRTC_4BPPV1_Format]: compressione RGBA in modalità 4-bit. un blocco per ogni pixel 4×4.
[page:constant RGBA_PVRTC_2BPPV1_Format]: compressione RGBA in modalità 2-bit. un blocco per ogni pixel 8×4.

## Formati Texture Compressi ETC

`THREE.RGB_ETC1_Format THREE.RGB_ETC2_Format THREE.RGBA_ETC2_EAC_Format`

Da usare con la prorietà del [page:Texture.format formato] della [page:CompressedTexture CompressedTexture], questi richiedono il supporto per le estensioni [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc1/ WEBGL_compressed_texture_etc1] (ETC1) o [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc/ WEBGL_compressed_texture_etc] (ETC2).

## Formati Texture Compressi ASTC

`THREE.RGBA_ASTC_4x4_Format THREE.RGBA_ASTC_5x4_Format THREE.RGBA_ASTC_5x5_Format THREE.RGBA_ASTC_6x5_Format THREE.RGBA_ASTC_6x6_Format THREE.RGBA_ASTC_8x5_Format THREE.RGBA_ASTC_8x6_Format THREE.RGBA_ASTC_8x8_Format THREE.RGBA_ASTC_10x5_Format THREE.RGBA_ASTC_10x6_Format THREE.RGBA_ASTC_10x8_Format THREE.RGBA_ASTC_10x10_Format THREE.RGBA_ASTC_12x10_Format THREE.RGBA_ASTC_12x12_Format`

Da usare con la prorietà del [page:Texture.format formato] della [page:CompressedTexture CompressedTexture], questi richiedono il supporto per l'estensione [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/ WEBGL_compressed_texture_astc].

## Formato Texture Compresso BPTCt

`THREE.RGBA_BPTC_Format`

Da usare con la prorietà del [page:Texture.format formato] della [page:CompressedTexture CompressedTexture], questi richiedono il supporto per l'estensione [link:https://www.khronos.org/registry/webgl/extensions/EXT_texture_compression_bptc/ EXT_texture_compression_bptc].

## Formati Interni

`'ALPHA' 'RGB' 'RGBA' 'LUMINANCE' 'LUMINANCE_ALPHA' 'RED_INTEGER' 'R8' 'R8_SNORM' 'R8I' 'R8UI' 'R16I' 'R16UI' 'R16F' 'R32I' 'R32UI' 'R32F' 'RG8' 'RG8_SNORM' 'RG8I' 'RG8UI' 'RG16I' 'RG16UI' 'RG16F' 'RG32I' 'RG32UI' 'RG32F' 'RGB565' 'RGB8' 'RGB8_SNORM' 'RGB8I' 'RGB8UI' 'RGB16I' 'RGB16UI' 'RGB16F' 'RGB32I' 'RGB32UI' 'RGB32F' 'RGB9_E5' 'SRGB8' 'R11F_G11F_B10F' 'RGBA4' 'RGBA8' 'RGBA8_SNORM' 'RGBA8I' 'RGBA8UI' 'RGBA16I' 'RGBA16UI' 'RGBA16F' 'RGBA32I' 'RGBA32UI' 'RGBA32F' 'RGB5_A1' 'RGB10_A2' 'RGB10_A2UI' 'SRGB8_ALPHA8' 'DEPTH_COMPONENT16' 'DEPTH_COMPONENT24' 'DEPTH_COMPONENT32F' 'DEPTH24_STENCIL8' 'DEPTH32F_STENCIL8'`

Da usare con la proprietà [page:Texture.internalFormat internalFormat] della texture, definiscono come gli elementi della texture, o `toxel`, sono memorizzati nella GPU.
[page:constant R8] memorizza il componente rosso su 8 bit.
[page:constant R8_SNORM] memorizza il componente rosso su 8 bit. Il componenete viene archiviato come normalizzato.
[page:constant R8I] memorizza il componente rosso su 8 bit. Il componenete viene archiviato come un intero.
[page:constant R8UI] memorizza il componente rosso su 8 bit. Il componenete viene archiviato come un intero senza segno.
[page:constant R16I] memorizza il componente rosso su 16 bit. Il componenete viene archiviato come un intero.
[page:constant R16UI] memorizza il componente rosso su 16 bit. Il componenete viene archiviato come un intero senza segno.
[page:constant R16F] memorizza il componente rosso su 16 bit. Il componenete viene archiviato come un floating point.
[page:constant R32I] memorizza il componente rosso su 32 bit. Il componenete viene archiviato come un intero.
[page:constant R32UI] memorizza il componente rosso su 32 bit.Il componenete viene archiviato come un intero senza segno.
[page:constant R32F] memorizza il componente rosso su 32 bit. Il componenete viene archiviato come un floating point.
[page:constant RG8] memorizza i componenti rosso e verde su 8 bit ciascuno.
[page:constant RG8_SNORM] memorizza i componenti rosso e verde su 8 bit ciascuno. Ogni componente viene archiviato come normalizzato.
[page:constant RG8I] memorizza i componenti rosso e verde su 8 bit ciascuno. Ogni componente viene archiviato come un intero.
[page:constant RG8UI] memorizza i componenti rosso e verde su 8 bit ciascuno. Ogni componente viene archiviato come un intero senza segno.
[page:constant RG16I] memorizza i componenti rosso e verde su 16 bit ciascuno. Ogni componente viene archiviato come un intero.
[page:constant RG16UI] memorizza i componenti rosso e verde su 16 bit ciascuno. Ogni componente viene archiviato come un intero senza segno.
[page:constant RG16F] memorizza i componenti rosso e verde su 16 bit ciascuno. Ogni componente viene archiviato come un floating point.
[page:constant RG32I] memorizza i componenti rosso e verde su 32 bit ciascuno. Ogni componente viene archiviato come un intero.
[page:constant RG32UI] memorizza i componenti rosso e verde su 32 bit ciascuno. Ogni componente viene archiviato come un intero senza segno.
[page:constant RG32F] memorizza i componenti rosso e verde su 32 bit ciascuno. Ogni componente viene archiviato come un floating point.
[page:constant RGB8] memorizza i componenti rosso, verde e blu su 8 bit ciascuno.
[page:constant RGB8_SNORM] memorizza i componenti rosso, verde e blu su 8 bit ciascuno. Ogni componente viene archiviato come normalizzato.
[page:constant RGB8I] memorizza i componenti rosso, verde e blu su 8 bit ciascuno. Ogni componente viene archiviato come un intero.
[page:constant RGB8UI] memorizza i componenti rosso, verde e blu su 8 bit ciascuno. Ogni componente viene archiviato come un intero senza segno.
[page:constant RGB16I] memorizza i componenti rosso, verde e blu su 16 bit ciascuno. Ogni componente viene archiviato come un intero.
[page:constant RGB16UI] memorizza i componenti rosso, verde e blu su 16 bit ciascuno. Ogni componente viene archiviato come un intero senza segno.
[page:constant RGB16F] memorizza i componenti rosso, verde e blu su 16 bit ciascuno. Ogni componente viene archiviato come un floating point
[page:constant RGB32I] memorizza i componenti rosso, verde e blu su 32 bit ciascuno. Ogni componente viene archiviato come un intero.
[page:constant RGB32UI] memorizza i componenti rosso, verde e blu su 32 bit ciascuno. Ogni componente viene archiviato come un intero senza segno.
[page:constant RGB32F] memorizza i componenti rosso, verde e blu su 32 bit ciascuno. Ogni componente viene archiviato come un floating point
[page:constant R11F_G11F_B10F] memorizza i componenti rosso, verde e blu rispettivamente 11 bit, 11 bit, e 10bit. Ogni componente viene archiviato come un floating point.
[page:constant RGB565] memorizza i componenti rosso, verde e blu rispettivamente su 5 bit, 6 bit, e 5 bit.
[page:constant RGB9_E5] memorizza i componenti rosso, verde e blu su 9 bit ciascuno.
[page:constant RGBA8] memorizza i componenti rosso, verde, blu e alfa su 8 bit ciascuno.
[page:constant RGBA8_SNORM] memorizza i componenti rosso, verde, blu e alfa su 8 bit ciascuno. Ogni componente viene archiviato come normalizzato.
[page:constant RGBA8I] memorizza i componenti rosso, verde, blu e alfa su 8 bit ciascuno. Ogni componente viene archiviato come un intero.
[page:constant RGBA8UI] memorizza i componenti rosso, verde, blu e alfa su 8 bit ciascuno. Ogni componente viene archiviato come un intero senza segno.
[page:constant RGBA16I] memorizza i componenti rosso, verde, blu e alfa su 16 bit ciascuno. Ogni componente viene archiviato come un intero.
[page:constant RGBA16UI] memorizza i componenti rosso, verde, blu e alfa su 16 bit ciascuno. Ogni componente viene archiviato come un intero senza segno.
[page:constant RGBA16F] memorizza i componenti rosso, verde, blu e alfa su 16 bit ciascuno. Ogni componente viene archiviato come un floating point.
[page:constant RGBA32I] memorizza i componenti rosso, verde, blu e alfa su 32 bit ciascuno. Ogni componente viene archiviato come un intero.
[page:constant RGBA32UI] memorizza i componenti rosso, verde, blu e alfa su 32 bit ciascuno. Ogni componente viene archiviato come un intero senza segno.
[page:constant RGBA32F] memorizza i componenti rosso, verde, blu e alfa su 32 bit ciascuno. Ogni componente viene archiviato come un floating point.
[page:constant RGB5_A1] memorizza i componenti rosso, verde, blu e alfa rispettivamente su 5 bit, 5 bit, 5 bit e 1 bit.
[page:constant RGB10_A2] memorizza i componenti rosso, verde, blu e alfa rispettivamente su 10 bit, 10 bit, 10 bit e 2 bit.
[page:constant RGB10_A2UI] memorizza i componenti rosso, verde, blu e alfa rispettivamente su 10 bit, 10 bit, 10 bit e 2 bit. Ogni componente viene archiviato come un intero senza segno.
[page:constant SRGB8] memorizza i componenti rosso, verde e blu su 8 bit ciascuno.
[page:constant SRGB8_ALPHA8] memorizza i componenti rosso, verde, blu e alfa su 8 bit ciascuno.
[page:constant DEPTH_COMPONENT16] memorizza il componente depth su 16 bit.
[page:constant DEPTH_COMPONENT24] memorizza il componente depth su 24 bit.
[page:constant DEPTH_COMPONENT32F] memorizza il componente depth su 32 bit. Il componente viene archiviato come un floating point.
[page:constant DEPTH24_STENCIL8] memorizza i componenti depth e stencil rispettivamente su 24 bit e 8 bit. Il componente stencil viene archiviato come un intero senza segno.
[page:constant DEPTH32F_STENCIL8] memorizza i componenti depth e stencil rispettivamente su 32 bit e 8 bit. Il componente depth viene archiviato come un floating point, il componente stencil viene archiviato come un intero senza segno.
Si noti che la texture deve avere impostato il corretto [page:Texture.type tipo], come anche il [page:Texture.format formato] corretto. Vedi [link:https://developer.mozilla.org/en/docs/Web/API/WebGLRenderingContext/texImage2D WebGLRenderingContext.texImage2D], e [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext/texImage3D WebGL2RenderingContext.texImage3D], per maggiori informazioni relativamente alle possibili combinazioni del [page:Texture.format formato], dell'[page:Texture.internalFormat internalFormat], e del [page:Texture.type tipo].
Per informazioni più approfondite sui formati interni, puoi anche fare riferimento direttamente alla [link:https://www.khronos.org/registry/webgl/specs/latest/2.0/ Specifica WebGL2] e alla [link:https://www.khronos.org/registry/OpenGL/specs/es/3.0/es_spec_3.0.pdf Specifica OpenGL ES 3.0].

## Depth Packing

`THREE.BasicDepthPacking THREE.RGBADepthPacking`

For use with the [page:MeshDepthMaterial.depthPacking depthPacking] property of `MeshDepthMaterial`.

## Color Space

`THREE.NoColorSpace = "" THREE.SRGBColorSpace = "srgb" THREE.LinearSRGBColorSpace = "srgb-linear"`

Used to define the color space of textures (and the output color space of the renderer).
If the color space type is changed after the texture has already been used by a material, you will need to set [page:Material.needsUpdate Material.needsUpdate] to `true` to make the material recompile.

## Source

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