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

如何使用fltk 1.3创建opengl 3.x或4.x上下文?,opengl,fltk,Opengl,Fltk,我正在考虑将我的一个软件从OpenGL2.1移植到现代版本(3.x或4.x) GUI是用fltk设计的,包括一个FL_GL_窗口,我在其中进行所有渲染。现在我的问题是我不明白如何为这个窗口指定opengl上下文 如果我要使用SDL创建OpenGL上下文,我可以使用如下内容: SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION,3); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION,2) fltk也有类

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

GUI是用fltk设计的,包括一个FL_GL_窗口,我在其中进行所有渲染。现在我的问题是我不明白如何为这个窗口指定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?

nor的窗口创建函数都不允许创建核心Opengl上下文。你仍然可以创建一个Post2.1版本(虽然不是在MacOSX上,他们只提供核心OpenGL)。

我想你可以使用
WGL\u ARB\u create\u context
wglCreateContext
来创建OpenGL上下文,然后你可以使用Fl\u GL\u Window的方法来设置上下文。当然,你们必须小心创作。幸运的是,FLTK将能够为您提供有关DC的详细信息,以便您可以创建有效的OpenGL上下文。另外,您可以使用
void*context()
方法获取FLTK使用的OpenGL上下文的一个点。

OK,所以必须在FLTK之外创建上下文,对吗?我必须为不同的系统(Windows和Linux)创建不同的版本。默认版本应该为您创建(通过Fl_GL_window),如果您需要其他版本,您必须自己创建。对我来说很有意义(我不是OpenGL专家)。。。