c – 从固定管道移动到现代OpenGL

我做了一些简单的OpenGL(旧的固定管道,没有着色器..etc),并希望开始一些严肃的“现代”OpenGL编程. (应该在WindowsLinux上编译)

我几乎没有问题.

1)在Windows中,“gl.h”没有声明与OpenGL2.0相关的API调用.(例如glShaderSource()).如何访问这些API调用?
    我不想安装特定于图形卡的标头,因为我想在其他机器上编译这个应用程序.

2)在Linux中,如果我安装Mesa库,我可以访问上面的OpenGL2 API函数吗?

解决方法:

一些人长期以来一直认为(由于90年代末/ 00年代早期GL版本更新的缓慢),获得核心OpenGL调用的方法只是包括一个头和一个库.手动加载函数指针是您为扩展所做的事情,用于“图形卡特定”功能.情况并非如此.

您应始终使用extension loading library来访问OpenGL函数,无论是核心还是扩展. GLEW非常好,如果你可以忍受其限制(仅3.0核或更好),GL3W是不错的.

上一篇:linux-无法在Ubuntu上运行我自己的OpenGL 3程序


下一篇:c – opengl程序编译但运行时出错(UBUNTU 14.04)