在什么Windows库中glCreateProgramObjectARB定义了什么?

时间:2011-03-18 20:14:49

标签: windows opengl shader

我正在尝试在Windows上进行一些着色器编程。我在网上找到的所有代码都说你必须使用wglGetProcAddress来确定这些函数的位置,但我不确定链接哪个库。

2 个答案:

答案 0 :(得分:3)

Ben Voigt的答案几乎是正确的,有两个例外:

  • 所有OpenGL 1.0和1.1功能都包含在opengl32.lib中,只有1.3及以上版本,并且必须动态加载所有扩展名。
  • WGL保证共享相同像素格式的所有上下文共享相同的函数指针。这是一个重要的细节,否则任何使用OpenGL 3.x / 4.x或多重采样的应用程序都必然会出现格式错误。

然而,简而言之,忘记所有这一切等等。下载GLEW并在5分钟内完成。它只是工作,你不需要关心小的实现细节。在程序启动时调用一个init函数,一切都很好。

答案 1 :(得分:2)

您与opengl32.lib关联以获取wglGetProcAddress。所有其余部分必须在您创建上下文之后通过wglGetProcAddress动态获取,因为不同的上下文可以使用各种函数的不同实现。

扩展加载程序(如GLee或GLEW)可以为您执行功能指针详细信息,但您仍需要链接opengl32.lib