WebGLRenderer interface
Interface pour le rendu des graphiques WebGL dans un WebGLLayer.
Propriétés
rendering |
« 2d » ou « 3d ». La valeur par défaut est « 2d ». |
Méthodes
on |
Méthode facultative appelée lorsque la couche a été ajoutée à la carte. Cela permet à la couche d’initialiser des ressources gl et d’inscrire des écouteurs d’événements. |
on |
Méthode facultative appelée lorsque la couche a été supprimée de la carte. Cela donne à la couche la possibilité de nettoyer les ressources gl et les écouteurs d’événements. |
prerender(Web |
Méthode facultative appelée lors d’un frame de rendu pour permettre à une couche de préparer des ressources ou d’effectuer un rendu dans une texture. La couche ne peut pas faire d’hypothèses sur l’état GL actuel et doit lier un framebuffer avant le rendu. |
render(Web |
Appelé pendant un frame de rendu permettant au calque de dessiner dans le contexte GL. La couche peut supposer que l’état de fusion et de profondeur est défini pour permettre à la couche de fusionner et de découper correctement d’autres couches. La couche ne peut pas effectuer d’autres hypothèses sur l’état GL actuel. Si la couche doit être restituée dans une texture, elle doit implémenter la méthode de prérender pour effectuer cette opération et utiliser uniquement la méthode de rendu pour dessiner directement dans le framebuffer principal. La fonction blend est définie sur gl.blendFunc(gl. UN, gl. ONE_MINUS_SRC_ALPHA). Cela s’attend à ce que les couleurs soient fournies sous forme alpha prémultipliée, où les valeurs r, g et b sont déjà multipliées par une valeur. Si vous ne parvenez pas à fournir des couleurs sous forme prémultipliée, vous pouvez modifier la fonction blend en gl.blendFuncSeparate(gl). SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. UN, gl. ONE_MINUS_SRC_ALPHA). |
Détails de la propriété
renderingMode
« 2d » ou « 3d ». La valeur par défaut est « 2d ».
renderingMode?: "2d" | "3d"
Valeur de propriété
"2d" | "3d"
Détails de la méthode
onAdd(Map, WebGLRenderingContext)
Méthode facultative appelée lorsque la couche a été ajoutée à la carte. Cela permet à la couche d’initialiser des ressources gl et d’inscrire des écouteurs d’événements.
function onAdd(map: Map, gl: WebGLRenderingContext)
Paramètres
- map
- Map
La carte à laquelle cette couche WebGL vient d’être ajoutée.
- gl
-
WebGLRenderingContext
Contexte gl de la carte.
onRemove(Map, WebGLRenderingContext)
Méthode facultative appelée lorsque la couche a été supprimée de la carte. Cela donne à la couche la possibilité de nettoyer les ressources gl et les écouteurs d’événements.
function onRemove(map: Map, gl: WebGLRenderingContext)
Paramètres
- map
- Map
La carte à laquelle cette couche WebGL vient d’être ajoutée.
- gl
-
WebGLRenderingContext
Contexte gl de la carte.
prerender(WebGLRenderingContext, number[])
Méthode facultative appelée lors d’un frame de rendu pour permettre à une couche de préparer des ressources ou d’effectuer un rendu dans une texture. La couche ne peut pas faire d’hypothèses sur l’état GL actuel et doit lier un framebuffer avant le rendu.
function prerender(gl: WebGLRenderingContext, matrix: number[])
Paramètres
- gl
-
WebGLRenderingContext
Contexte gl de la carte.
- matrix
-
number[]
Matrice de la caméra de la carte. Il projette des coordonnées mercator sphériques en coordonnées gl. La coordonnée mercator [0, 0] représente le coin supérieur gauche du monde mercator et [1, 1] représente le coin inférieur droit. Lorsque le renderingMode est « 3d », la coordonnée z est conforme. Une boîte avec des longueurs x, y et z identiques dans les unités mercator serait affichée sous la forme d’un cube. MercatorCoordinate .fromLatLng peut être utilisé pour projeter un LngLat sur une coordonnée mercator.
render(WebGLRenderingContext, number[])
Appelé pendant un frame de rendu permettant au calque de dessiner dans le contexte GL. La couche peut supposer que l’état de fusion et de profondeur est défini pour permettre à la couche de fusionner et de découper correctement d’autres couches. La couche ne peut pas effectuer d’autres hypothèses sur l’état GL actuel.
Si la couche doit être restituée dans une texture, elle doit implémenter la méthode de prérender pour effectuer cette opération et utiliser uniquement la méthode de rendu pour dessiner directement dans le framebuffer principal.
La fonction blend est définie sur gl.blendFunc(gl. UN, gl. ONE_MINUS_SRC_ALPHA). Cela s’attend à ce que les couleurs soient fournies sous forme alpha prémultipliée, où les valeurs r, g et b sont déjà multipliées par une valeur. Si vous ne parvenez pas à fournir des couleurs sous forme prémultipliée, vous pouvez modifier la fonction blend en gl.blendFuncSeparate(gl). SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. UN, gl. ONE_MINUS_SRC_ALPHA).
function render(gl: WebGLRenderingContext, matrix: number[])
Paramètres
- gl
-
WebGLRenderingContext
Contexte gl de la carte.
- matrix
-
number[]
Matrice de la caméra de la carte. Il projette des coordonnées mercator sphériques en coordonnées gl. La coordonnée mercator [0, 0] représente le coin supérieur gauche du monde mercator et [1, 1] représente le coin inférieur droit. Lorsque le renderingMode est « 3d », la coordonnée z est conforme. Une boîte avec des longueurs x, y et z identiques dans les unités mercator serait affichée sous la forme d’un cube. MercatorCoordinate .fromLatLng peut être utilisé pour projeter un LngLat sur une coordonnée mercator.