我想学习使用OpenGL进行图形编程.由于我将开始学习它,所以我决定学习新的OpenGL3的工作方式.据我所知,必须正确地为此创建一个OpenGL 3上下文(如果我正确理解的话,将在新的OpenGL 3.2中创建核心配置文件) ).好吧,我考虑过为此使用Qt,当前使用的是4.5.2版,因为我已经知道并且喜欢它,并且它支持创建OpenGL小部件.我的问题是,看起来OpenGL小部件始终是用旧的OpenGL 2上下文创建的,而我看不到将其设置为/切换为OpenGL 3方式的选项.我是否在这里遗漏了一些明显的东西,或者我需要一些更棘手的东西来使用Qt创建OpenGL 3上下文吗?当前版本的Qt甚至支持它吗?我正在使用Linux,如果有任何不同的话.
解决方法:
Mesa软件渲染仍然停留在OpenGL 2.1上.如果您使用的是二进制NVidia驱动程序,则它们在足够新的硬件上提供OpenGL 3.2 support. AMD的latest fglrx支持3.1.开源驱动程序似乎在1.3-1.4左右达到顶峰.
如果到此为止,您可能必须破解Qt源以使用GLX_ARB_create_context而不是GLXCreateContext来获取OpenGL 3.2 Core上下文.
如果您还没有通过Google看到该线索,那么This guy似乎已经取得了部分成功.