Unity 6.3
0 онлайн 62 гостей 3 в системе
Вход

GL.IssuePluginEvent

Declaration

Obsolete public static void IssuePluginEvent(int eventID);
public static void IssuePluginEvent(IntPtr callback, int eventID);

Параметры

Параметр Описание
eventID Идентификатор, определенный пользователем для отправки обратному вызовам.
обратный вызов Обратный вызов собственного кода в очередь для вызова рендерера Unity.

Описание

Отправка события, определенного пользователем, в плагин нативного кода.

Рендирование в Unity может быть многопоточным, если это позволяет платформа и количество доступных CPUs. При использовании многопоточного рендеринга, команды рендеринга API выполняются на потоке, который полностью отделен от потока, запускающего скрипт. Следовательно, ваш плагин не может начать рендеринг сразу, так как это может помешать тому, что делает поток рендеринга в данный момент.

Чтобы выполнить любое рендеринг из плагина, вы должны вызвать GL.IssuePluginEvent из вашего скрипта, что приведет к вызову вашего собственного плагина из потока рендеринга. Например, если вы вызовете GL.IssuePluginEvent из функции OnPostRender камеры, вы получите обратный вызов плагина сразу после того, как камера закончит рендеринг.

Обратный вызов должен быть нативной функцией с сигнатурой "void UNITY_INTERFACE_API UnityRenderingEvent(int eventId)".

Зеркало Интерфейс нативного плагина для более подробной информации и примера.

Дополнительные ресурсы: SystemInfo.graphicsMultiThreaded.