当前位置: 首页 > 知识库问答 >
问题:

如何将Unity上下文导入OpenGL窗口

谈桐
2023-03-14

我想把unity上下文放到opengl中,这样我就可以在opengl glfw窗口中显示unity渲染纹理。我尝试使用
oldContext=glfwGetCurrentContext();,但是oldContext的值为null。

任何帮助都将不胜感激!

共有1个答案

白浩气
2023-03-14

OpenGL上下文不能像OpenGL状态相关的对象一样通过一些GLGET*API查询。上下文不是OpenGL API的一部分,它是您运行的系统的一部分,它的存在允许您维护OpenGL状态并向驱动程序发出命令。您必须访问一个系统特定的句柄,该句柄通过Windows(WinGDI)上系统特定的API.,指向上下文

HGLRC wglGetCurrentContext();

linux上,请参阅相关的GLX API。您需要查找访问GLXContext的函数

我在Unity3D(framebuffer读出插件)中做过一次。但它只使用Unity的OpenGL或DirectX上下文来发出API命令。

 glfwGetCurrentContext()

但是如果您查看源代码,您会看到:

 GLFWAPI GLFWwindow* glfwGetCurrentContext(void)
 {
   _GLFW_REQUIRE_INIT_OR_RETURN(NULL);
   return _glfwPlatformGetTls(&_glfw.contextSlot);
 }

这可能意味着它从自己的缓存中而不是从系统中检索到GLFWWindow的指针。如果您没有通过GLFW创建上下文,您将无法获得任何有效的指针。因此,尝试直接使用与您的系统相关的API,正如上面所解释的那样。

 类似资料:
  • 问题内容: 我正在使用一个有趣的世界编辑器,并使用Java和JLWGL。到目前为止一切正常。现在,我尝试创建一个窗口,可以在其中添加要使用的地形或新模型。问题是,当我尝试从主界面创建地形并创建并显示该地形时,但是当我尝试通过按钮事件监听器调用该地形时,出现错误: 在当前线程中未找到OpenGL上下文。 我基本上知道为什么会得到错误。我用来获取输入并单击按钮的框架没有opengl上下文。 现在的问题

  • 我有一个带有主窗口的应用程序。它有自己的线程和opengl上下文。这个应用程序每个处理器还有一个工作线程来创建和上传软件渲染的纹理。这工作得非常好。 我担心的是工作线程opengl上下文是使用主窗口的device_context创建的。因此,在双处理器系统的情况下,这意味着3个opengl上下文被绑定到同一个window device_context。它们都是在主窗口线程中创建的,然后调用shar

  • 我正在使用Java和JLWGL开发一个有趣的世界编辑器。到目前为止,一切正常。现在我试着创建一个窗口,在那里我可以添加一个地形或一个新模型来使用。问题是,当我尝试从主线程创建地形时,它被创建并显示,但当我尝试通过按钮eventlistener调用它时,我得到了一个错误:在当前线程中找不到OpenGL上下文。我基本上知道我为什么会出错。我用来获取输入并单击按钮的框架没有opengl上下文。 我现在的

  • 好的,所以我尝试在Android Studio中作为单个活动导入unity项目。 我已经学习了本教程,但在第6步仍然出现错误: “无法解析':app@debug/compileClasspath'的依赖项:无法解析项目...” 所以我转向了另一个教程,关于如何将aar包导入到我在android Studio中的主项目文件中的不同方法。 这是我的主要活动,在这里我想通过一个按钮点击开始unity活动

  • 问题内容: 我想在没有X的情况下使用OpenGL渲染,而在Google上我找到了它:http : //dvdhrm.wordpress.com/2012/08/11/kmscon-linux-kmsdrm-based-virtual- console/ 那里说有可能。我应该使用DRM和EGL。EGL可以创建opengl上下文,但需要一个NativeWindow。DRM可能会为我提供NativeWi

  • 问题内容: 例如,我有一个文件,它是一个对象数组(严格地形成),它很简单(没有嵌套的对象),就像这样(重要的是:它已经包含了id): 我想将它们全部导入到表的postgres db中。 当我将其作为json类型的列导入到像这样的表中并用其中列出的对象命名的列,然后使用sql获取这些值并将其插入到真实表中时,我发现了一些非常困难的方法。 但是有没有一种简单的方法就可以将json导入到postgres