WebGLRenderer interface
Rozhraní pro vykreslování grafiky WebGL v nástroji WebGLLayer
Vlastnosti
rendering |
Buď "2d" nebo "3d". Výchozí hodnota je 2d. |
Metody
on |
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í. |
on |
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(Web |
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(Web |
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.