wglGetProcAddress用于OpenGL 1.1function

OpenGL网站上的这个维基页面宣称,OpenGL 1.1函数不应该通过wglGetProcAddress加载,而措辞似乎意味着某些系统在devise时会返回NULL,如果您尝试:

http://www.opengl.org/wiki/Platform_specifics:_Windows#wglGetProcAddress

(这个想法是,只有1.2 +function值得通过wglGetProcAddress加载)。

这个页面并没有告诉我们谁在1.1函数上报告了这些失败的wglGetProcAddress调用,这是我从未见过的。 谷歌search,以至于没有关于这个问题的信息。

wglGetProcAddress()实际上会为足够的用户返回NULL的1.1函数,这样我应该真正关心? 还是只有一些倒霉的用户真的坏了GPU驱动程序(在这种情况下,我并不在乎)。

有其他人遇到这个?

我在Wiki文章的讨论页上从技术上回答了这个问题 ,但是:

wglGetProcAddress()实际上会为足够的用户返回NULL的1.1函数,这样我应该真正关心?

它将为所有用户返回NULL。 我已经在NVIDIA和ATI平台(最新的驱动程序和DX10硬件)上尝试过了,他们都是这样做的。

你应该问自己的问题是否对你有意义,是否应该关心。

手动加载OpenGL 1.1函数意味着你必须使用不同的函数名,否则会碰撞gl/gl.h的声明。 或者,您必须定义GL_NO_PROTOTYPES ,但在这种情况下,您将不具有OpenGL 1.0功能。
所以在任何情况下,这样做都意味着没有任何收益会带来额外的麻烦,您可以简单地使用1.1功能而不做任何事情。

话虽如此,我曾试过这一次,因为我认为这是一个巧妙的想法,动态加载一切 (当我清醒了,我想知道是什么给了我这个想法),我可以证实它不(或至少,2年前没有)与nVidia车手合作。
虽然考虑一下,但是没有任何意义的东西是行不通的,这是完全正确的,甚至是好事。