WebGLRenderer interface
Schnittstelle zum Rendern von WebGL-Grafiken in einem WebGLLayer.
Eigenschaften
rendering |
Entweder "2d" oder "3d". Standardwerte sind "2d". |
Methoden
on |
Optionale Methode, die aufgerufen wird, wenn der Layer der Karte hinzugefügt wurde. Dadurch erhalten Sie die Möglichkeit, gl-Ressourcen zu initialisieren und Ereignislistener zu registrieren. |
on |
Optionale Methode, die aufgerufen wird, wenn die Ebene aus der Karte entfernt wurde. Dadurch erhalten Sie die Möglichkeit, gl-Ressourcen und Ereignislistener zu bereinigen. |
prerender(Web |
Optionale Methode, die während eines Renderframes aufgerufen wird, damit eine Ebene Ressourcen vorbereiten oder in eine Textur rendern kann. Die Ebene kann keine Annahmen über den aktuellen GL-Zustand vornehmen und muss vor dem Rendern einen Framebuffer binden. |
render(Web |
Wird während eines Renderframes aufgerufen, sodass die Ebene in den GL-Kontext zeichnen kann. Die Ebene kann davon ausgehen, dass der Vermischungs- und Tiefenzustand festgelegt ist, damit die Ebene andere Ebenen ordnungsgemäß mischen und abschneiden kann. Die Ebene kann keine anderen Annahmen über den aktuellen GL-Zustand vornehmen. Wenn die Ebene in einer Textur gerendert werden muss, sollte die Prerender-Methode dazu implementiert werden und nur die Rendermethode zum Zeichnen direkt in den Hauptframebuffer verwenden. Die Blendfunktion ist auf gl.blendFunc(gl) festgelegt. ONE, gl. ONE_MINUS_SRC_ALPHA). Dies erwartet, dass Farben in vormultiplizierter Alphaform bereitgestellt werden, wobei die Werte r, g und b bereits durch den Wert multipliziert werden. Wenn Sie keine Farben in vordefinierter Form bereitstellen können, möchten Sie die Blendfunktion möglicherweise in gl.blendFuncSeparate(gl) ändern. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. ONE, gl. ONE_MINUS_SRC_ALPHA). |
Details zur Eigenschaft
renderingMode
Entweder "2d" oder "3d". Standardwerte sind "2d".
renderingMode?: "2d" | "3d"
Eigenschaftswert
"2d" | "3d"
Details zur Methode
onAdd(Map, WebGLRenderingContext)
Optionale Methode, die aufgerufen wird, wenn der Layer der Karte hinzugefügt wurde. Dadurch erhalten Sie die Möglichkeit, gl-Ressourcen zu initialisieren und Ereignislistener zu registrieren.
function onAdd(map: Map, gl: WebGLRenderingContext)
Parameter
- map
- Map
Die Karte dieser WebGL-Ebene wurde gerade hinzugefügt.
- gl
-
WebGLRenderingContext
Der gl-Kontext für die Karte.
onRemove(Map, WebGLRenderingContext)
Optionale Methode, die aufgerufen wird, wenn die Ebene aus der Karte entfernt wurde. Dadurch erhalten Sie die Möglichkeit, gl-Ressourcen und Ereignislistener zu bereinigen.
function onRemove(map: Map, gl: WebGLRenderingContext)
Parameter
- map
- Map
Die Karte dieser WebGL-Ebene wurde gerade hinzugefügt.
- gl
-
WebGLRenderingContext
Der gl-Kontext für die Karte.
prerender(WebGLRenderingContext, number[])
Optionale Methode, die während eines Renderframes aufgerufen wird, damit eine Ebene Ressourcen vorbereiten oder in eine Textur rendern kann. Die Ebene kann keine Annahmen über den aktuellen GL-Zustand vornehmen und muss vor dem Rendern einen Framebuffer binden.
function prerender(gl: WebGLRenderingContext, matrix: number[])
Parameter
- gl
-
WebGLRenderingContext
Der Gl-Kontext der Karte.
- matrix
-
number[]
Kameramatrix der Karte. Es wird sphärische Mercatorkoordinaten an gl-Koordinaten gejiziert. Die Mercatorkoordinate [0, 0] stellt die obere linke Ecke der Mercatorwelt dar und [1, 1] stellt die untere rechte Ecke dar. Wenn der RenderingMode "3d" ist, ist die Z-Koordinate konform. Ein Feld mit identischen X-, Y- und Z-Längen in Mercatoreinheiten würde als Würfel gerendert. MercatorCoordinate .fromLatLng kann verwendet werden, um ein LngLat auf eine Mercator-Koordinate zu projizieren.
render(WebGLRenderingContext, number[])
Wird während eines Renderframes aufgerufen, sodass die Ebene in den GL-Kontext zeichnen kann. Die Ebene kann davon ausgehen, dass der Vermischungs- und Tiefenzustand festgelegt ist, damit die Ebene andere Ebenen ordnungsgemäß mischen und abschneiden kann. Die Ebene kann keine anderen Annahmen über den aktuellen GL-Zustand vornehmen.
Wenn die Ebene in einer Textur gerendert werden muss, sollte die Prerender-Methode dazu implementiert werden und nur die Rendermethode zum Zeichnen direkt in den Hauptframebuffer verwenden.
Die Blendfunktion ist auf gl.blendFunc(gl) festgelegt. ONE, gl. ONE_MINUS_SRC_ALPHA). Dies erwartet, dass Farben in vormultiplizierter Alphaform bereitgestellt werden, wobei die Werte r, g und b bereits durch den Wert multipliziert werden. Wenn Sie keine Farben in vordefinierter Form bereitstellen können, möchten Sie die Blendfunktion möglicherweise in gl.blendFuncSeparate(gl) ändern. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. ONE, gl. ONE_MINUS_SRC_ALPHA).
function render(gl: WebGLRenderingContext, matrix: number[])
Parameter
- gl
-
WebGLRenderingContext
Der Gl-Kontext der Karte.
- matrix
-
number[]
Kameramatrix der Karte. Es wird sphärische Mercatorkoordinaten an gl-Koordinaten gejiziert. Die Mercatorkoordinate [0, 0] stellt die obere linke Ecke der Mercatorwelt dar und [1, 1] stellt die untere rechte Ecke dar. Wenn der RenderingMode "3d" ist, ist die Z-Koordinate konform. Ein Feld mit identischen X-, Y- und Z-Längen in Mercatoreinheiten würde als Würfel gerendert. MercatorCoordinate .fromLatLng kann verwendet werden, um ein LngLat auf eine Mercator-Koordinate zu projizieren.