Version: 2022.3

GL.IssuePluginEvent

切换到手册
Obsolete public static void IssuePluginEvent (int eventID);
public static void IssuePluginEvent (IntPtr callback, int eventID);

参数

eventID 要发送给回调的用户定义 ID。
callback 排队等待 Unity 的渲染器调用的本机代码回调。

描述

向本机代码插件发送用户定义的事件。

如果平台和可用 CPU 数允许,则在 Unity 中的渲染可以是 多线程的。当使用多线程渲染时, 执行这些渲染 API 命令的线程完全 独立于运行脚本的线程。因此, 您的插件无法立即开始渲染, 因为它可能会干扰渲染线程此时正在进行的工作。

为了从该插件进行任何渲染,您应通过脚本调用 GL.IssuePluginEvent,这将导致您的原生 插件从渲染线程调用。例如,如果您 从摄像机的 OnPostRender 函数调用 GL.IssuePluginEvent,则在该摄像机已完成渲染后, 您将立即获得插件回调。

回调必须是签名为“void UNITY_INTERFACE_API UnityRenderingEvent(int eventId)”的原生函数。

有关详细信息和示例, 请参阅Native Plugin Interface

另请参阅:SystemInfo.graphicsMultiThreaded