コンテンツにスキップ

OGLDrawDevice

OGLDrawDevice クラスは、このインスタンスを Window.drawDevice に登録して使用するための DrawDevice で、OpenGL ES (glad / ANGLE / EGL) を用いた描画機能を提供します。

起動時の既定 DrawDevice ではなく、TJS スクリプトで明示的に Window.drawDevice にセットしたタイミングで内部の OpenGL コンテキストが生成され、以降のすべての描画が GL パスを通るようになります。起動オプション -drawdevice=ogl で起動時からこのデバイスを選ぶこともできます ( コマンドラインオプション )。

利用には OpenGL ES が使える環境が必要です。WINVER ビルドは常に EGL ( ANGLE の libEGL.dll / libGLESv2.dll ) 経由なので DLL の同梱が必須です。SDL3 ビルドでは OS の OpenGL ドライバの ES プロファイルが優先され、使えない場合に同じ ANGLE DLL へフォールバックします ( -forceegl で EGL 強制も可能 )。また SDL3 ビルドを -drawdevice=sdl で起動した場合は、実行中にこのデバイスへ切り替えることはできません。

このデバイスがアクティブな間のみ、TJS 公開クラス Canvas / Texture / ShaderProgram / Offscreen / Matrix32 / VertexBuffer / VertexBinder が機能します。

メンバー一覧

コンストラクタ

プロパティ

メソッド

イベント


OGLDrawDevice

コンストラクタ

解説

OGLDrawDevice オブジェクトの構築

OGLDrawDevice クラスのオブジェクトを構築します。

構築直後はまだ OpenGL コンテキストは生成されません。Window.drawDevice にセットしたときに初期化されます。


interface

プロパティ \ アクセス: r

解説

インターフェースオブジェクトを取得

プラグインなどで DrawDevice オブジェクトを利用するためにあります。


window

プロパティ \ アクセス: r

解説

関連付けられた Window オブジェクトを取得

この DrawDevice をセットしている Window オブジェクトを返します。


canvas

プロパティ \ アクセス: r

解説

描画用 Canvas オブジェクトを取得

このデバイスが管理している Canvas オブジェクトを返します。 onDraw 内などからアクセスして描画コマンドを発行します。


texture

プロパティ \ アクセス: r

解説

テクスチャ管理オブジェクトを取得

このデバイスが管理している Texture オブジェクトを返します。


matrix

プロパティ \ アクセス: r

解説

行列オブジェクトを取得

このデバイスが管理している Matrix32 オブジェクトを返します。 描画時の座標変換に使用します。


glVideoPresenterHost

プロパティ \ アクセス: r

解説

オーバーレイ動画 presenter 登録口 (ポインタ値)

オーバーレイ動画側がこの GL デバイスへ pull 型で合成するために読み取る presenter host へのポインタ値です (WINVER の videoPresenterHost / SDL の sdlVideoPresenterHost と同じ規約)。 通常はエンジン内部/プラグインが使用します。


dialogRendererHost

プロパティ \ アクセス: r

解説

Elements ダイアログ renderer host (ポインタ値)

Elements のオーバーレイ描画アダプタを取得するための host へのポインタ値です。 通常はエンジン内部/プラグインが使用します。


viewportBackgroundHost

プロパティ \ アクセス: r

解説

ビューポート余白塗り登録口 (ポインタ値)

ゲーム画面が描画領域全体を覆わないときの余白 ( Window.viewportBgColor / Window.setViewportWallpaper ) を受け取る iTVPViewportBackgroundHost へのポインタ値です。 Window はこのプロパティが非 0 の ときだけ余白設定を反映します ( プロパティを持たない描画デバイスでは余白の塗り分けは 効かず、そのデバイス既定の塗りつぶしのままになります )。 通常はエンジン内部/プラグインが 使用します。


recreate

メソッド

解説

内部デバイス再生成

内部デバイスの再生成を行います。

通常使用することはありません。


createCanvas

メソッド

解説

Canvas オブジェクトを生成

このデバイスに紐づく Canvas オブジェクトの生成を要求します。 生成された Canvas は canvas プロパティから取得できます。


resumeOnDraw

メソッド

解説

自動停止した onDraw の発火を再開

onDraw ハンドラが毎フレーム例外を投げ続けて連続例外の上限 ( コマンドラインオプション -eventexceptionlimit、既定 10 ) に達すると、 onDraw の発火は自動停止します ( 画面クリア等の描画サイクル自体は継続 )。 このメソッドを呼ぶと発火を再開します。


onInit

イベント

解説

GL コンテキスト初期化時に呼び出されるイベント

このデバイスが Window.drawDevice にセットされ、内部の OpenGL ES コンテキストの生成と初期化が完了した直後に発火します。

シェーダ・テクスチャ等の初期リソース確保はここで行います。

関連: OGLDrawDevice.onDone


onDone

イベント

解説

GL コンテキスト破棄前に呼び出されるイベント

このデバイスが切り離される、もしくはコンテキストが破棄される直前に発火します。

onInit で確保したリソースの解放はここで行います。

関連: OGLDrawDevice.onInit


onDraw

イベント

解説

画面描画時に呼び出されるイベント

描画サイクルごとに発火します。Canvas が割り当てられている場合、内部で BeginDrawing 〜 EndDrawing で挟まれた状態で呼ばれるため、ハンドラ内で canvas プロパティ経由で描画コマンドを発行できます。