WebGLRenderer interface
Interfejs renderowania grafiki WebGL w elemecie WebGLLayer.
Właściwości
rendering |
"2d" lub "3d". Wartość domyślna to "2d". |
Metody
on |
Opcjonalna metoda wywoływana po dodaniu warstwy do mapy. Dzięki temu warstwa może zainicjować zasoby gl i zarejestrować odbiorniki zdarzeń. |
on |
Opcjonalna metoda wywoływana po usunięciu warstwy z mapy. Dzięki temu warstwa może wyczyścić zasoby gl i odbiorniki zdarzeń. |
prerender(Web |
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(Web |
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.