WebGLRenderer interface

WebGLLayer で WebGL グラフィックスをレンダリングするためのインターフェイス。

プロパティ

renderingMode

"2d" または "3d" のいずれか。 既定値は "2d" です。

メソッド

onAdd(Map, WebGLRenderingContext)

レイヤーがマップに追加されたときに呼び出される省略可能なメソッド。 これにより、レイヤーは gl リソースを初期化し、イベント リスナーを登録できるようになります。

onRemove(Map, WebGLRenderingContext)

マップからレイヤーが削除されたときに呼び出される省略可能なメソッド。 これにより、レイヤーは gl リソースとイベント リスナーをクリーンアップできます。

prerender(WebGLRenderingContext, number[])

レイヤーがリソースを準備したりテクスチャにレンダリングしたりできるように、レンダリング フレーム中に呼び出される省略可能なメソッド。 レイヤーは現在の GL 状態に関する仮定を行うことができず、レンダリングの前にフレームバッファーをバインドする必要があります。

render(WebGLRenderingContext, number[])

レンダリング フレーム中に呼び出され、レイヤーが GL コンテキストに描画されます。 レイヤーは、他のレイヤーを適切にブレンドしてクリップできるように、ブレンドと深度の状態が設定されていると想定できます。 レイヤーは、現在の GL 状態に関する他の想定を行うことはできません。

レイヤーをテクスチャにレンダリングする必要がある場合は、プリレンダリング メソッドを実装してこれを行い、メイン フレームバッファーに直接描画するためにのみレンダー メソッドを使用する必要があります。

blend 関数は gl.blendFunc(gl.ONE、gl。ONE_MINUS_SRC_ALPHA)。 これは、r、g、b の値に既に値が乗算されている、事前乗算されたアルファ形式で色が提供されることを想定しています。 事前乗算形式で色を指定できない場合は、blend 関数を gl.blendFuncSeparate(gl.SRC_ALPHA,gl.ONE_MINUS_SRC_ALPHA,gl.ONE、gl。ONE_MINUS_SRC_ALPHA)。

プロパティの詳細

renderingMode

"2d" または "3d" のいずれか。 既定値は "2d" です。

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

プロパティ値

"2d" | "3d"

メソッドの詳細

onAdd(Map, WebGLRenderingContext)

レイヤーがマップに追加されたときに呼び出される省略可能なメソッド。 これにより、レイヤーは gl リソースを初期化し、イベント リスナーを登録できるようになります。

function onAdd(map: Map, gl: WebGLRenderingContext)

パラメーター

map
Map

この WebGL レイヤーが追加されたマップ。

gl

WebGLRenderingContext

マップの gl コンテキスト。

onRemove(Map, WebGLRenderingContext)

マップからレイヤーが削除されたときに呼び出される省略可能なメソッド。 これにより、レイヤーは gl リソースとイベント リスナーをクリーンアップできます。

function onRemove(map: Map, gl: WebGLRenderingContext)

パラメーター

map
Map

この WebGL レイヤーが追加されたマップ。

gl

WebGLRenderingContext

マップの gl コンテキスト。

prerender(WebGLRenderingContext, number[])

レイヤーがリソースを準備したりテクスチャにレンダリングしたりできるように、レンダリング フレーム中に呼び出される省略可能なメソッド。 レイヤーは現在の GL 状態に関する仮定を行うことができず、レンダリングの前にフレームバッファーをバインドする必要があります。

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

パラメーター

gl

WebGLRenderingContext

マップの gl コンテキスト。

matrix

number[]

マップのカメラ マトリックス。 球面メルカトル座標を gl 座標に投影します。 メルカトル座標 [0, 0] はメルカトルワールドの左上隅を表し、[1, 1] は右下隅を表します。 renderingMode が "3d" の場合、z 座標はコンフォーマルです。 メルカトル単位の x、y、z の長さが同じボックスは、キューブとしてレンダリングされます。 MercatorCoordinate .fromLatLng を使用して、LngLat をメルカトル座標に投影できます。

render(WebGLRenderingContext, number[])

レンダリング フレーム中に呼び出され、レイヤーが GL コンテキストに描画されます。 レイヤーは、他のレイヤーを適切にブレンドしてクリップできるように、ブレンドと深度の状態が設定されていると想定できます。 レイヤーは、現在の GL 状態に関する他の想定を行うことはできません。

レイヤーをテクスチャにレンダリングする必要がある場合は、プリレンダリング メソッドを実装してこれを行い、メイン フレームバッファーに直接描画するためにのみレンダー メソッドを使用する必要があります。

blend 関数は gl.blendFunc(gl.ONE、gl。ONE_MINUS_SRC_ALPHA)。 これは、r、g、b の値に既に値が乗算されている、事前乗算されたアルファ形式で色が提供されることを想定しています。 事前乗算形式で色を指定できない場合は、blend 関数を gl.blendFuncSeparate(gl.SRC_ALPHA,gl.ONE_MINUS_SRC_ALPHA,gl.ONE、gl。ONE_MINUS_SRC_ALPHA)。

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

パラメーター

gl

WebGLRenderingContext

マップの gl コンテキスト。

matrix

number[]

マップのカメラ マトリックス。 球面メルカトル座標を gl 座標に投影します。 メルカトル座標 [0, 0] はメルカトルワールドの左上隅を表し、[1, 1] は右下隅を表します。 renderingMode が "3d" の場合、z 座標はコンフォーマルです。 メルカトル単位の x、y、z の長さが同じボックスは、キューブとしてレンダリングされます。 MercatorCoordinate .fromLatLng を使用して、LngLat をメルカトル座標に投影できます。