如何将opengl用于nana c ++库?

时间:2018-05-26 08:05:24

标签: opengl nana

我在nana图书馆玩gui。

我还必须使用opengl,但是有一个例子用于opengl,用于windows。 Link

我正在使用ubuntu linux。以上示例请致电reinterpret_cast<HWND>fm.native_handle());

我终于找到了它。

根窗口附加到OS / Windowing系统本机窗口,native_handle返回本机窗口的句柄。 在某个系统中,native_window_type可以转换为系统本机句柄类型。

auto reinterpret_cast<HWND>(root_widget.native_handle()); //Windows
auto reinterpret_cast<Window>(root_widget.native_handle()); //Linux/X11

我可能会在 HWND ,Window之间得到提示。

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

1 个答案:

答案 0 :(得分:1)

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

  • 像素格式,描述颜色大小,Z缓冲区大小,多重采样, 在Windows中,您需要wglChoosePixelFormatARB。在Linux中, glXChooseFBConfig
  • 背景。在Windows中 wglCreateContextAttribsARB需要HDC和Linux glXCreateContextAttribsARB a Display,与窗口不同。
  • 如何将上下文设置为当前。
  • 如何&#34;交换缓冲区&#34;。

您可以了解更多herehere
如果您找到有关OpenGL版本的这些事项的文档&lt; 3.2,请不要使用它。坚持&#34;现代&#34;的OpenGL。

nana的问题在于您链接的示例似乎适用于Windows(但旧的OGL)。没有任何关于Linux的消息。我想你应该深入研究nana的源代码,搜索它在native_handle()上返回的内容。你更喜欢在论坛中提问。

我展示的上述函数不能直接使用,你必须查询它们的函数指针。
许多现代OGL函数也需要检索它们的函数指针。见the wiki