Node2Dプラグインの例

この例は、Kanzi Engine プラグインを使用するユースケースです。この例では、Kanzi Engine プラグインでカスタム 2D ノード VideoView2D を作成する方法を示します。VideoView2D ノードは、解像度が 2 で割り切れ、MPEG-4 コーデックでエンコードされたビデオファイルをレンダリングします。VideoView2D ノードは、ビデオファイルのオーディオトラックを再生しません。Android では、この例は外部コンテキストからビデオをストリーミングするために、OES_EGL_image_external 拡張機能を利用する共有イメージテクスチャを使用します。

例の入手

例を入手するには、Kanzi Studio Quick Start ウィンドウで Projects をクリックし、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 エクステンションがサポートされている。

  • 別のコンテキストのサービスは、外部テクスチャハンドルにバインドされたテクスチャを提供することができます。

典型的な例はストリーミングビデオです。

例を実行する

例を実行するには、

  1. Kanzi Studio で、File > Open Kanzi Command Prompt を選択します。

    Kanzi Command Prompt は、Kanzi 環境変数が設定された Windows コマンドプロンプトを開き、Kanzi のバージョンに対して Kanzi Command Prompt を開きます。

    Kanzi Command Prompt を使用すると、絶対パスを使用したり環境変数を設定したりせずに、Kanzi のユーティリティや、Gradle、CMake などのビルドツールにアクセスできます。

    ../../_images/open-kanzi-command-prompt.png

    ヒント

    Kanzi Command Prompt は、Rightware ディレクトリの Windows スタートメニューで見つけることができます。

    Kanzi のバージョンが複数インストールされている場合は、そのコマンドプロンプトで作業したい Kanzi のバージョンに対応する Kanzi Command Prompt を起動するようにしてください。

  2. <KanziWorkspace>/Examples/Node2D_plugin/Application ディレクトリ内の Kanzi Command Prompt で、サンプルアプリケーション用の Visual Studio ソリューションを生成するスクリプトを実行します。

    generate_cmake_vs2022_solution.bat
    

    このスクリプトは、<KanziWorkspace>/Examples/Node2D_plugin/Application/build_vs2022 ディレクトリにアプリケーション用の Visual Studio ソリューションを生成します。

  3. Visual Studioで <KanziWorkspace>/Examples/Node2D_plugin/Application/build_vs<Version>/Node2D_plugin.sln Visual Studioソリューションを開きます。

  4. Visual Studioのソリューションエクスプローラーで、Node2D_plugin_executable プロジェクトを右クリックし、Set as StartUp Project を選択します。

  5. 使用したいソリューション構成を選択し、アプリケーションを実行します。

    開発中は、Debug 構成を選択します。製品版を作成する準備ができたら、Release 構成を選択します。

    ../../_images/debug-configuration.png

関連項目

Kanzi Engine プラグイン

Kanzi Engine プラグインの作成