//private static int _lastUpdateAllTexturesFrame = -1; private static void IssueRenderThreadEvent(Native.RenderThreadEvent renderEvent) { /*if (renderEvent == Native.RenderThreadEvent.UpdateAllTextures) * { * // We only want to update all textures once per frame * if (_lastUpdateAllTexturesFrame == Time.frameCount) * return; * * _lastUpdateAllTexturesFrame = Time.frameCount; * }*/ #if AVPROVIDEO_ISSUEPLUGINEVENT_UNITY52 if (renderEvent == Native.RenderThreadEvent.UpdateAllTextures) { GL.IssuePluginEvent(_nativeFunction_UpdateAllTextures, 0); } else if (renderEvent == Native.RenderThreadEvent.FreeTextures) { GL.IssuePluginEvent(_nativeFunction_FreeTextures, 0); } else if (renderEvent == Native.RenderThreadEvent.WaitForNewFrame) { GL.IssuePluginEvent(_nativeFunction_ExtractFrame, 0); } #else GL.IssuePluginEvent(Native.PluginID | (int)renderEvent); #endif }
//private static int _lastUpdateAllTexturesFrame = -1; private static void IssueRenderThreadEvent(Native.RenderThreadEvent renderEvent) { /*if (renderEvent == Native.RenderThreadEvent.UpdateAllTextures) * { * // We only want to update all textures once per frame * if (_lastUpdateAllTexturesFrame == Time.frameCount) * return; * * _lastUpdateAllTexturesFrame = Time.frameCount; * }*/ GL.IssuePluginEvent(Native.PluginID | (int)renderEvent); }
private static void IssueRenderThreadEvent(Native.RenderThreadEvent renderEvent) { switch (renderEvent) { case Native.RenderThreadEvent.UpdateAllTextures: GL.IssuePluginEvent(_nativeFunction_UpdateAllTextures, 0); break; case Native.RenderThreadEvent.FreeTextures: GL.IssuePluginEvent(_nativeFunction_FreeTextures, 0); break; } }