如何用fltk 1.3创建opengl 3.x或4.x上下文?

时间:2012-07-19 08:52:55

标签: opengl fltk

我正在考虑将我的一个软件从opengl 2.1移植到现代版本(3.x或4.x)。

GUI使用fltk设计,并包含FL_GL_Window,我在其中进行所有渲染。现在我的问题是我不明白如何为这个窗口指定opengl上下文。

如果我使用SDL创建OpenGL上下文,我可以使用类似的东西: SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION,3); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION,2);

fltk有类似的东西吗?或者它只能处理Opengl 2.1?

2 个答案:

答案 0 :(得分:1)

FLTK 1.1FLTX 2.0的窗口创建函数都不允许创建核心 OpenGL上下文。你仍然可以创建compatibility context的2.1版后版本(虽然不是在MacOSX上,它们只提供核心OpenGL)。

答案 1 :(得分:1)

我想您可以使用WGL_ARB_create_contextwglCreateContext来创建OpenGL上下文,之后您可以使用Fl_GL_Window的void context (void *, int destroy_flag=0)方法来设置上下文。当然,你必须小心创造。 Luckilly,FLTK将能够为您提供有关DC的详细信息,以便您可以创建有效的OpenGL上下文。此外,您可以使用void* context()方法获取FLTK使用的OpenGL上下文的一个点。