# [name]

Serve come classe base per le altri classi shadow (ombra).

## Costruttore

### [name]( [param:Camera camera] )

[page:Camera camera] - la visione del mondo da parte della luce.
Crea una nuova [name]. Questa classe non deve essere chiamata direttamente - viene usata come classe base da altre ombre di luce.

## Proprietà

### [property:Boolean autoUpdate]

Abilita gli aggiornamenti automatici dell'ombra della luce. Il valore predefinito è `true`. Se non hai bisogno di luci/ombre, puoi impostarlo su `false`.

### [property:Camera camera]

La visione del mondo da parte della luce. Viene utilizzata per generare un mappa di profondità della scena; gli oggetti dietro ad altri oggetti dalla prospettiva della luce saranno in ombra.

### [property:Float bias]

Bias della mappa delle ombre, quanto aggiungere o sottrarre dalla profondità normalizzata quando si decide se una superficie è in ombra.
Il valore predefinito è 0. Piccole regolazioni qui (nell'ordine di 0,0001) possono aiutare a ridurre gli artefatti nelle ombre.

### [property:Integer blurSamples]

La quantità di campioni da utilizzare durante la sfocatura di una mappa ombra VSM.

### [property:WebGLRenderTarget map]

La mappa di profondità generata usando la telecamera interna; una posizione oltre la profondità di un pixel è in ombra. Calcolato internamente durante il rendering.

### [property:WebGLRenderTarget mapPass]

La mappa di distribuzione generata usando la telecamera interna; un'occlusione viene calcolata in base alla distribuzione della profondità. Calcolato internamente durante il rendering.

### [property:Vector2 mapSize]

Un [Page:Vector2] che definisce la larghezza e l'altezza della mappa dell'ombra.
Valori più alti danno una maggior qualità alle ombre a scapito del tempo di calcolo. I valori devono essere potenze di 2, fino a [page:WebGLRenderer.capabilities].maxTextureSize per un determinato dispositivo, sebbene la larghezza e l'altezza non debbano essere le stesse (quindi, per esempio (512, 1024) è valido). Il valore predefinito è *( 512, 512 )*.

### [property:Matrix4 matrix]

Modello per lo spazio delle ombre della telecamera, per calcolare la posizione e la profondità nella mappa delle ombre. Memorizzato in una [page:Matrix4 Matrix4]. Questa viene calcolata internamente durante il rendering.

### [property:Boolean needsUpdate]

Quando viene impostato a `true`, le mappe d'ombra saranno aggiornate nella successiva chiamata del `render`. L'impostazione predefinita è `false`. Se si è impostato [page:.autoUpdate] a `false`, sarà necessario impostare questa proprietà su `true` e quindi eseguire una chiamata di rendering per aggiornare l'ombra della luce.

### [property:Float normalBias]

Definisce di quanto la posizione utilizzata per interrogare la mappa delle ombre è sfalsata rispetto alla normale dell'oggetto. Il valore predefinito è 0. Aumentando questo valore si può ridurre l'acne dell'ombra, soprattutto nelle scene di grandi dimensioni in cui la luce illumina la geometria con un angolo poco profondo. Il costo è che le ombre possono apparire distorte.

### [property:Float radius]

Impostando questo valore maggiore di 1 si sfocheranno i bordi dell'ombra.
Valori alti causeranno degli effetti di banding indesiderati nelle ombre - un [page:.mapSize mapSize] maggiore consentirà di utilizzare un valore più elevato qui prima che questi effetti diventino visibili.
Se [page:WebGLRenderer.shadowMap.type] è impostato a [page:Renderer PCFSoftShadowMap], il raggio non ha effetto e si consiglia di aumentare la morbidezza diminuendo invece [page:.mapSize mapSize].
Si noti che questo non ha effetto se [page:WebGLRenderer.shadowMap.type] è impostato a [page:Renderer BasicShadowMap].

## Metodi

### [method:Vector2 getFrameExtents]()

Utilizzato internamente dal renderer per estendere la mappa d'ombra in modo da contenere tutti i viewport.

### [method:undefined updateMatrices]( [param:Light light] )

Aggiorna le matrici per la telecamera e l'ombra, utilizzato internamente dal renderer.
light -- la luce per la quale viene renderizzata l'ombra.

### [method:Frustum getFrustum]()

Ottiene il frustum delle telecamere ombra. Utilizzato internamente dal renderer per tagliare gli oggetti.

### [method:number getViewportCount]()

Utilizzato internamente dal renderer per ottenere il numero di viewport che devono essere renderizzate per questa ombra.

### [method:undefined dispose]()

Elimina le texture di questa ombra ([page:LightShadow.map map] e [page:LightShadow.mapPass mapPass]).

### [method:this copy]( [param:LightShadow source] )

Copia il valore di tutte le proprietà dalla [page:LightShadow sorgente] della Light.

### [method:LightShadow clone]()

Crea una nuova LightShadow con le stesse proprietà di questa.

### [method:Object toJSON]()

Serializza questa LightShadow.

## Source

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