WebGLRenderer interface

Antarmuka untuk merender grafik WebGL di WebGLLayer.

Properti

renderingMode

Baik "2d" atau "3d". Default ke "2d".

Metode

onAdd(Map, WebGLRenderingContext)

Metode opsional yang dipanggil ketika lapisan telah ditambahkan ke Peta. Ini memberi lapisan kesempatan untuk menginisialisasi sumber daya gl dan mendaftarkan pendengar peristiwa.

onRemove(Map, WebGLRenderingContext)

Metode opsional yang dipanggil ketika lapisan telah dihapus dari Peta. Ini memberi lapisan kesempatan untuk membersihkan sumber daya gl dan pendengar peristiwa.

prerender(WebGLRenderingContext, number[])

Metode opsional yang dipanggil selama bingkai render untuk memungkinkan lapisan menyiapkan sumber daya atau merender ke dalam tekstur. Lapisan tidak dapat membuat asumsi tentang status GL saat ini dan harus mengikat framebuffer sebelum penyajian.

render(WebGLRenderingContext, number[])

Dipanggil selama bingkai render yang memungkinkan lapisan untuk menggambar ke dalam konteks GL. Lapisan dapat mengasumsikan status perpaduan dan kedalaman diatur untuk memungkinkan lapisan memadukan dan mengklip lapisan lain dengan benar. Lapisan tidak dapat membuat asumsi lain tentang status GL saat ini.

Jika lapisan perlu dirender ke tekstur, lapisan harus mengimplementasikan metode prarender untuk melakukan ini dan hanya menggunakan metode render untuk menggambar langsung ke framebuffer utama.

Fungsi campuran diatur ke gl.blendFunc(gl. SATU, gl. ONE_MINUS_SRC_ALPHA). Ini mengharapkan warna disediakan dalam bentuk alfa yang telah ditentukan sebelumnya di mana nilai r, g, dan b sudah dikalikan dengan nilai . Jika Anda tidak dapat memberikan warna dalam bentuk yang telah diisi sebelumnya, Anda mungkin ingin mengubah fungsi campuran menjadi gl.blendFuncSeparate(gl. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. SATU, gl. ONE_MINUS_SRC_ALPHA).

Detail Properti

renderingMode

Baik "2d" atau "3d". Default ke "2d".

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

Nilai Properti

"2d" | "3d"

Detail Metode

onAdd(Map, WebGLRenderingContext)

Metode opsional yang dipanggil ketika lapisan telah ditambahkan ke Peta. Ini memberi lapisan kesempatan untuk menginisialisasi sumber daya gl dan mendaftarkan pendengar peristiwa.

function onAdd(map: Map, gl: WebGLRenderingContext)

Parameter

map
Map

Lapisan Peta WebGL ini baru saja ditambahkan.

gl

WebGLRenderingContext

Konteks gl untuk peta.

onRemove(Map, WebGLRenderingContext)

Metode opsional yang dipanggil ketika lapisan telah dihapus dari Peta. Ini memberi lapisan kesempatan untuk membersihkan sumber daya gl dan pendengar peristiwa.

function onRemove(map: Map, gl: WebGLRenderingContext)

Parameter

map
Map

Lapisan Peta WebGL ini baru saja ditambahkan.

gl

WebGLRenderingContext

Konteks gl untuk peta.

prerender(WebGLRenderingContext, number[])

Metode opsional yang dipanggil selama bingkai render untuk memungkinkan lapisan menyiapkan sumber daya atau merender ke dalam tekstur. Lapisan tidak dapat membuat asumsi tentang status GL saat ini dan harus mengikat framebuffer sebelum penyajian.

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

Parameter

gl

WebGLRenderingContext

Konteks gl peta.

matrix

number[]

Matriks kamera peta. Ini memproyeksikan koordinat spherical mercator untuk koordinat gl. Koordinat mercator [0, 0] mewakili sudut kiri atas dunia mercator dan [1, 1] mewakili sudut kanan bawah. Ketika renderingMode adalah "3d" , koordinat z sesuai. Kotak dengan panjang x, y, dan z yang identik dalam unit merkator akan dirender sebagai kubus. MercatorCoordinate .fromLatLng dapat digunakan untuk memproyEkusikan LngLat ke koordinat mercator.

render(WebGLRenderingContext, number[])

Dipanggil selama bingkai render yang memungkinkan lapisan untuk menggambar ke dalam konteks GL. Lapisan dapat mengasumsikan status perpaduan dan kedalaman diatur untuk memungkinkan lapisan memadukan dan mengklip lapisan lain dengan benar. Lapisan tidak dapat membuat asumsi lain tentang status GL saat ini.

Jika lapisan perlu dirender ke tekstur, lapisan harus mengimplementasikan metode prarender untuk melakukan ini dan hanya menggunakan metode render untuk menggambar langsung ke framebuffer utama.

Fungsi campuran diatur ke gl.blendFunc(gl. SATU, gl. ONE_MINUS_SRC_ALPHA). Ini mengharapkan warna disediakan dalam bentuk alfa yang telah ditentukan sebelumnya di mana nilai r, g, dan b sudah dikalikan dengan nilai . Jika Anda tidak dapat memberikan warna dalam bentuk yang telah diisi sebelumnya, Anda mungkin ingin mengubah fungsi campuran menjadi gl.blendFuncSeparate(gl. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA, gl. SATU, gl. ONE_MINUS_SRC_ALPHA).

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

Parameter

gl

WebGLRenderingContext

Konteks gl peta.

matrix

number[]

Matriks kamera peta. Ini memproyeksikan koordinat spherical mercator untuk koordinat gl. Koordinat mercator [0, 0] mewakili sudut kiri atas dunia mercator dan [1, 1] mewakili sudut kanan bawah. Ketika renderingMode adalah "3d" , koordinat z sesuai. Kotak dengan panjang x, y, dan z yang identik dalam unit merkator akan dirender sebagai kubus. MercatorCoordinate .fromLatLng dapat digunakan untuk memproyEkusikan LngLat ke koordinat mercator.