Compartir a través de


WebGLRenderer interface

Interfaz para representar gráficos de WebGL en webGLLayer.

Propiedades

renderingMode

"2d" o "3d". El valor predeterminado es "2d".

Métodos

onAdd(Map, WebGLRenderingContext)

Método opcional al que se llama cuando se ha agregado la capa al mapa. Esto ofrece a la capa la oportunidad de inicializar recursos gl y registrar agentes de escucha de eventos.

onRemove(Map, WebGLRenderingContext)

Método opcional al que se llama cuando se ha quitado la capa del mapa. Esto ofrece a la capa la oportunidad de limpiar los recursos gl y los agentes de escucha de eventos.

prerender(WebGLRenderingContext, number[])

Método opcional al que se llama durante un marco de representación para permitir que una capa prepare recursos o se represente en una textura. La capa no puede realizar ninguna suposición sobre el estado GL actual y debe enlazar un búfer de fotogramas antes de la representación.

render(WebGLRenderingContext, number[])

Se llama durante un marco de representación que permite que la capa se dibuje en el contexto gl. La capa puede suponer que el estado de fusión y profundidad se establece para permitir que la capa se combine correctamente y recorte otras capas. La capa no puede realizar ninguna otra suposición sobre el estado GL actual.

Si la capa necesita representarse en una textura, debe implementar el método prerender para hacerlo y usar solo el método render para dibujar directamente en el búfer de fotogramas principal.

La función blend se establece en gl.blendFunc(gl. ONE, gl. ONE_MINUS_SRC_ALPHA). Esto espera que los colores se proporcionen en forma alfa premultiplicada, donde los valores r, g y b ya se multiplican por un valor. Si no puede proporcionar colores en forma premultiplicada, es posible que desee cambiar la función blend a gl.blendFuncSeparate(gl. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. ONE, gl. ONE_MINUS_SRC_ALPHA).

Detalles de las propiedades

renderingMode

"2d" o "3d". El valor predeterminado es "2d".

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

Valor de propiedad

"2d" | "3d"

Detalles del método

onAdd(Map, WebGLRenderingContext)

Método opcional al que se llama cuando se ha agregado la capa al mapa. Esto ofrece a la capa la oportunidad de inicializar recursos gl y registrar agentes de escucha de eventos.

function onAdd(map: Map, gl: WebGLRenderingContext)

Parámetros

map
Map

El mapa a la que se acaba de agregar esta capa de WebGL.

gl

WebGLRenderingContext

Contexto gl del mapa.

onRemove(Map, WebGLRenderingContext)

Método opcional al que se llama cuando se ha quitado la capa del mapa. Esto ofrece a la capa la oportunidad de limpiar los recursos gl y los agentes de escucha de eventos.

function onRemove(map: Map, gl: WebGLRenderingContext)

Parámetros

map
Map

El mapa a la que se acaba de agregar esta capa de WebGL.

gl

WebGLRenderingContext

Contexto gl del mapa.

prerender(WebGLRenderingContext, number[])

Método opcional al que se llama durante un marco de representación para permitir que una capa prepare recursos o se represente en una textura. La capa no puede realizar ninguna suposición sobre el estado GL actual y debe enlazar un búfer de fotogramas antes de la representación.

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

Parámetros

gl

WebGLRenderingContext

Contexto gl del mapa.

matrix

number[]

Matriz de cámara del mapa. Proyecta coordenadas esféricas del mercador para deslizar las coordenadas. La coordenada mercator [0, 0] representa la esquina superior izquierda del mundo mercator y [1, 1] representa la esquina inferior derecha. Cuando renderingMode es "3d", la coordenada z es conforme. Un cuadro con longitudes x, y y z idénticas en unidades mercator se representaría como un cubo. MercatorCoordinate .fromLatLng se puede usar para proyectar un LngLat a una coordenada mercator.

render(WebGLRenderingContext, number[])

Se llama durante un marco de representación que permite que la capa se dibuje en el contexto gl. La capa puede suponer que el estado de fusión y profundidad se establece para permitir que la capa se combine correctamente y recorte otras capas. La capa no puede realizar ninguna otra suposición sobre el estado GL actual.

Si la capa necesita representarse en una textura, debe implementar el método prerender para hacerlo y usar solo el método render para dibujar directamente en el búfer de fotogramas principal.

La función blend se establece en gl.blendFunc(gl. ONE, gl. ONE_MINUS_SRC_ALPHA). Esto espera que los colores se proporcionen en forma alfa premultiplicada, donde los valores r, g y b ya se multiplican por un valor. Si no puede proporcionar colores en forma premultiplicada, es posible que desee cambiar la función blend a gl.blendFuncSeparate(gl. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. ONE, gl. ONE_MINUS_SRC_ALPHA).

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

Parámetros

gl

WebGLRenderingContext

Contexto gl del mapa.

matrix

number[]

Matriz de cámara del mapa. Proyecta coordenadas esféricas del mercador para deslizar las coordenadas. La coordenada mercator [0, 0] representa la esquina superior izquierda del mundo mercator y [1, 1] representa la esquina inferior derecha. Cuando renderingMode es "3d", la coordenada z es conforme. Un cuadro con longitudes x, y y z idénticas en unidades mercator se representaría como un cubo. MercatorCoordinate .fromLatLng se puede usar para proyectar un LngLat a una coordenada mercator.