与Android本机共享统一上下文作为gl上下文

时间:2018-02-22 07:15:09

标签: android unity3d opengl-es android-context

我的应用程序有问题,它使用Android本机和统一。

我的母语使用opengl,但是当我向自己的母语提供统一语境时, 然后它停止了这条消息,

  

E / libEGL:调用没有当前上下文的OpenGL ES API(每个线程记录一次)

我认为这个错误来自上下文传递, 我只是使用这个过程的共同来源

using (activityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
    activityContext = activityClass.GetStatic<AndroidJavaObject>("currentActivity");
}
NativePlugin = pluginClass.CallStatic<AndroidJavaObject>("instance");
NativePlugin.Call("setContext", activityContext);

在此过程中,activityContext没有gl属性并且发生错误 是不是?

如何从统一上下文中获取GLcontext? 对此有什么解决方案吗?

1 个答案:

答案 0 :(得分:0)

基于此Manual

  

如果平台和可用CPU数量允许,则Unity中的渲染可以是多线程的。使用多线程渲染时,渲染API命令发生在一个线程上,该线程与运行MonoBehaviour脚本的线程完全分开。

您可能已启用多线程渲染,因此情况可能如此。 您可以尝试关闭它,看看它是否有所作为。