除了低级原生插件接口之外,Unity 还支持低级渲染扩展,这些扩展可在发生特定事件时接收回调。这主要用于实现和控制插件中的低级渲染,并使低级渲染能够与 Unity 的多线程渲染一起使用。
由于此扩展的低级特性,可能需要在创建设备之前预先加载插件。目前约定以名称为基础:插件名称必须以 GfxPlugin 开头(例如:_GfxPluginMyNativePlugin_)。
Unity 公开的渲染扩展定义位于随 Editor 提供的文件 IUnityRenderingExtensions.h 中(请参阅文件路径 _Unity\Editor\Data\PluginAPI_)。
支持原生插件的所有平台都支持这些扩展。
要利用渲染扩展,插件应导出 UnityRenderingExtEvent 以及选择性导出 UnityRenderingExtQuery。include 文件中提供了大量文档。
只要 Unity 触发其中一个内置事件,就会通过 UnityRenderingExtEvent 调用插件。还可使用脚本通过 CommandBuffer.IssuePluginEventAndData 或 CommandBuffer.IssuePluginCustomBlit 将回调添加到 CommandBuffers。