Gtkglarea无法创建OpenGL 2.1上下文



我目前正在为我的游戏引擎项目制作一个简单的编辑器,而该项目似乎在我的主要工作站上运行良好(GTX 650TI带有OpenGL 3.3 支持),但是它当我在我的测试台式机上进行测试时,似乎被打破了(带有OpenGL 2.1最大支持的GMA4500)。

即使我用gtk_gl_area_set_required_version()至2.1指定了GL版本,GTKGLAREA的gtk_gl_area_make_current()也无法创建OpenGL 2.1上下文。

试图通过测试GTK Glarea演示(https://git.gnome.org/browse/gtk /tree/tree/demos/gtk-demo/glarea.c)进行故障排除。

已经在网络上搜索它,但没有任何解决方案。尽管有人在Ebassi(https://github.com/ebassi/glarea-example/issues/2)上提到了同一EXATCT问题。

有什么解决方案吗?

操作系统:Fedora 23GTK版本3.18


编辑:操作系统(Fedora 23)使用OpenGL 2.1(使用GLXINFO检查),并在GTK 源上给出的Demos考虑了我假设GTK使用GL 3.0 默认为GTK。是否有任何方法可以过度?(根据Ebassi在下面的答案中,从GTK 3.20 GdkGLContext开始,如果没有核心配置文件,则会回到传统配置文件。GTK 3.20)

编辑2:我可以通过使用SDL而不是GdkGLContext创建的上下文来进行解决方法,但是我仍然很想让GdkGLContext与OpenGL 2.1一起工作。

gtk 尝试创建一个OpenGL 3.2 核心配置文件上下文。

从GTK 3.20开始,如果没有核心配置文件,GdkGLContext将尝试落回传统配置文件。您可以使用gdk_gl_context_is_legacy()检查GdkGLContext是否处于遗产模式。

您不允许您自己选择一个遗产上下文,因为不可能与遗产共享核心配置文件,而GDK则在内部创建GL上下文。

您可以使用egl使用gtkdrawingarea

使用旧版(pre-3.0)openGL版本

http://bobthegnome.blogspot.com/2014/09/ususe-egl-with-gtk.html

相关内容

  • 没有找到相关文章

最新更新