You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
409 lines
15 KiB
409 lines
15 KiB
<!DOCTYPE html>
|
|
<html lang="it">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<base href="../../../" />
|
|
<script src="page.js"></script>
|
|
<link type="text/css" rel="stylesheet" href="page.css" />
|
|
</head>
|
|
<body>
|
|
<h1>[name]</h1>
|
|
|
|
<p class="desc">
|
|
Classe base astratta per i materiali.<br /><br />
|
|
|
|
I materiali descrivono l'aspetto degli [page:Object oggetti].
|
|
Sono definiti in modo (spesso) indipendente dal renderer, quindi non devi
|
|
riscrivere i materiali se decidi di usare un renderer diverso.<br /><br />
|
|
|
|
Le proprietà e i metodi seguenti vengono ereditati da tutti gli altri tipi di materiale
|
|
(sebbene possano avere impostazioni predefinite diverse).
|
|
</p>
|
|
|
|
<h2>Costruttore</h2>
|
|
|
|
|
|
<h3>[name]()</h3>
|
|
<p>Questo crea un materiale generico.</p>
|
|
|
|
|
|
<h2>Proprietà</h2>
|
|
|
|
<h3>[property:Float alphaTest]</h3>
|
|
<p>
|
|
Imposta il valore alfa per essere usato quando vengono eseguiti i test alfa.
|
|
Il materiale non sarà renderizzato se l'opacità è inferiore a questo valore.
|
|
Il valore predefinito è `0`.
|
|
</p>
|
|
|
|
<h3>[property:Boolean alphaToCoverage]</h3>
|
|
<p>
|
|
Abilita l'alfa alla copertura. Può essere utilizzato solo con contesti abilitati per MSAA (ovvero quando il renderer è stato creato con
|
|
il parametro `antialias` impostato a `true`).
|
|
Il valore predefinito è `false`.
|
|
</p>
|
|
|
|
<h3>[property:Integer blendDst]</h3>
|
|
<p>
|
|
Destinazione di fusione. Il valore predefinito è [page:CustomBlendingEquation OneMinusSrcAlphaFactor].
|
|
Vedi le [page:CustomBlendingEquation costanti] dei fattori di destinazione per tutti i valori possibili.<br />
|
|
La [page:Constant fusione] del materiale deve essere impostata a [page:Materials CustomBlending] affinché
|
|
ciò abbia effetto.
|
|
</p>
|
|
|
|
<h3>[property:Integer blendDstAlpha]</h3>
|
|
<p>La trasparenza del [page:.blendDst]. Usa [page:.blendDst] se il valore è null. Il valore predefinito è `null`.</p>
|
|
|
|
<h3>[property:Integer blendEquation]</h3>
|
|
<p>
|
|
Equazione di fusione da utilizzare quando si applica la fusione. Il valore predefinito è [page:CustomBlendingEquation AddEquation].
|
|
Vedi le [page:CustomBlendingEquation costanti] dell'equazione di fusione per tutti i valori possibili.<br />
|
|
La [page:Constant fusione] del materiale deve essere impostata a [page:Materials CustomBlending] affinché
|
|
ciò abbia effetto.
|
|
</p>
|
|
|
|
<h3>[property:Integer blendEquationAlpha]</h3>
|
|
<p>La trasparenza del [page:.blendEquation]. Usa [page:.blendEquation] se il valore è null. Il valore predefinito è `null`.</p>
|
|
|
|
<h3>[property:Blending blending]</h3>
|
|
<p>
|
|
Indica quale fusione utilizzare quando gli oggetti vengono mostrati con questo materiale.<br />
|
|
Questa proprietà deve essere impostata a [page:Materials CustomBlending] per usare
|
|
[page:Constant blendSrc], [page:Constant blendDst] o [page:Constant blendEquation] personalizzati.<br />
|
|
Vedi le [page:Materials costanti] del metodo di fusione per tutti i valori possibili. Il valore predefinito è [page:Materials NormalBlending].
|
|
</p>
|
|
|
|
<h3>[property:Integer blendSrc]</h3>
|
|
<p>
|
|
Sorgente di fusione. Il valore predefinito è [page:CustomBlendingEquation SrcAlphaFactor].
|
|
Vedi le [page:CustomBlendingEquation costanti] dei fattori della sorgente per tutti i valori possibili.<br />
|
|
La [page:Constant fusione] del materiale deve essere impostata a [page:Materials CustomBlending] affinché ciò abbia effetto.
|
|
</p>
|
|
|
|
<h3>[property:Integer blendSrcAlpha]</h3>
|
|
<p>La trasparenza del [page:.blendSrc]. Usa [page:.blendSrc] se il valore è null. Il valore predefinito è `null`.</p>
|
|
|
|
<h3>[property:Boolean clipIntersection]</h3>
|
|
<p>
|
|
Modifica il comportamento dei piani di taglio così che solo la loro intersezione sia ritagliata, piuttosto che la loro unione.
|
|
Il valore predefinito è `false`.
|
|
</p>
|
|
|
|
<h3>[property:Array clippingPlanes]</h3>
|
|
<p>
|
|
Piani di taglio definiti dall'utente e specificati come ogetti THREE.Plane nello spazio world.
|
|
Questi piani si applicano agli oggetti ai quali è attaccato questo materiale.
|
|
I punti nello spazio la cui distanza con segno dal piano è negativa vengono ritagliati (non renderizzati).
|
|
Questo richiede che [page:WebGLRenderer.localClippingEnabled] sia impostato a `true`.
|
|
Vedi l'esempio [example:webgl_clipping_intersection WebGL / clipping /intersection].
|
|
Il valore predefinito è `null`.
|
|
</p>
|
|
|
|
<h3>[property:Boolean clipShadows]</h3>
|
|
<p>
|
|
Definisce se ritagliare le ombre in base ai piani di ritaglio specificati su questo materiale. L'impostazione predefinita è `false`.
|
|
</p>
|
|
|
|
<h3>[property:Boolean colorWrite]</h3>
|
|
<p>
|
|
Indica se visualizzare il colore del materiale.
|
|
Può essere utilizzato insieme alla proprietà [page:Integer renderOrder] di una mesh per creare oggetti invisibili che occludono altri oggetti.
|
|
Il valore predefinito è `true`.
|
|
</p>
|
|
|
|
<h3>[property:Object defines]</h3>
|
|
<p>
|
|
Definizioni personalizzate da iniettare nello shader. Questi vengono passati nella forma di un oggetto letterale,
|
|
con la coppia chiave/valore. `{ MY_CUSTOM_DEFINE: '' , PI2: Math.PI * 2 }`.
|
|
Le coppie sono definite in entrambi gli shader, vertex e fragment. Il valore predefinito è `undefined`.
|
|
</p>
|
|
|
|
<h3>[property:Integer depthFunc]</h3>
|
|
<p>
|
|
Indica quale funzione di profondità utilizzare. Il valore predefinito è [page:Materials LessEqualDepth]. Vedi
|
|
le [page:Materials costanti] del metodo di profondità per tutti i valori possibili.
|
|
</p>
|
|
|
|
<h3>[property:Boolean depthTest]</h3>
|
|
<p>
|
|
Indica se abilitare il test di profondità durante la visualizzazione di questo materiale. Il valore predefinito è `true`.
|
|
</p>
|
|
|
|
<h3>[property:Boolean depthWrite]</h3>
|
|
<p>
|
|
Indica se il rendering di questo materiale ha qualche effetto sul buffer di profondità. Il valore predefinito è `true`.<br /><br />
|
|
|
|
Quando si disegnano sovrapposizioni 2D può essere utile disabilitare la scrittura di profondità per sovrapporre più
|
|
cose insieme senza creare artefatti z.index.
|
|
</p>
|
|
|
|
<h3>[property:Boolean isMaterial]</h3>
|
|
<p>
|
|
Flag di sola lettura per verificare se l'oggetto dato è di tipo [name].
|
|
</p>
|
|
|
|
<h3>[property:Boolean stencilWrite]</h3>
|
|
<p>
|
|
Indica se le operazioni di stencil vengono eseguite sul buffer di stencil. Per seguire scritture o confronti con il buffer dello stencil,
|
|
questo valore deve essere `true`. Il valore predefinito è `false`.
|
|
</p>
|
|
|
|
<h3>[property:Integer stencilWriteMask]</h3>
|
|
<p>
|
|
La maschera bit da utilizzare durante la scrittura nel buffer dello stencil. Il valore predefinito è `0xFF`.
|
|
</p>
|
|
|
|
<h3>[property:Integer stencilFunc]</h3>
|
|
<p>
|
|
La funzione di confronto dello stencil da utilizzare.
|
|
Il valore predefinito è [page:Materials AlwaysStencilFunc].
|
|
Vedi le [page:Materials costanti] della funzione stencil per tutti i possibili valori.
|
|
</p>
|
|
|
|
<h3>[property:Integer stencilRef]</h3>
|
|
<p>
|
|
Il valore da utilizzare quando si eseguono confronti di stencil o operazioni di stencil. Il valore predefinito è `0`.
|
|
</p>
|
|
|
|
<h3>[property:Integer stencilFuncMask]</h3>
|
|
<p>
|
|
La maschera bit da utilizzare durante il confronto con il buffer dello stencil. Il valore predefinito è `0xFF`.
|
|
</p>
|
|
|
|
<h3>[property:Integer stencilFail]</h3>
|
|
<p>
|
|
Quale operazione stencil eseguire quando la funzione di confronto ritorna false.
|
|
Il valore predefinito è [page:Materials KeepStencilOp]. Vedi le [page:Materials costanti] delle operazioni stencil per tutti i possbili valori.
|
|
</p>
|
|
|
|
<h3>[property:Integer stencilZFail]</h3>
|
|
<p>
|
|
Quale operazione stencil eseguire quando la funzione di confronto ritorna true ma il test di profondità fallisce.
|
|
Il valore predefinito è [page:Materials KeepStencilOp]. Vedi le [page:Materials costanti] delle operazioni stencil per tutti i possbili valori.
|
|
</p>
|
|
|
|
<h3>[property:Integer stencilZPass]</h3>
|
|
<p>
|
|
Quale operazione stencil eseguire quando la funzione di confronto ritorna true ma il test di profondità termina con successo.
|
|
Il valore predefinito è [page:Materials KeepStencilOp]. Vedi le [page:Materials costanti] delle operazioni stencil per tutti i possbili valori.
|
|
</p>
|
|
|
|
<h3>[property:Integer id]</h3>
|
|
<p>Numero univoco per questa istanza di materiale.</p>
|
|
|
|
<h3>[property:String name]</h3>
|
|
<p>Nome opzionale dell'oggetto (non è necessario che sia univoco). Il valore predefinito è una stringa vuota.</p>
|
|
|
|
<h3>[property:Boolean needsUpdate]</h3>
|
|
<p>
|
|
Specifica che il materiale ha bisogno di essere ricompilato.
|
|
</p>
|
|
|
|
<h3>[property:Float opacity]</h3>
|
|
<p>
|
|
Float nell'intervallo `0.0` - `1.0` indicando quanto è trasparente il materiale.
|
|
Un valore di `0.0` indica che il materiale è completamente trasparente, `1.0` è completamente opaco.<br />
|
|
Se la proprietà [page:Boolean transparent] del materiale non è impostato a `true`, il materiale rimarrà
|
|
completamente opaco e questo valore influirà solo sul suo colore.<br />
|
|
Il valore predefinito è `1.0`.
|
|
</p>
|
|
|
|
<h3>[property:Boolean polygonOffset]</h3>
|
|
<p>
|
|
Indica se utilizzare l'offset dei poligoni. Il valore predefinito è `false`. Corrisponde alla funzione WebGL `GL_POLYGON_OFFSET_FILL`.
|
|
</p>
|
|
|
|
<h3>[property:Integer polygonOffsetFactor]</h3>
|
|
<p>Imposta il fattore di offset del poligono. Il valore predefinito è `0`.</p>
|
|
|
|
<h3>[property:Integer polygonOffsetUnits]</h3>
|
|
<p>Imposta le unità di offset del poligono. Il valore predefinito è `0`.</p>
|
|
|
|
<h3>[property:String precision]</h3>
|
|
<p>
|
|
Sovrascrive la precisione predefinita del renderer per questo materiale. Può essere `"highp"`, `"mediump"` or `"lowp"`.
|
|
Il valore predefinito è `null`.
|
|
</p>
|
|
|
|
<h3>[property:Boolean premultipliedAlpha]</h3>
|
|
<p>
|
|
Indica se moltiplicare il valore alfa (trasparenza).
|
|
Vedi [Example:webgl_materials_physical_transmission WebGL / Materials / Physical / Transmission] per un esempio della differenza.
|
|
Il valore predefinito è `false`.
|
|
</p>
|
|
|
|
<h3>[property:Boolean dithering]</h3>
|
|
<p>
|
|
Indica se applicare il dithering al colore per rimuovere l'aspetto delle bande.
|
|
Il valore predefinito è `false`.
|
|
</p>
|
|
|
|
<h3>[property:Integer shadowSide]</h3>
|
|
<p>
|
|
Definisce quale lato delle facce proietta le ombre.
|
|
Quando impostato, può essere [page:Materials THREE.FrontSide], [page:Materials THREE.BackSide], o [page:Materials THREE.DoubleSide].
|
|
Il valore predefinito è `null`. <br />
|
|
Se `null`, le ombre di proiezione lateriali sono determinate come segue:<br />
|
|
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>[page:Material.side]</th>
|
|
<th>Ombre proiettate lateralmente</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
|
|
<tr>
|
|
<td>THREE.FrontSide</td>
|
|
<td>lato posteriore</td>
|
|
</tr>
|
|
<tr>
|
|
<td>THREE.BackSide</td>
|
|
<td>lato frontale</td>
|
|
</tr>
|
|
<tr>
|
|
<td>THREE.DoubleSide</td>
|
|
<td>entrambi i lati</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
|
|
</p>
|
|
|
|
<h3>[property:Integer side]</h3>
|
|
<p>
|
|
Definisce quale lato delle facce sarà visualizzato - frontale, posteriore o entrambi.
|
|
Il valore predefinito è [page:Materials THREE.FrontSide].
|
|
Altre opzioni sono [page:Materials THREE.BackSide] e [page:Materials THREE.DoubleSide].
|
|
</p>
|
|
|
|
<h3>[property:Boolean toneMapped]</h3>
|
|
<p>
|
|
Definisce se questo materiale è mappato sui toni secondo l'impostazione [page:WebGLRenderer.toneMapping toneMapping] del renderer.
|
|
L'impostazione predefinita è `true`.
|
|
</p>
|
|
|
|
<h3>[property:Boolean transparent]</h3>
|
|
<p>
|
|
Definisce se questo materiale è trasparente. Ciò a effetto sul rendering
|
|
poiché gli oggetti trasparenti richiedono un trattamento speciale e vengono
|
|
visualizzati dopo gli oggetti non trasparenti.<br />
|
|
Quando impostato a true, la misura in cui il materiale è trasparente è controllata impostando
|
|
la sua proprietà di [page:Float opacity].<br />
|
|
Il valore predefinito è `false`.
|
|
</p>
|
|
|
|
<h3>[property:String type]</h3>
|
|
<p>
|
|
Il valore è la stringa 'Material'. Non può essere cambiato, e può essere utilizzato
|
|
per trovare tutti gli oggetti di questo tipo nella scena.
|
|
</p>
|
|
|
|
<h3>[property:String uuid]</h3>
|
|
<p>
|
|
[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] di questa istanza di materiale.
|
|
Questo viene assegnato automaticamente, quindi non dovrebbe essere modificato.
|
|
</p>
|
|
|
|
<h3>[property:Integer version]</h3>
|
|
<p>
|
|
Parte da `0` e conta quante volte [page:Material.needsUpdate .needsUpdate] è impostato a `true`.
|
|
</p>
|
|
|
|
<h3>[property:Boolean vertexColors]</h3>
|
|
<p>
|
|
Definisce se viene utilizzata la colorazione dei vertici. Il valore predefinito è `false`.
|
|
</p>
|
|
|
|
<h3>[property:Boolean visible]</h3>
|
|
<p>
|
|
Definisce se questo materiale è visibile. Il valore predefinito è `true`.
|
|
</p>
|
|
|
|
<h3>[property:Object userData]</h3>
|
|
<p>
|
|
Un oggetto che può essere utilizzato per memorizzare dati personalizzati sul materiale. Non dovrebbe
|
|
contenere riferimenti a funzioni poiché queste non verranno clonate.
|
|
</p>
|
|
|
|
<h2>Metodi</h2>
|
|
|
|
<p>I metodi [page:EventDispatcher EventDispatcher] sono disponibili in questa classe.</p>
|
|
|
|
<h3>[method:Material clone]( )</h3>
|
|
<p>Restituisce un nuovo materiale con gli stessi parametri di questo materiale.</p>
|
|
|
|
<h3>[method:this copy]( [param:material material] )</h3>
|
|
<p>Copia i parametri dal materiale passato in questo materiale.</p>
|
|
|
|
<h3>[method:undefined dispose]()</h3>
|
|
<p>
|
|
Libera le risorse relative alla GPU allocate da questa istanza.
|
|
Chiama questo metodo ogni volta che questa istanza non è più utilizzata nella tua app. <br /><br />
|
|
|
|
Le texture del materiale devono essere liberate dal metodo dispose() della [page:Texture Texture].
|
|
</p>
|
|
|
|
<h3>[method:undefined onBeforeCompile]( [param:Shader shader], [param:WebGLRenderer renderer] )</h3>
|
|
<p>
|
|
Una callback opzionale che viene eseguita immediatamente prima che il programma shader sia compilato.
|
|
Questa funzione viene chiamata con il codice sorgente dello shader come parametro.
|
|
Utile per la modifica di materiali build-in.
|
|
</p>
|
|
<p>
|
|
A differenza delle proprietà, la callback non è supportata da [page:Material.clone .clone](), [page:Material.copy .copy]() e [page:Material.toJSON .toJSON]().
|
|
</p>
|
|
|
|
<h3>[method:String customProgramCacheKey]()</h3>
|
|
<p>
|
|
Nel caso in cui onBeforeCompile sia utilizzato, questa callback può essere utilizzata per identificare i valori delle impostazioni utilizzati
|
|
nel onBeforeCompile, quindi three.js può riutilizzare uno shader memorizzato nella cache o ricompilare lo shader per questo materiale secondo
|
|
necessità.
|
|
</p>
|
|
|
|
<p>
|
|
Per esempio, se onBeforeCompile contiene un'istruzione condizionale come:<br />
|
|
|
|
<code>if ( black ) {
|
|
|
|
shader.fragmentShader = shader.fragmentShader.replace('gl_FragColor = vec4(1)', 'gl_FragColor = vec4(0)')
|
|
|
|
}
|
|
</code>
|
|
|
|
allora customProgramCacheKey deve essere impostato come questo:<br />
|
|
|
|
<code>material.customProgramCacheKey = function() {
|
|
|
|
return black ? '1' : '0';
|
|
|
|
}
|
|
</code>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
A differenza delle proprietà, la callback non è supportata da [page:Material.clone .clone](), [page:Material.copy .copy]() e [page:Material.toJSON .toJSON]().
|
|
</p>
|
|
|
|
<h3>[method:undefined setValues]( [param:Object values] )</h3>
|
|
<p>
|
|
values -- un contenitore con i parametri.<br />
|
|
Imposta le proprietà in base ai `values`.
|
|
</p>
|
|
|
|
<h3>[method:Object toJSON]( [param:Object meta] )</h3>
|
|
<p>
|
|
meta -- oggetto contenente metadati come texture o immagini per il materiale.<br />
|
|
Converte il materiale nel [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 formato JSON Object/Scene] di three.js.
|
|
</p>
|
|
|
|
<h2>Source</h2>
|
|
|
|
<p>
|
|
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
|
|
</p>
|
|
</body>
|
|
</html>
|
|
|