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

王朝vc·作者佚名  2006-01-08
宽屏版  字体: |||超大  

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

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

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

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

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

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

// Get a pointer to the extension function.

typedef void (WINAPI *FNSWAPHINT)(GLint, GLint, GLsizei, GLsizei);

fnSwapHint = (FNSWAPHINT)wglGetProcAddress("glAddSwapHintRectWIN");

// Actual call to glAddSwapHintRectWIN.

if (fnSwapHint != NULL)

(*fnSwapHint)(0, 0, 100, 100);

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有