从固定管道转向现代OpenGL

时间:2011-08-24 05:59:15

标签: c++ opengl opengl-3 mesa

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

我几乎没有问题。

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

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

1 个答案:

答案 0 :(得分:7)

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

总是使用extension loading library来访问OpenGL函数,无论是核心还是扩展。 GLEW非常好,如果你可以忍受它的局限性(3.0核心或更好),GL3W是不错的。