Version: 2017.2
低レベルネイティブプラグインインターフェース
低レベルのネイティブプラグインのシェーダーコンパイラーアクセス

低レベルネイティブプラグインのレンダリング拡張

低レベルのスクリプトのインターフェース に加えて、Unity は特定のイベントが発生するとコールバックを受け取る低レベルのレンダリング拡張もサポートします。これはたいてい、プラグインで低レベルのレンダリングを実装し、制御するために使用され、Unity のマルチスレッドレンダリングを使用できるようにします。

この拡張の低レベルの性質によって、プラグインはデバイスが作成される前にプリロードしなければならない場合があります。現在、convention は名前ベース、つまり、プラグイン名が GfxPlugin というプレフィックスを持つ必要があります。例えば、 GfxPluginMyFancyNativePlugin のように。

Unity の取得可能なレンダリング拡張の定義は IUnityRenderingExtensions.h にあり、エディターで使用できます。

ネイティブプラグインをサポートするすべてのプラットフォームがこれらの拡張をサポートしています。

レンダリング拡張 API

レンダリング拡張の長所を生かすために、プラグインは UnityRenderingExtEvent と、オプションで UnityRenderingExtQuery をエクスポートする必要があります。インクルードファイルの内部で多くのドキュメントが提供されています。

レンダリングスレッドのプラグインコールバック

Unity がビルトインイベントの 1 つを発生させるときはいつでも、UnityRenderingExtEvent 経由でプラグインが呼び出されます。さらに、そのコールバックは、スクリプトの CommandBuffer.IssuePluginEventAndData か CommandBuffer.IssuePluginCustomBlit コマンド経由で CommandBuffers に加えられます。


低レベルネイティブプラグインインターフェース
低レベルのネイティブプラグインのシェーダーコンパイラーアクセス