WebGLRenderer interface

Interface para renderizar gráficos WebGL num WebGLLayer.

Propriedades

renderingMode

Ou "2d" ou "3d". Incumprimentos para "2d".

Métodos

onAdd(Map, WebGLRenderingContext)

Método opcional chamado quando a camada foi adicionada ao Mapa. Isto dá à camada a oportunidade de inicializar os recursos gl e registar os ouvintes do evento.

onRemove(Map, WebGLRenderingContext)

Método opcional chamado quando a camada foi removida do Mapa. Isto dá à camada a oportunidade de limpar os recursos gl e os ouvintes do evento.

prerender(WebGLRenderingContext, number[])

Método opcional chamado durante uma moldura de renderização para permitir que uma camada prepare recursos ou renderiza em uma textura. A camada não pode fazer suposições sobre o estado atual de GL e deve ligar um framebuffer antes de renderizar.

render(WebGLRenderingContext, number[])

Chamada durante uma moldura de renderização permitindo que a camada se desenhe no contexto GL. A camada pode assumir que o estado de mistura e profundidade está definido para permitir que a camada se misture corretamente e corte outras camadas. A camada não pode fazer quaisquer outros pressupostos sobre o estado atual de GL.

Se a camada precisar de renderizar uma textura, deve implementar o método de pré-repreensão para o fazer e utilizar apenas o método de renderização para desenhar diretamente no framebuffer principal.

A função de mistura está definida para gl.blendFunc (gl. Um, gl. ONE_MINUS_SRC_ALPHA). Isto espera que as cores sejam fornecidas na forma alfa pré-multiplicada, onde os valores r, g e b já são multiplicados pelo valor. Se não for capaz de fornecer cores de forma pré-multiplicada, pode querer alterar a função de mistura para gl.blendFuncSeparate (gl. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. Um, gl. ONE_MINUS_SRC_ALPHA).

Detalhes de Propriedade

renderingMode

Ou "2d" ou "3d". Incumprimentos para "2d".

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

Valor de Propriedade

"2d" | "3d"

Detalhes de Método

onAdd(Map, WebGLRenderingContext)

Método opcional chamado quando a camada foi adicionada ao Mapa. Isto dá à camada a oportunidade de inicializar os recursos gl e registar os ouvintes do evento.

function onAdd(map: Map, gl: WebGLRenderingContext)

Parâmetros

map
Map

O Mapa desta camada WebGL acabou de ser adicionado.

gl

WebGLRenderingContext

O contexto gl para o mapa.

onRemove(Map, WebGLRenderingContext)

Método opcional chamado quando a camada foi removida do Mapa. Isto dá à camada a oportunidade de limpar os recursos gl e os ouvintes do evento.

function onRemove(map: Map, gl: WebGLRenderingContext)

Parâmetros

map
Map

O Mapa desta camada WebGL acabou de ser adicionado.

gl

WebGLRenderingContext

O contexto gl para o mapa.

prerender(WebGLRenderingContext, number[])

Método opcional chamado durante uma moldura de renderização para permitir que uma camada prepare recursos ou renderiza em uma textura. A camada não pode fazer suposições sobre o estado atual de GL e deve ligar um framebuffer antes de renderizar.

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

Parâmetros

gl

WebGLRenderingContext

O contexto gl do mapa.

matrix

number[]

A matriz da câmara do mapa. Projeta coordenadas de mercator esféricos para as coordenadas gl. A coordenada mercator [0, 0] representa o canto superior esquerdo do mundo mercator e [1, 1] representa o canto inferior direito. Quando a renderizaçãoMode é "3d", a coordenada z é conformal. Uma caixa com comprimentos idênticos de X, Y e Z em unidades de mercator seria renderizada como um cubo. MercatorCoordinate .fromLatLng pode ser usado para projetar um LngLat para uma coordenada de mercator.

render(WebGLRenderingContext, number[])

Chamada durante uma moldura de renderização permitindo que a camada se desenhe no contexto GL. A camada pode assumir que o estado de mistura e profundidade está definido para permitir que a camada se misture corretamente e corte outras camadas. A camada não pode fazer quaisquer outros pressupostos sobre o estado atual de GL.

Se a camada precisar de renderizar uma textura, deve implementar o método de pré-repreensão para o fazer e utilizar apenas o método de renderização para desenhar diretamente no framebuffer principal.

A função de mistura está definida para gl.blendFunc (gl. Um, gl. ONE_MINUS_SRC_ALPHA). Isto espera que as cores sejam fornecidas na forma alfa pré-multiplicada, onde os valores r, g e b já são multiplicados pelo valor. Se não for capaz de fornecer cores de forma pré-multiplicada, pode querer alterar a função de mistura 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âmara do mapa. Projeta coordenadas de mercator esféricos para as coordenadas gl. A coordenada mercator [0, 0] representa o canto superior esquerdo do mundo mercator e [1, 1] representa o canto inferior direito. Quando a renderizaçãoMode é "3d", a coordenada z é conformal. Uma caixa com comprimentos idênticos de X, Y e Z em unidades de mercator seria renderizada como um cubo. MercatorCoordinate .fromLatLng pode ser usado para projetar um LngLat para uma coordenada de mercator.