在运行时加载OpenGL扩展

时间:2013-08-03 12:13:01

标签: c++ winapi opengl

我正在尝试获取额外的openGL函数,例如glCreateShader() 在运行时使用wglGetProcAddress,如许多教程中所述。 但是返回值为NULL,并且没有与着色器相关的函数 找到。

如何解决这个问题? 谢谢!! : - )

2 个答案:

答案 0 :(得分:1)

这些功能由图形驱动程序提供。所以你有两个选择:

  • 将您的图形驱动程序升级到最新版本,并希望制造商开发了这些扩展程序。
  • 将您的图形卡更改为更好的图形卡,该驱动程序提供所需的扩展名。

请注意,有许多低端显卡根本无法做到扩展所需的功能,因此他们的制造商永远不会提供它们。

答案 1 :(得分:1)

我已经解决了这个问题。 必须首先创建openGL上下文,并且必须选择像素格式 并适用于您想要的扩展集。

如果您不这样做,wglGetProcAddress将找不到您的扩展程序。