首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在nana c++库中使用opengl?

如何在nana c++库中使用opengl?
EN

Stack Overflow用户
提问于 2018-05-26 08:05:23
回答 1查看 643关注 0票数 1

我正在给桂玩娜娜图书馆。

我也必须使用opengl,但是对于opengl有一个例子,那就是windows。链接

我使用的是ubuntu。上面的例子调用reinterpret_cast<HWND>(fm.native_handle());

我终于找到了。

根窗口连接到操作系统/窗口系统本机窗口,native_handle返回本机窗口的句柄。在某个系统中,可以将native_window_type转换为系统本机句柄类型。

代码语言:javascript
复制
auto reinterpret_cast<HWND>(root_widget.native_handle()); //Windows
auto reinterpret_cast<Window>(root_widget.native_handle()); //Linux/X11

我可能会在窗户和HWND之间得到提示。

如果我使用窗口(X11),可以在nana库上实现opengl吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-26 19:20:32

要创建一个使用OpenGL的应用程序,您需要非常简化,至少有四件事情:

  • 一种像素格式,描述颜色大小、Z缓冲区大小、多采样等.在Windows中,您需要wglChoosePixelFormatARB.在Linux中,glXChooseFBConfig
  • 一种背景。在Windows中,wglCreateContextAttribsARB需要一个HDC,在Linux中需要一个Display,这与窗口不一样。
  • 如何将上下文设置为当前。
  • 如何“交换缓冲区”。

您可以了解更多的这里这里

如果您发现OpenGL版本< 3.2有关这些问题的文档,请不要使用它。坚持“现代”OpenGL。

nana的问题在于,您所链接的示例在Windows中似乎运行良好(但使用旧的OGL)。关于Linux,我们什么都不知道。我认为您应该深入研究nana的源代码,查找它在native_handle()上返回的内容。更好的是你更喜欢在论坛上提问。

上述函数是不可直接使用的,您必须查询它们的函数指针。

许多现代OGL函数也需要检索它们的函数指针。请参阅维基

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50540691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档