WebGLRenderer interface

Rozhraní pro vykreslování grafiky WebGL v nástroji WebGLLayer

Vlastnosti

renderingMode

Buď "2d" nebo "3d". Výchozí hodnota je 2d.

Metody

onAdd(Map, WebGLRenderingContext)

Volitelná metoda volána při přidání vrstvy do mapy. To dává vrstvě šanci inicializovat prostředky gl a zaregistrovat naslouchací procesy událostí.

onRemove(Map, WebGLRenderingContext)

Volitelná metoda volána, když byla vrstva odebrána z mapy. Díky tomu může vrstva vyčistit prostředky gl a naslouchací procesy událostí.

prerender(WebGLRenderingContext, number[])

Volitelná metoda volána během vykreslení rámce, která umožňuje vrstvě připravit prostředky nebo vykreslit do textury. Vrstva nemůže provést žádné předpoklady o aktuálním stavu GL a před vykreslením musí vytvořit vazbu rámce.

render(WebGLRenderingContext, number[])

Volá se při vykreslování rámečku, který vrstvu umožňuje kreslit do kontextu GL. Vrstva může předpokládat, že stav kombinování a hloubky je nastavený tak, aby vrstvu správně promíchá a vystřihl další vrstvy. Vrstva nemůže provést žádné další předpoklady o aktuálním stavu GL.

Pokud se vrstva potřebuje vykreslit na texturu, měla by implementovat předem připravenou metodu a použít pouze metodu vykreslování pro kreslení přímo do hlavního rámečku.

Funkce blendu je nastavená na gl.blendFunc(gl. ONE, gl. ONE_MINUS_SRC_ALPHA). Očekává se, že barvy budou poskytovány v premultied alfa formě, kde hodnoty r, g a b jsou již vynásobeny hodnotou. Pokud nemůžete zadat barvy v premultiplied formuláři, můžete změnit funkci blendu na gl.blendFuncSeparate(gl. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. ONE, gl. ONE_MINUS_SRC_ALPHA).

Podrobnosti vlastnosti

renderingMode

Buď "2d" nebo "3d". Výchozí hodnota je 2d.

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

Hodnota vlastnosti

"2d" | "3d"

Podrobnosti metody

onAdd(Map, WebGLRenderingContext)

Volitelná metoda volána při přidání vrstvy do mapy. To dává vrstvě šanci inicializovat prostředky gl a zaregistrovat naslouchací procesy událostí.

function onAdd(map: Map, gl: WebGLRenderingContext)

Parametry

map
Map

Mapa této vrstvy WebGL byla přidána právě do.

gl

WebGLRenderingContext

Kontext gl mapy.

onRemove(Map, WebGLRenderingContext)

Volitelná metoda volána, když byla vrstva odebrána z mapy. Díky tomu může vrstva vyčistit prostředky gl a naslouchací procesy událostí.

function onRemove(map: Map, gl: WebGLRenderingContext)

Parametry

map
Map

Mapa této vrstvy WebGL byla přidána právě do.

gl

WebGLRenderingContext

Kontext gl mapy.

prerender(WebGLRenderingContext, number[])

Volitelná metoda volána během vykreslení rámce, která umožňuje vrstvě připravit prostředky nebo vykreslit do textury. Vrstva nemůže provést žádné předpoklady o aktuálním stavu GL a před vykreslením musí vytvořit vazbu rámce.

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

Parametry

gl

WebGLRenderingContext

Kontext mapy gl.

matrix

number[]

Matice kamery mapy. Jedná se o kulové souřadnice mercatoru na souřadnice gl. Souřadnice mercatoru [0, 0] představuje levý horní roh mercatorového světa a [1, 1] představuje pravý dolní roh. Pokud je renderMode "3d", souřadnice z je v souladu. Pole s identickými x, y a z délkami v jednotkách mercatoru by se vykreslilo jako datová krychle. MercatorCoordinate .fromLatLng lze použít k projektu LngLat na souřadnici mercatoru.

render(WebGLRenderingContext, number[])

Volá se při vykreslování rámečku, který vrstvu umožňuje kreslit do kontextu GL. Vrstva může předpokládat, že stav kombinování a hloubky je nastavený tak, aby vrstvu správně promíchá a vystřihl další vrstvy. Vrstva nemůže provést žádné další předpoklady o aktuálním stavu GL.

Pokud se vrstva potřebuje vykreslit na texturu, měla by implementovat předem připravenou metodu a použít pouze metodu vykreslování pro kreslení přímo do hlavního rámečku.

Funkce blendu je nastavená na gl.blendFunc(gl. ONE, gl. ONE_MINUS_SRC_ALPHA). Očekává se, že barvy budou poskytovány v premultied alfa formě, kde hodnoty r, g a b jsou již vynásobeny hodnotou. Pokud nemůžete zadat barvy v premultiplied formuláři, můžete změnit funkci blendu na gl.blendFuncSeparate(gl. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. ONE, gl. ONE_MINUS_SRC_ALPHA).

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

Parametry

gl

WebGLRenderingContext

Kontext mapy gl.

matrix

number[]

Matice kamery mapy. Jedná se o kulové souřadnice mercatoru na souřadnice gl. Souřadnice mercatoru [0, 0] představuje levý horní roh mercatorového světa a [1, 1] představuje pravý dolní roh. Pokud je renderMode "3d", souřadnice z je v souladu. Pole s identickými x, y a z délkami v jednotkách mercatoru by se vykreslilo jako datová krychle. MercatorCoordinate .fromLatLng lze použít k projektu LngLat na souřadnici mercatoru.