如何正确定义OpenGL扩展?

时间:2012-12-17 03:30:37

标签: opengl

我使用wglGetProcAddress获取OpenGL扩展。但是在不同的机器上它使用不同的参数:例如对于使用glDrawArrays,我应该使用“glDrawArrays”或“glDrawArraysEXT”调用wglGetProcAddress。如何定义使用方法?

2 个答案:

答案 0 :(得分:2)

有两个相当不错的OpenGL扩展加载库 - GLeeGLEW。 GLEW目前更新了GLee。即使你不想使用它们中的任何一个,它们都是开源的,所以你可能比看看它们是如何做的更糟糕。

您可能还想查看http://www.opengl.org/sdk/这是一个很好的在线OpenGL文档集合。

答案 1 :(得分:1)

  

“glDrawArrays”或“glDrawArraysEXT”

两个!即使它们被命名为相似,并且程序签名和令牌值通常是相同的,它们是不同的扩展,其中细节可能非常不同。

最终由程序员决定使用哪些功能。如果程序使用函数的…EXT变体,那么即使可能存在同名的…ARB或核心函数,也必须加载此函数;它们可能在签名和/或使用的令牌和状态方面有所不同,因此您无法盲目地将其替换为另一个。