-1

我有一些问题。我使用 ubuntu 12.04,这是fglrxinfo命令的结果:

display: :0.0  screen: 0
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: ATI Mobility Radeon HD 4650
OpenGL version string: 3.3.11627 Compatibility Profile Context

但OpenGL 2 及以上版本等功能shaders不可用。我应该更新我的设备驱动程序吗?或者是其他东西?

4

1 回答 1

0

这是一个常见问题解答。X11/GLX OpenGL ABI 仅指定最高 OpenGL-1.2 的入口点(目前正在开发新的 ABI)。这意味着,要访问 OpenGL-1.2 之外的任何内容,必须通过扩展机制加载高级功能。

由于您使用的是 Unbuntu,因此这里有一步一步的说明,以尽可能轻松地完成此操作:

  1. sudo apt-get install libglew-dev
  2. 在您的所有项目中,源文件替换#include <GL/gl.h>#include <GL/glew.h>
  3. 在创建 OpenGL 上下文之后,例如在glutCreateWindow调用glewInit()并检查其错误代码之后(必须返回 GLEW_OK)。
于 2013-01-05T02:23:35.923 回答