WebGLRenderer interface

Interfejs renderowania grafiki WebGL w elemecie WebGLLayer.

Właściwości

renderingMode

"2d" lub "3d". Wartość domyślna to "2d".

Metody

onAdd(Map, WebGLRenderingContext)

Opcjonalna metoda wywoływana po dodaniu warstwy do mapy. Dzięki temu warstwa może zainicjować zasoby gl i zarejestrować odbiorniki zdarzeń.

onRemove(Map, WebGLRenderingContext)

Opcjonalna metoda wywoływana po usunięciu warstwy z mapy. Dzięki temu warstwa może wyczyścić zasoby gl i odbiorniki zdarzeń.

prerender(WebGLRenderingContext, number[])

Opcjonalna metoda wywoływana podczas ramki renderowania, aby umożliwić warstwie przygotowanie zasobów lub renderowanie ich w teksturę. Warstwa nie może podjąć żadnych założeń dotyczących bieżącego stanu GL i musi powiązać framebuffer przed renderowaniem.

render(WebGLRenderingContext, number[])

Wywoływane podczas ramki renderowania umożliwiającej warstwie rysowanie do kontekstu GL. Warstwa może zakładać, że stan mieszania i głębokości jest ustawiony, aby umożliwić prawidłowe mieszanie warstw i przycinanie innych warstw. Warstwa nie może podjąć żadnych innych założeń dotyczących bieżącego stanu GL.

Jeśli warstwa musi być renderowana na teksturę, należy zaimplementować metodę prerender, aby to zrobić i użyć tylko metody renderowania do rysowania bezpośrednio do main framebuffer.

Funkcja blend jest ustawiona na gl.blendFunc(gl. ONE, gl. ONE_MINUS_SRC_ALPHA). Oczekuje się, że kolory będą udostępniane w postaci alfa z premultiplied, gdzie wartości r, g i b są już mnożone przez wartość. Jeśli nie możesz podać kolorów w postaci wstępnie pomnożonej, możesz zmienić funkcję blend na gl.blendFuncSeparate(gl. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. ONE, gl. ONE_MINUS_SRC_ALPHA).

Szczegóły właściwości

renderingMode

"2d" lub "3d". Wartość domyślna to "2d".

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

Wartość właściwości

"2d" | "3d"

Szczegóły metody

onAdd(Map, WebGLRenderingContext)

Opcjonalna metoda wywoływana po dodaniu warstwy do mapy. Dzięki temu warstwa może zainicjować zasoby gl i zarejestrować odbiorniki zdarzeń.

function onAdd(map: Map, gl: WebGLRenderingContext)

Parametry

map
Map

Mapa tej warstwy WebGL została właśnie dodana.

gl

WebGLRenderingContext

Kontekst gl dla mapy.

onRemove(Map, WebGLRenderingContext)

Opcjonalna metoda wywoływana po usunięciu warstwy z mapy. Dzięki temu warstwa może wyczyścić zasoby gl i odbiorniki zdarzeń.

function onRemove(map: Map, gl: WebGLRenderingContext)

Parametry

map
Map

Mapa tej warstwy WebGL została właśnie dodana.

gl

WebGLRenderingContext

Kontekst gl dla mapy.

prerender(WebGLRenderingContext, number[])

Opcjonalna metoda wywoływana podczas ramki renderowania, aby umożliwić warstwie przygotowanie zasobów lub renderowanie ich w teksturę. Warstwa nie może podjąć żadnych założeń dotyczących bieżącego stanu GL i musi powiązać framebuffer przed renderowaniem.

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

Parametry

gl

WebGLRenderingContext

Kontekst gl mapy.

matrix

number[]

Macierz aparatu mapy. Projektuje kuliste współrzędne mercatora do współrzędnych gl. Współrzędna mercatora [0, 0] reprezentuje lewy górny róg świata mercatora, a [1, 1] reprezentuje prawy dolny róg. Gdy tryb renderingMode ma wartość "3d", współrzędna z jest zgodna. Pudełko o identycznych długościach x, y i z w jednostkach mercatora będzie renderowane jako sześcian. MercatorCoordinate .fromLatLng może służyć do projekcji LngLat do współrzędnej mercatora.

render(WebGLRenderingContext, number[])

Wywoływane podczas ramki renderowania umożliwiającej warstwie rysowanie do kontekstu GL. Warstwa może zakładać, że stan mieszania i głębokości jest ustawiony, aby umożliwić prawidłowe mieszanie warstw i przycinanie innych warstw. Warstwa nie może podjąć żadnych innych założeń dotyczących bieżącego stanu GL.

Jeśli warstwa musi być renderowana na teksturę, należy zaimplementować metodę prerender, aby to zrobić i użyć tylko metody renderowania do rysowania bezpośrednio do main framebuffer.

Funkcja blend jest ustawiona na gl.blendFunc(gl. ONE, gl. ONE_MINUS_SRC_ALPHA). Oczekuje się, że kolory będą udostępniane w postaci alfa z premultiplied, gdzie wartości r, g i b są już mnożone przez wartość. Jeśli nie możesz podać kolorów w postaci wstępnie pomnożonej, możesz zmienić funkcję blend 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

Kontekst gl mapy.

matrix

number[]

Macierz aparatu mapy. Projektuje kuliste współrzędne mercatora do współrzędnych gl. Współrzędna mercatora [0, 0] reprezentuje lewy górny róg świata mercatora, a [1, 1] reprezentuje prawy dolny róg. Gdy tryb renderingMode ma wartość "3d", współrzędna z jest zgodna. Pudełko o identycznych długościach x, y i z w jednostkach mercatora będzie renderowane jako sześcian. MercatorCoordinate .fromLatLng może służyć do projekcji LngLat do współrzędnej mercatora.