Share via


WebGLRenderer interface

WebGLLayer'da WebGL grafiklerini işleme arabirimi.

Özellikler

renderingMode

"2d" veya "3d". Varsayılan olarak "2d" kullanılır.

Yöntemler

onAdd(Map, WebGLRenderingContext)

Katman Eşlem'e eklendiğinde isteğe bağlı yöntem çağrılır. Bu, katmana gl kaynaklarını başlatma ve olay dinleyicilerini kaydetme fırsatı verir.

onRemove(Map, WebGLRenderingContext)

Katman Eşlemeden kaldırıldığında isteğe bağlı yöntem çağrılır. Bu, katmana gl kaynaklarını ve olay dinleyicilerini temizleme fırsatı verir.

prerender(WebGLRenderingContext, number[])

Bir katmanın kaynakları hazırlamasına veya dokuda işlemesine izin vermek için işleme çerçevesi sırasında çağrılan isteğe bağlı yöntem. Katman geçerli GL durumu hakkında herhangi bir varsayımda bulunamaz ve işlemeden önce bir framebuffer bağlaması gerekir.

render(WebGLRenderingContext, number[])

Katmanın GL bağlamını çizmesini sağlayan işleme çerçevesi sırasında çağrılır. Katman, harmanlama ve derinlik durumunun, katmanın diğer katmanları düzgün bir şekilde harmanlayıp kırpmasına izin verecek şekilde ayarlandığını varsayabilir. Katman, geçerli GL durumu hakkında başka varsayımlarda bulunamaz.

Katmanın bir dokuya işlenmesi gerekiyorsa, bunu yapmak için prerender yöntemini uygulamalı ve yalnızca doğrudan ana çerçeve kasasına çizim yapmak için işleme yöntemini kullanmalıdır.

Blend işlevi gl.blendFunc(gl) olarak ayarlanır. BIR, gl. ONE_MINUS_SRC_ALPHA). Bu, r, g ve b değerlerinin zaten bir değerle çarpıldığı önceden çoğaltılmış alfa biçiminde renklerin sağlanmasını bekler. Önceden yüklenmiş biçimde renkler sağlayamıyorsanız blend işlevini gl.blendFuncSeparate(gl) olarak değiştirmek isteyebilirsiniz. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. BIR, gl. ONE_MINUS_SRC_ALPHA).

Özellik Ayrıntıları

renderingMode

"2d" veya "3d". Varsayılan olarak "2d" kullanılır.

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

Özellik Değeri

"2d" | "3d"

Yöntem Ayrıntıları

onAdd(Map, WebGLRenderingContext)

Katman Eşlem'e eklendiğinde isteğe bağlı yöntem çağrılır. Bu, katmana gl kaynaklarını başlatma ve olay dinleyicilerini kaydetme fırsatı verir.

function onAdd(map: Map, gl: WebGLRenderingContext)

Parametreler

map
Map

Bu WebGL katmanının yeni eklendiği Harita.

gl

WebGLRenderingContext

Haritanın gl bağlamı.

onRemove(Map, WebGLRenderingContext)

Katman Eşlemeden kaldırıldığında isteğe bağlı yöntem çağrılır. Bu, katmana gl kaynaklarını ve olay dinleyicilerini temizleme fırsatı verir.

function onRemove(map: Map, gl: WebGLRenderingContext)

Parametreler

map
Map

Bu WebGL katmanının yeni eklendiği Harita.

gl

WebGLRenderingContext

Haritanın gl bağlamı.

prerender(WebGLRenderingContext, number[])

Bir katmanın kaynakları hazırlamasına veya dokuda işlemesine izin vermek için işleme çerçevesi sırasında çağrılan isteğe bağlı yöntem. Katman geçerli GL durumu hakkında herhangi bir varsayımda bulunamaz ve işlemeden önce bir framebuffer bağlaması gerekir.

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

Parametreler

gl

WebGLRenderingContext

Haritanın gl bağlamı.

matrix

number[]

Haritanın kamera matrisi. Küresel mercator koordinatlarını gl koordinatlarına göre oluşturur. Mercator koordinatı [0, 0] mercator dünyasının sol üst köşesini ve [1, 1] sağ alt köşeyi temsil eder. renderingMode "3d" olduğunda, z koordinatı uyumlu olur. Mercator birimlerinde özdeş x, y ve z uzunluklarına sahip bir kutu küp olarak işlenir. MercatorCoordinate .fromLatLng, LngLat'ı mercator koordinatlarına yansıtmak için kullanılabilir.

render(WebGLRenderingContext, number[])

Katmanın GL bağlamını çizmesini sağlayan işleme çerçevesi sırasında çağrılır. Katman, harmanlama ve derinlik durumunun, katmanın diğer katmanları düzgün bir şekilde harmanlayıp kırpmasına izin verecek şekilde ayarlandığını varsayabilir. Katman, geçerli GL durumu hakkında başka varsayımlarda bulunamaz.

Katmanın bir dokuya işlenmesi gerekiyorsa, bunu yapmak için prerender yöntemini uygulamalı ve yalnızca doğrudan ana çerçeve kasasına çizim yapmak için işleme yöntemini kullanmalıdır.

Blend işlevi gl.blendFunc(gl) olarak ayarlanır. BIR, gl. ONE_MINUS_SRC_ALPHA). Bu, r, g ve b değerlerinin zaten bir değerle çarpıldığı önceden çoğaltılmış alfa biçiminde renklerin sağlanmasını bekler. Önceden yüklenmiş biçimde renkler sağlayamıyorsanız blend işlevini gl.blendFuncSeparate(gl) olarak değiştirmek isteyebilirsiniz. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. BIR, gl. ONE_MINUS_SRC_ALPHA).

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

Parametreler

gl

WebGLRenderingContext

Haritanın gl bağlamı.

matrix

number[]

Haritanın kamera matrisi. Küresel mercator koordinatlarını gl koordinatlarına göre oluşturur. Mercator koordinatı [0, 0] mercator dünyasının sol üst köşesini ve [1, 1] sağ alt köşeyi temsil eder. renderingMode "3d" olduğunda, z koordinatı uyumlu olur. Mercator birimlerinde özdeş x, y ve z uzunluklarına sahip bir kutu küp olarak işlenir. MercatorCoordinate .fromLatLng, LngLat'ı mercator koordinatlarına yansıtmak için kullanılabilir.