我正在为Linux构建一个NPAPI插件,该插件使用XEmbed协议作为插件控制的窗口。我使用Gtk +附加到窗口,用GtkPlug包装XEmbed窗口。我想在窗口上渲染一个OpenGL表面(使用GtkGLExt)但是当我启用生成的OpenGL上下文时,我无法创建GLSL着色器;实际上,查询glGetString(GL_VERSION)的值表明OpenGL的版本字符串已经从“2.1 NVIDIA ...”更改为“1.4(2.1 NIVIDIA ...)”,这表明GL驱动程序已降低了OpenGL的功能。这种情况。
我无法找到任何直接引用在OpenGL功能上使用XEmbed位置的限制。有谁知道XEmbed是否有效地将OpenGL降级为固定管道?