WebGLRenderer interface

Interface voor het weergeven van WebGL-afbeeldingen in een WebGLLayer.

Eigenschappen

renderingMode

Ofwel '2d' of '3d'. De standaardwaarde is '2d'.

Methoden

onAdd(Map, WebGLRenderingContext)

Optionele methode die wordt aangeroepen wanneer de laag is toegevoegd aan de kaart. Hierdoor kan de laag gl-resources initialiseren en gebeurtenislisteners registreren.

onRemove(Map, WebGLRenderingContext)

Optionele methode die wordt aangeroepen wanneer de laag is verwijderd uit de kaart. Dit geeft de laag de kans om gl resources en gebeurtenislisteners op te schonen.

prerender(WebGLRenderingContext, number[])

Optionele methode die wordt aangeroepen tijdens een renderframe, zodat een laag resources kan voorbereiden of in een patroon kan worden weergegeven. De laag kan geen veronderstellingen maken over de huidige GL-status en moet een framebuffer binden voordat deze wordt weergegeven.

render(WebGLRenderingContext, number[])

Aangeroepen tijdens een renderframe, waardoor de laag in de GL-context kan worden getekend. De laag kan ervan uitgaan dat het mengen en de dieptestatus is ingesteld om de laag toe te staan andere lagen op de juiste manier te mengen en te knippen. De laag kan geen andere veronderstellingen maken over de huidige GL-status.

Als de laag moet worden weergegeven in een textuur, moet deze de prerender-methode implementeren om dit te doen en alleen de rendermethode te gebruiken om rechtstreeks in de hoofdframebuffer te tekenen.

De blend-functie is ingesteld op gl.blendFunc(gl. EÉN, gl. ONE_MINUS_SRC_ALPHA). Dit verwacht dat kleuren worden opgegeven in vooraf vermenigvuldigde alfavorm waarbij de waarden r, g en b al worden vermenigvuldigd met de waarde. Als u geen kleuren in vooraf samengestelde vorm kunt opgeven, kunt u de blendfunctie wijzigen in gl.blendFuncSeparate(gl. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. EÉN, gl. ONE_MINUS_SRC_ALPHA).

Eigenschapdetails

renderingMode

Ofwel '2d' of '3d'. De standaardwaarde is '2d'.

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

Waarde van eigenschap

"2d" | "3d"

Methodedetails

onAdd(Map, WebGLRenderingContext)

Optionele methode die wordt aangeroepen wanneer de laag is toegevoegd aan de kaart. Hierdoor kan de laag gl-resources initialiseren en gebeurtenislisteners registreren.

function onAdd(map: Map, gl: WebGLRenderingContext)

Parameters

map
Map

De WebGL-laag toewijzen is zojuist toegevoegd.

gl

WebGLRenderingContext

De gl-context voor de kaart.

onRemove(Map, WebGLRenderingContext)

Optionele methode die wordt aangeroepen wanneer de laag is verwijderd uit de kaart. Dit geeft de laag de kans om gl resources en gebeurtenislisteners op te schonen.

function onRemove(map: Map, gl: WebGLRenderingContext)

Parameters

map
Map

De WebGL-laag toewijzen is zojuist toegevoegd.

gl

WebGLRenderingContext

De gl-context voor de kaart.

prerender(WebGLRenderingContext, number[])

Optionele methode die wordt aangeroepen tijdens een renderframe, zodat een laag resources kan voorbereiden of in een patroon kan worden weergegeven. De laag kan geen veronderstellingen maken over de huidige GL-status en moet een framebuffer binden voordat deze wordt weergegeven.

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

Parameters

gl

WebGLRenderingContext

De context van de kaart is gl.

matrix

number[]

De cameramatrix van de kaart. Het projecteert sferische mercatorcoördinaten om coördinaten te glen. De mercatorcoördinaat [0, 0] vertegenwoordigt de linkerbovenhoek van de mercatorwereld en [1, 1] vertegenwoordigt de rechterbenedenhoek. Wanneer de renderingMode '3d' is, is de z-coördinaat conform. Een vak met identieke x-, y- en z-lengten in mercator-eenheden wordt weergegeven als een kubus. MercatorCoördinaat .fromLatLng kan worden gebruikt om een LngLat te projecteren op een mercatorcoördinaat.

render(WebGLRenderingContext, number[])

Aangeroepen tijdens een renderframe, waardoor de laag in de GL-context kan worden getekend. De laag kan ervan uitgaan dat het mengen en de dieptestatus is ingesteld om de laag toe te staan andere lagen op de juiste manier te mengen en te knippen. De laag kan geen andere veronderstellingen maken over de huidige GL-status.

Als de laag moet worden weergegeven in een textuur, moet deze de prerender-methode implementeren om dit te doen en alleen de rendermethode te gebruiken om rechtstreeks in de hoofdframebuffer te tekenen.

De blend-functie is ingesteld op gl.blendFunc(gl. EÉN, gl. ONE_MINUS_SRC_ALPHA). Dit verwacht dat kleuren worden opgegeven in vooraf vermenigvuldigde alfavorm waarbij de waarden r, g en b al worden vermenigvuldigd met de waarde. Als u geen kleuren in vooraf samengestelde vorm kunt opgeven, kunt u de blendfunctie wijzigen in gl.blendFuncSeparate(gl. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. EÉN, gl. ONE_MINUS_SRC_ALPHA).

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

Parameters

gl

WebGLRenderingContext

De context van de kaart is gl.

matrix

number[]

De cameramatrix van de kaart. Het projecteert sferische mercatorcoördinaten om coördinaten te glen. De mercatorcoördinaat [0, 0] vertegenwoordigt de linkerbovenhoek van de mercatorwereld en [1, 1] vertegenwoordigt de rechterbenedenhoek. Wanneer de renderingMode '3d' is, is de z-coördinaat conform. Een vak met identieke x-, y- en z-lengten in mercator-eenheden wordt weergegeven als een kubus. MercatorCoördinaat .fromLatLng kan worden gebruikt om een LngLat te projecteren op een mercatorcoördinaat.