Node2Dプラグインの例¶
この例は、Kanzi Engine プラグインを使用するユースケースです。この例では、Kanzi Engine プラグインでカスタム2Dノード VideoView2D を作成する方法を示しています。VideoView2D ノードは、解像度が2で割り切れ、MPEG-4コーデックでエンコードされたビデオファイルをレンダリングします。VideoView2D ノードは、ビデオファイルのオーディオトラックを再生しません。Androidでは、外部コンテキストからビデオをストリーミングするために OES_EGL_image_external 拡張機能を利用して共有イメージテクスチャを使用します。
例の入手¶
この例を入手するには、Kanzi Studio Quick Start ウィンドウで Examples をクリックします。Node2D_plugin の例の横にある をクリックします。
Kanzi Studio は、この例を <KanziWorkspace>/Examples/Node2D_plugin ディレクトリにダウンロードします。ビデオファイルは Application/bin ディレクトリに格納されています。
例の内容¶
この例は、WindowsおよびAndroidプラットフォームで実行されます。
Windowsプラットフォームは、ビデオ再生にMicrosoft Media Foundationを使用します。Windowsプラットフォームのソースファイルは
<KanziWorkspace>/Examples/Node2D_plugin/Application/src/platform_specific/win32/srcにあります。注釈
Windows 10 N および Windows 10 KN バージョンで Node2D プラグインの例を実行するには、Microsoft が提供する Media feature pack をインストールする必要があります。
Androidプラットフォームはネイティブメディアプレーヤーを使用します。Androidプラットフォームのソースファイルは
<KanziWorkspace>/Examples/Node2D_plugin/Application/src/platform_specific/android/srcにあります。<KanziWorkspace>/Examples/Node2D_plugin/Application/src/pluginに両方のプラットフォームに共通するコードを見つけることができます。
Kanzi Engine プラグインの作成方法を学ぶには、Kanzi Engine プラグインの作成 を参照してください。
外部テクスチャハンドルの使用¶
Androidネイティブコードと Kanzi アプリケーションフレームワークは異なるコンテキストで動作するため、GPUリソースを共有することはできません。広く利用可能なOpenGL拡張機能(GL_OES_EGL_image_external)は、いくつかの制限付きでコンテキスト間で共有できる外部テクスチャリソースのサポートを提供します。Node2D_plugin の例では、Androidメディアプレーヤーを使用して、外部テクスチャハンドルにバインドされたサーフェスビューにビデオストリームをレンダリングします。Kanzi 側では、ビデオをレンダリングするノードのテクスチャが同じ外部テクスチャハンドルにバインドされ、レンダーループで表示されます。
このアプローチは、他のプラットフォームでも使用できます。
デバイスで
GL_OES_EGL_image_externalエクステンションがサポートされている。別のコンテキストのサービスは、外部テクスチャハンドルにバインドされたテクスチャを提供することができます。
典型的な例はストリーミングビデオです。
例を実行する¶
例を実行するには、
Kanzi Studio で、File > Open Kanzi Command Prompt を選択します。
Kanzi Command Prompt は、Kanzi 環境変数が設定された Windows コマンドプロンプトを開き、Kanzi のバージョンに対して Kanzi Command Prompt を開きます。
Kanzi Command Prompt を使用して、絶対パスや環境変数を設定せずに、Gradle、SCons、CMake などの Kanzi ユーティリティおよびビルドツールにアクセスします。
ヒント
Kanzi Command Prompt は、Rightware ディレクトリの Windows スタートメニューで見つけることができます。
Kanzi のバージョンが複数インストールされている場合は、そのコマンドプロンプトで作業したい Kanzi のバージョンに対応する Kanzi Command Prompt を起動するようにしてください。
<KanziWorkspace>/Examples/Node2D_plugin/Applicationディレクトリ内の Kanzi Command Prompt で、サンプルアプリケーション用の Visual Studio ソリューションを生成するスクリプトを実行します。たとえば、Visual Studio 2019 を使用している場合は、次のコマンドを実行します。
generate_cmake_vs2019_solution.bat
このスクリプトは、ディレクトリ
<KanziWorkspace>/Examples/Node2D_plugin/Application/build_vs2019内のアプリケーション用の Visual Studio ソリューションを生成します。Visual Studioで
<KanziWorkspace>/Examples/Node2D_plugin/Application/build_vs<Version>/Node2D_plugin.slnVisual Studioソリューションを開きます。Visual Studioのソリューションエクスプローラーで、
Node2D_plugin_executableプロジェクトを右クリックし、Set as StartUp Project を選択します。使用したいソリューション構成を選択し、アプリケーションを実行します。
開発中は、Debug 構成を選択します。製品版を作成する準備ができたら、Release 構成を選択します。