知識庫(2)-使用Windows OpenGL擴充套件機制來訪問OpenGL擴充套件 (轉)

amyz發表於2007-11-25
知識庫(2)-使用Windows OpenGL擴充套件機制來訪問OpenGL擴充套件 (轉)[@more@]

  使用OpenGL擴充套件機制,OpenGL應用可以訪問非標準的由OpenGL賣主(Vendor)或程式賣主實現的OpenGL。:namespace prefix = o ns = "urn:schemas--com::office" />

  這些函式可能是新的OpenGL函式,並沒有在標準OpenGL庫中實現,或者它們是用來擴充套件已存在的OpenGL函式的功能。

  擴充套件源由擴充套件函式的字尾來指明(或使用擴充套件常量字尾)。例如,字尾WIN表明一個符合規範的擴充套件,EXT或ARB字尾表明該擴充套件由多個賣主定義。

  下面說明如何訪問擴充套件函式:

  wglGetProcAddress函式訪問一個不在標準OpenGL庫中的擴充套件函式。如果該擴充套件函式存在當前的(implementation)中,那麼wglGetProcAddress返回一個用來訪問該函式的函式指標。否則,wglGetProcAddress返回NULL.

  例如,要訪問glAddSHintRectWIN擴充套件函式,如下呼叫wglGetProcAddress:

 


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


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



// Actual call to glAddSwapHintRectWIN.


if (fnSwapHint != NULL)


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


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-984562/,如需轉載,請註明出處,否則將追究法律責任。

相關文章