【问题标题】:Share unity context with Android native as gl context与 Android 原生共享统一上下文作为 gl 上下文
【发布时间】:2018-02-22 07:15:08
【问题描述】:

我的应用程序有问题,它使用统一的 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? 有什么解决办法吗?

【问题讨论】:

    标签: android unity3d opengl-es android-context


    【解决方案1】:

    基于此Manual

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

    您可能打开了多线程渲染,因此可能是这种情况。 您可以尝试将其关闭,看看是否有影响。

    【讨论】:

    • 感谢您的回答,萨满。我尝试了这个解决方案,但现在我遇到了另一个问题。使用该 glcontext,我的着色器无法正常工作。我会试一试。谢谢
    猜你喜欢
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多