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)

我已经安装:

  • nvidia-computeG03(用GPGPU进行计算的NVIDIA驱动程序)
  • nvidia-gfxG03-kmp-desktop(适用于GForce 8xxx和更新GPU的NVIDIA图形驱动程序内核模块)
  • x11-video-nvidiaG03(用于GeForce 8xxx和更新GPUx的NVIDIA图形驱动程序)

  • 访问新功能的正确方法是通过GL扩展机制。 你用mesa的GL.h 。 你需要的是当前版本的glext.h (它与nivida驱动程序iirc一起提供,但也可以在官方的opengl网站上找到)。 然后YOu必须通过glXGetProcAddress()在你的平台上查询你打算调用的函数的函数指针。

    更方便的方法是使用像glew这样的OpenGL加载器库,它将为您完成所有这些工作。

    请注意,在理论上,您可以在包含glext.h并直接调用函数之前#define GL_GLEXT_PROTOTYPES 。 这很可能与nvidia驱动程序(以及您的平台上的其他驱动程序)一起工作,但不能保证按任何规格工作。 它永远不会在Windows等其他平台上工作。

    链接地址: http://www.djcxy.com/p/6551.html

    上一篇: 3 headers(C/C++) in linux (with nvidia driver)

    下一篇: OpenGL3 the wrong texture is displaying