Linux中的3个头文件(C / C ++)(带有nvidia驱动程序)
我的SO是OpenSuse 12.2(x86_64)Mantis,带有KDE桌面。 我目前已经从存储库安装了NVidia驱动程序(319)。 3D加速工作和驱动程序似乎支持OpenGL 4.3。
我试图编写一个简单的OpenGL示例(在glut窗口中只是一个三角形),但我无法执行,因为GL / gl.h过时了:当前的头文件是openGL 1.3的mesa,它不支持glCreateShader和glAttachShader。 ..
我已经尝试了$ sudo find / -name gl3.h(openGL 3.1,并且应该包含此头文件),但它不返回任何结果,所以我想Nvidia驱动程序不包含库/头文件。
我的问题是:我在哪里可以获得安装NVidia驱动程序的GL / gl.h? Onyone得到了同样的问题并解决了它?
PS要安装NVidia驱动程序,我刚刚从NVidia存储库安装了用于opensuse 12.2的驱动程序(http://download.nvidia.com/opensuse/12.2/)(使用Yast)
我已经安装:
访问新功能的正确方法是通过GL扩展机制。 你用mesa的GL.h
。 你需要的是当前版本的glext.h
(它与nivida驱动程序iirc一起提供,但也可以在官方的opengl网站上找到)。 然后YOu必须通过glXGetProcAddress()
在你的平台上查询你打算调用的函数的函数指针。
更方便的方法是使用像glew这样的OpenGL加载器库,它将为您完成所有这些工作。
请注意,在理论上,您可以在包含glext.h
并直接调用函数之前#define GL_GLEXT_PROTOTYPES
。 这很可能与nvidia驱动程序(以及您的平台上的其他驱动程序)一起工作,但不能保证按任何规格工作。 它永远不会在Windows等其他平台上工作。