我想在Windows上尝试使用Qt库。在他们的下载页面上,我注意到使用VS2012构建的二进制文件有两种形式,一种带OpenGL,一种不带。这两者有什么区别?在OpenGL版本中,它们是否使用了一些基于OpenGL实现的特殊API,还是Qt的所有渲染都依赖于OpenGL? 另外,是否有使用DirectX的Qt版本?
我想在Windows上尝试使用Qt库。在他们的下载页面上,我注意到使用VS2012构建的二进制文件有两种形式,一种带OpenGL,一种不带。这两者有什么区别?在OpenGL版本中,它们是否使用了一些基于OpenGL实现的特殊API,还是Qt的所有渲染都依赖于OpenGL? 另外,是否有使用DirectX的Qt版本?
@Raman:OpenGL变体与Qt4一样,使用桌面OpenGL版本。
非OpenGL变体使用Angle,需要将其安装在DirectX SDK旁边才能使其正常工作。Angle是DirectX和OpenGLES API之间的适配器。只有后者直接受到Qt支持,但不幸的是,DirectX驱动程序在Windows上的表现往往比OpenGL(ES)更好。目前没有计划在Qt内部支持DirectX后端,因此我们只能使用Google的Angle来解决这个问题。
至于提供额外的功能,最近在邮件列表上讨论了这个问题,认为这个决定不应该在构建时进行,而应该在运行时进行。然而,目前还没有人站出来解决这个问题。希望这很快就会改变。它像其他问题一样,给最终用户带来了困惑,所以不要感到孤单。 ;-)
希望这个解释有所帮助。
DirectX通过基于ANGLE的库得到支持。