WebGLRenderer interface

Interface para renderizar gráficos WebGL em um WebGLLayer.

Propriedades

renderingMode

"2d" ou "3d". O padrão é "2d".

Métodos

onAdd(Map, WebGLRenderingContext)

Método opcional chamado quando a camada foi adicionada ao Mapa. Isso dá à camada a chance de inicializar recursos gl e registrar ouvintes de eventos.

onRemove(Map, WebGLRenderingContext)

Método opcional chamado quando a camada foi removida do Mapa. Isso dá à camada a chance de limpar recursos gl e ouvintes de eventos.

prerender(WebGLRenderingContext, number[])

Método opcional chamado durante um quadro de renderização para permitir que uma camada prepare recursos ou renderize em uma textura. A camada não pode fazer nenhuma suposição sobre o estado gl atual e deve associar um quadro-cofre antes de renderizar.

render(WebGLRenderingContext, number[])

Chamado durante um quadro de renderização, permitindo que a camada seja desenhada no contexto GL. A camada pode assumir que a combinação e o estado de profundidade estão definidos para permitir que a camada misture e corte corretamente outras camadas. A camada não pode fazer outras suposições sobre o estado GL atual.

Se a camada precisar ser renderizada em uma textura, ela deverá implementar o método prerender para fazer isso e usar apenas o método de renderização para desenhar diretamente no quadro principal.

A função blend é definida como gl.blendFunc(gl. UM, gl. ONE_MINUS_SRC_ALPHA). Isso espera que as cores sejam fornecidas na forma alfa pré-multiplicada, em que os valores r, g e b já são multiplicados pelo valor a. Se não for possível fornecer cores na forma pré-adulterada, talvez você queira alterar a função de combinação para gl.blendFuncSeparate(gl. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. UM, gl. ONE_MINUS_SRC_ALPHA).

Detalhes da propriedade

renderingMode

"2d" ou "3d". O padrão é "2d".

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

Valor da propriedade

"2d" | "3d"

Detalhes do método

onAdd(Map, WebGLRenderingContext)

Método opcional chamado quando a camada foi adicionada ao Mapa. Isso dá à camada a chance de inicializar recursos gl e registrar ouvintes de eventos.

function onAdd(map: Map, gl: WebGLRenderingContext)

Parâmetros

map
Map

O mapa ao qual essa camada WebGL foi adicionada.

gl

WebGLRenderingContext

O contexto gl para o mapa.

onRemove(Map, WebGLRenderingContext)

Método opcional chamado quando a camada foi removida do Mapa. Isso dá à camada a chance de limpar recursos gl e ouvintes de eventos.

function onRemove(map: Map, gl: WebGLRenderingContext)

Parâmetros

map
Map

O mapa ao qual essa camada WebGL foi adicionada.

gl

WebGLRenderingContext

O contexto gl para o mapa.

prerender(WebGLRenderingContext, number[])

Método opcional chamado durante um quadro de renderização para permitir que uma camada prepare recursos ou renderize em uma textura. A camada não pode fazer nenhuma suposição sobre o estado gl atual e deve associar um quadro-cofre antes de renderizar.

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

Parâmetros

gl

WebGLRenderingContext

O contexto gl do mapa.

matrix

number[]

A matriz da câmera do mapa. Ele projeta coordenadas de mercador esférico para coordenadas gl. A coordenada do mercator [0, 0] representa o canto superior esquerdo do mundo mercator e [1, 1] representa o canto inferior direito. Quando o renderingMode é "3d", a coordenada z está em conformidade. Uma caixa com comprimentos x, y e z idênticos em unidades de mercator seria renderizada como um cubo. MercatorCoordinate .fromLatLng pode ser usado para projetar um LngLat em uma coordenada de mercator.

render(WebGLRenderingContext, number[])

Chamado durante um quadro de renderização, permitindo que a camada seja desenhada no contexto GL. A camada pode assumir que a combinação e o estado de profundidade estão definidos para permitir que a camada misture e corte corretamente outras camadas. A camada não pode fazer outras suposições sobre o estado GL atual.

Se a camada precisar ser renderizada em uma textura, ela deverá implementar o método prerender para fazer isso e usar apenas o método de renderização para desenhar diretamente no quadro principal.

A função blend é definida como gl.blendFunc(gl. UM, gl. ONE_MINUS_SRC_ALPHA). Isso espera que as cores sejam fornecidas na forma alfa pré-multiplicada, em que os valores r, g e b já são multiplicados pelo valor a. Se não for possível fornecer cores na forma pré-adulterada, talvez você queira alterar a função de combinação para gl.blendFuncSeparate(gl. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. UM, gl. ONE_MINUS_SRC_ALPHA).

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

Parâmetros

gl

WebGLRenderingContext

O contexto gl do mapa.

matrix

number[]

A matriz da câmera do mapa. Ele projeta coordenadas de mercador esférico para coordenadas gl. A coordenada do mercator [0, 0] representa o canto superior esquerdo do mundo mercator e [1, 1] representa o canto inferior direito. Quando o renderingMode é "3d", a coordenada z está em conformidade. Uma caixa com comprimentos x, y e z idênticos em unidades de mercator seria renderizada como um cubo. MercatorCoordinate .fromLatLng pode ser usado para projetar um LngLat em uma coordenada de mercator.