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

