Condividi tramite


WebGLRenderer interface

Interfaccia per il rendering di grafica WebGL in un WebGLLayer.

Proprietà

renderingMode

"2d" o "3d". Il valore predefinito è "2d".

Metodi

onAdd(Map, WebGLRenderingContext)

Metodo facoltativo chiamato quando il livello è stato aggiunto alla mappa. Questo consente al livello di inizializzare le risorse gl e registrare listener eventi.

onRemove(Map, WebGLRenderingContext)

Metodo facoltativo chiamato quando il livello è stato rimosso dalla mappa. Questo offre al livello la possibilità di pulire le risorse gl e i listener degli eventi.

prerender(WebGLRenderingContext, number[])

Metodo facoltativo chiamato durante un frame di rendering per consentire a un livello di preparare le risorse o eseguire il rendering in una trama. Il livello non può fare ipotesi sullo stato GL corrente e deve associare un framebuffer prima del rendering.

render(WebGLRenderingContext, number[])

Chiamato durante un frame di rendering che consente al livello di disegnare nel contesto GL. Il livello può presupporre che lo stato di fusione e profondità sia impostato per consentire al livello di fondersi correttamente e ritagliare altri livelli. Il livello non può fare altre ipotesi sullo stato GL corrente.

Se il livello deve eseguire il rendering in una trama, deve implementare il metodo di prerender per eseguire questa operazione e usare solo il metodo di rendering per il disegno direttamente nel framebuffer principale.

La funzione blend è impostata su gl.blendFunc(gl. ONE, gl. ONE_MINUS_SRC_ALPHA). Questo prevede che i colori vengano forniti in forma alfa premultiplied in cui i valori r, g e b sono già moltiplicati per il valore. Se non è possibile specificare i colori nel formato premultiplied, è possibile modificare la funzione blend in gl.blendFuncSeparate(gl). SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. ONE, gl. ONE_MINUS_SRC_ALPHA).

Dettagli proprietà

renderingMode

"2d" o "3d". Il valore predefinito è "2d".

renderingMode?: "2d" | "3d"

Valore della proprietà

"2d" | "3d"

Dettagli metodo

onAdd(Map, WebGLRenderingContext)

Metodo facoltativo chiamato quando il livello è stato aggiunto alla mappa. Questo consente al livello di inizializzare le risorse gl e registrare listener eventi.

function onAdd(map: Map, gl: WebGLRenderingContext)

Parametri

map
Map

Il livello Map this WebGL è stato appena aggiunto.

gl

WebGLRenderingContext

Contesto gl per la mappa.

onRemove(Map, WebGLRenderingContext)

Metodo facoltativo chiamato quando il livello è stato rimosso dalla mappa. Questo offre al livello la possibilità di pulire le risorse gl e i listener degli eventi.

function onRemove(map: Map, gl: WebGLRenderingContext)

Parametri

map
Map

Il livello Map this WebGL è stato appena aggiunto.

gl

WebGLRenderingContext

Contesto gl per la mappa.

prerender(WebGLRenderingContext, number[])

Metodo facoltativo chiamato durante un frame di rendering per consentire a un livello di preparare le risorse o eseguire il rendering in una trama. Il livello non può fare ipotesi sullo stato GL corrente e deve associare un framebuffer prima del rendering.

function prerender(gl: WebGLRenderingContext, matrix: number[])

Parametri

gl

WebGLRenderingContext

Contesto gl della mappa.

matrix

number[]

Matrice della fotocamera della mappa. Proietta le coordinate del mercator sferico alle coordinate gl. La coordinata mercator [0, 0] rappresenta l'angolo superiore sinistro del mondo del mercator e [1, 1] rappresenta l'angolo inferiore destro. Quando il renderingMode è "3d", la coordinata z è conforme. Una casella con lunghezze x, y e z identiche in unità mercator verrà eseguito il rendering come cubo. MercatorCoordinate .fromLatLng può essere usato per proiettare un LngLat in una coordinata mercator.

render(WebGLRenderingContext, number[])

Chiamato durante un frame di rendering che consente al livello di disegnare nel contesto GL. Il livello può presupporre che lo stato di fusione e profondità sia impostato per consentire al livello di fondersi correttamente e ritagliare altri livelli. Il livello non può fare altre ipotesi sullo stato GL corrente.

Se il livello deve eseguire il rendering in una trama, deve implementare il metodo di prerender per eseguire questa operazione e usare solo il metodo di rendering per il disegno direttamente nel framebuffer principale.

La funzione blend è impostata su gl.blendFunc(gl. ONE, gl. ONE_MINUS_SRC_ALPHA). Questo prevede che i colori vengano forniti in forma alfa premultiplied in cui i valori r, g e b sono già moltiplicati per il valore. Se non è possibile specificare i colori nel formato premultiplied, è possibile modificare la funzione blend in gl.blendFuncSeparate(gl). SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. ONE, gl. ONE_MINUS_SRC_ALPHA).

function render(gl: WebGLRenderingContext, matrix: number[])

Parametri

gl

WebGLRenderingContext

Contesto gl della mappa.

matrix

number[]

Matrice della fotocamera della mappa. Proietta le coordinate del mercator sferico alle coordinate gl. La coordinata mercator [0, 0] rappresenta l'angolo superiore sinistro del mondo del mercator e [1, 1] rappresenta l'angolo inferiore destro. Quando il renderingMode è "3d", la coordinata z è conforme. Una casella con lunghezze x, y e z identiche in unità mercator verrà eseguito il rendering come cubo. MercatorCoordinate .fromLatLng può essere usato per proiettare un LngLat in una coordinata mercator.