知识库(2)-使用Windows OpenGL扩展机制来访问OpenGL扩展

发表于:2007-07-01来源:作者:点击数: 标签:
使用OpenGL扩展机制,OpenGL应用程序可以访问非标准的由OpenGL卖主(Vendor)或显卡驱动程序卖主实现的OpenGL函数。 这些函数可能是新的OpenGL函数,并没有在标准OpenGL库中实现,或者它们是用来扩展已存在的OpenGL函数的功能。 扩展源由扩展函数的后缀来指明(

     使用OpenGL扩展机制,OpenGL应用程序可以访问非标准的由OpenGL卖主(Vendor)或显卡驱动程序卖主实现的OpenGL函数。

     这些函数可能是新的OpenGL函数,并没有在标准OpenGL库中实现,或者它们是用来扩展已存在的OpenGL函数的功能。

     扩展源由扩展函数的后缀来指明(或使用扩展常量后缀)。例如,后缀WIN表明一个符合Windows规范的扩展,EXT或ARB后缀表明该扩展由多个卖主定义。

     下面说明如何访问扩展函数:

     调用wglGetProcAddress函数访问一个不在标准OpenGL库中的扩展函数。如果该扩展函数存在当前的执行(implementation)中,那么wglGetProcAddress返回一个用来访问该函数的函数指针。否则,wglGetProcAddress返回NULL.

    例如,要访问glAddSwapHintRectWIN扩展函数,如下调用wglGetProcAddress:

    

typedef void (WINAPI *FNSWAPHINT)(GLint, GLint, GLsizei, GLsizei);fnSwapHint = (FNSWAPHINT)wglGetProcAddress("glAddSwapHintRectWIN"); // Actual call to glAddSwapHintRectWIN.if (fnSwapHint != NULL)           (*fnSwapHint)(0, 0, 100, 100);

原文转自:http://www.ltesting.net