@amazon-devices/expo-glはGLViewを提供します。これはOpenGL ESのレンダリングターゲットとして動作し、GLContextを提供します。
GLViewをマウントすると、OpenGL ESコンテキストが作成されます。GLViewには、glオブジェクトを受け取るonContextCreate関数を指定する必要があります。このglオブジェクトが、OpenGLとやり取りする中核的な手段となります。expo-glは、JSIを使用して、webgl APIのメソッドに対応するメソッドをglオブジェクト上に作成します。たとえば、gl.clearColorのようなメソッドが作成されます。フレームごとに画像をレンダリングする方法はネイティブには提供されないため、そのような動作にはほかのJS関数(setIntervalなど)を使用する必要があります。GLViewの描画バッファーは、endFrameEXPメソッドが呼び出された各フレームでビューのコンテンツとして表示されます。EXPというサフィックスを持つメソッドはexpo-glの拡張機能です。
ExpoGLには、ヘッドレスレンダリング用に静的メソッド(GLViewなしで使用可能)も用意されています。createContextAsyncとtakeSnapshotAsyncのドキュメントを参照してください。
このライブラリはシステムにデプロイされるため、別途インストールプロセスを必要とすることなくVega向けReact Nativeアプリで利用できます。これは、アプリが実行時にリンクする自動リンクライブラリとしてデプロイされます。ライブラリとVega向けReact Nativeとの互換性は、ライブラリがターゲットとしているVega向けReact Nativeバージョンとの間でのみ保証されます。
インストール
-
package.jsonファイルにJavaScriptライブラリの依存関係を追加します。 -
npm installコマンドを使用して、依存関係を再インストールします。
例
APIリファレンス
このライブラリの情報、APIリファレンス、その他の詳細については、Expo公式ドキュメントのexpo-glのページ(英語のみ)を参照してください。コンポーネント
GLViewのプロパティ
メソッド
実装の詳細
Vegaの@amazon-devices/expo-glライブラリでは、createCameraTextureAsyncメソッドとstartARSessionAsyncメソッドはサポートされません。

