/flat/EXAMPLES/OPENGL/OPENGL.ASM

http://soos.googlecode.com/ · Assembly · 614 lines · 589 code · 24 blank · 1 comment · 0 complexity · da282c31dd3a351f2db812da03437734 MD5 · raw file

  1. ; OpenGL programming example
  2. format PE GUI 4.0
  3. entry start
  4. include 'win32a.inc'
  5. include 'opengl.inc'
  6. section '.text' code readable executable
  7. start:
  8. invoke GetModuleHandle,0
  9. mov [wc.hInstance],eax
  10. invoke LoadIcon,0,IDI_APPLICATION
  11. mov [wc.hIcon],eax
  12. invoke LoadCursor,0,IDC_ARROW
  13. mov [wc.hCursor],eax
  14. invoke RegisterClass,wc
  15. invoke CreateWindowEx,0,_class,_title,WS_VISIBLE+WS_OVERLAPPEDWINDOW+WS_CLIPCHILDREN+WS_CLIPSIBLINGS,16,16,432,432,NULL,NULL,[wc.hInstance],NULL
  16. mov [hwnd],eax
  17. msg_loop:
  18. invoke GetMessage,msg,NULL,0,0
  19. or eax,eax
  20. jz end_loop
  21. invoke TranslateMessage,msg
  22. invoke DispatchMessage,msg
  23. jmp msg_loop
  24. end_loop:
  25. invoke ExitProcess,[msg.wParam]
  26. proc WindowProc hwnd,wmsg,wparam,lparam
  27. push ebx esi edi
  28. cmp [wmsg],WM_CREATE
  29. je .wmcreate
  30. cmp [wmsg],WM_SIZE
  31. je .wmsize
  32. cmp [wmsg],WM_PAINT
  33. je .wmpaint
  34. cmp [wmsg],WM_KEYDOWN
  35. je .wmkeydown
  36. cmp [wmsg],WM_DESTROY
  37. je .wmdestroy
  38. .defwndproc:
  39. invoke DefWindowProc,[hwnd],[wmsg],[wparam],[lparam]
  40. jmp .finish
  41. .wmcreate:
  42. invoke GetDC,[hwnd]
  43. mov [hdc],eax
  44. mov edi,pfd
  45. mov ecx,sizeof.PIXELFORMATDESCRIPTOR shr 2
  46. xor eax,eax
  47. rep stosd
  48. mov [pfd.nSize],sizeof.PIXELFORMATDESCRIPTOR
  49. mov [pfd.nVersion],1
  50. mov [pfd.dwFlags],PFD_SUPPORT_OPENGL+PFD_DOUBLEBUFFER+PFD_DRAW_TO_WINDOW
  51. mov [pfd.iLayerType],PFD_MAIN_PLANE
  52. mov [pfd.iPixelType],PFD_TYPE_RGBA
  53. mov [pfd.cColorBits],16
  54. mov [pfd.cDepthBits],16
  55. mov [pfd.cAccumBits],0
  56. mov [pfd.cStencilBits],0
  57. invoke ChoosePixelFormat,[hdc],pfd
  58. invoke SetPixelFormat,[hdc],eax,pfd
  59. invoke wglCreateContext,[hdc]
  60. mov [hrc],eax
  61. invoke wglMakeCurrent,[hdc],[hrc]
  62. invoke GetClientRect,[hwnd],rc
  63. invoke glViewport,0,0,[rc.right],[rc.bottom]
  64. invoke GetTickCount
  65. mov [clock],eax
  66. xor eax,eax
  67. jmp .finish
  68. .wmsize:
  69. invoke GetClientRect,[hwnd],rc
  70. invoke glViewport,0,0,[rc.right],[rc.bottom]
  71. xor eax,eax
  72. jmp .finish
  73. .wmpaint:
  74. invoke GetTickCount
  75. sub eax,[clock]
  76. cmp eax,10
  77. jb .animation_ok
  78. add [clock],eax
  79. invoke glRotatef,[theta],0.0,0.0,1.0
  80. .animation_ok:
  81. invoke glClear,GL_COLOR_BUFFER_BIT
  82. invoke glBegin,GL_QUADS
  83. invoke glColor3f,1.0,0.1,0.1
  84. invoke glVertex3f,-0.6,-0.6,0.0
  85. invoke glColor3f,0.1,0.1,0.1
  86. invoke glVertex3f,0.6,-0.6,0.0
  87. invoke glColor3f,0.1,0.1,1.0
  88. invoke glVertex3f,0.6,0.6,0.0
  89. invoke glColor3f,1.0,0.1,1.0
  90. invoke glVertex3f,-0.6,0.6,0.0
  91. invoke glEnd
  92. invoke SwapBuffers,[hdc]
  93. xor eax,eax
  94. jmp .finish
  95. .wmkeydown:
  96. cmp [wparam],VK_ESCAPE
  97. jne .defwndproc
  98. .wmdestroy:
  99. invoke wglMakeCurrent,0,0
  100. invoke wglDeleteContext,[hrc]
  101. invoke ReleaseDC,[hwnd],[hdc]
  102. invoke PostQuitMessage,0
  103. xor eax,eax
  104. .finish:
  105. pop edi esi ebx
  106. ret
  107. endp
  108. section '.data' data readable writeable
  109. _title db 'OpenGL example',0
  110. _class db 'FASMOPENGL32',0
  111. theta GLfloat 0.6
  112. wc WNDCLASS 0,WindowProc,0,0,NULL,NULL,NULL,NULL,NULL,_class
  113. hwnd dd ?
  114. hdc dd ?
  115. hrc dd ?
  116. msg MSG
  117. rc RECT
  118. pfd PIXELFORMATDESCRIPTOR
  119. clock dd ?
  120. section '.idata' import data readable writeable
  121. library kernel,'KERNEL32.DLL',\
  122. user,'USER32.DLL',\
  123. gdi,'GDI32.DLL',\
  124. opengl,'OPENGL32.DLL',\
  125. glu,'GLU32.DLL'
  126. import kernel,\
  127. GetModuleHandle,'GetModuleHandleA',\
  128. GetTickCount,'GetTickCount',\
  129. ExitProcess,'ExitProcess'
  130. import user,\
  131. RegisterClass,'RegisterClassA',\
  132. CreateWindowEx,'CreateWindowExA',\
  133. DefWindowProc,'DefWindowProcA',\
  134. GetMessage,'GetMessageA',\
  135. TranslateMessage,'TranslateMessage',\
  136. DispatchMessage,'DispatchMessageA',\
  137. LoadCursor,'LoadCursorA',\
  138. LoadIcon,'LoadIconA',\
  139. GetClientRect,'GetClientRect',\
  140. GetDC,'GetDC',\
  141. ReleaseDC,'ReleaseDC',\
  142. PostQuitMessage,'PostQuitMessage'
  143. import gdi,\
  144. ChoosePixelFormat,'ChoosePixelFormat',\
  145. SetPixelFormat,'SetPixelFormat',\
  146. SwapBuffers,'SwapBuffers'
  147. import opengl,\
  148. glAccum,'glAccum',\
  149. glAlphaFunc,'glAlphaFunc',\
  150. glAreTexturesResident,'glAreTexturesResident',\
  151. glArrayElement,'glArrayElement',\
  152. glBegin,'glBegin',\
  153. glBindTexture,'glBindTexture',\
  154. glBitmap,'glBitmap',\
  155. glBlendFunc,'glBlendFunc',\
  156. glCallList,'glCallList',\
  157. glCallLists,'glCallLists',\
  158. glClear,'glClear',\
  159. glClearAccum,'glClearAccum',\
  160. glClearColor,'glClearColor',\
  161. glClearDepth,'glClearDepth',\
  162. glClearIndex,'glClearIndex',\
  163. glClearStencil,'glClearStencil',\
  164. glClipPlane,'glClipPlane',\
  165. glColor3b,'glColor3b',\
  166. glColor3bv,'glColor3bv',\
  167. glColor3d,'glColor3d',\
  168. glColor3dv,'glColor3dv',\
  169. glColor3f,'glColor3f',\
  170. glColor3fv,'glColor3fv',\
  171. glColor3i,'glColor3i',\
  172. glColor3iv,'glColor3iv',\
  173. glColor3s,'glColor3s',\
  174. glColor3sv,'glColor3sv',\
  175. glColor3ub,'glColor3ub',\
  176. glColor3ubv,'glColor3ubv',\
  177. glColor3ui,'glColor3ui',\
  178. glColor3uiv,'glColor3uiv',\
  179. glColor3us,'glColor3us',\
  180. glColor3usv,'glColor3usv',\
  181. glColor4b,'glColor4b',\
  182. glColor4bv,'glColor4bv',\
  183. glColor4d,'glColor4d',\
  184. glColor4dv,'glColor4dv',\
  185. glColor4f,'glColor4f',\
  186. glColor4fv,'glColor4fv',\
  187. glColor4i,'glColor4i',\
  188. glColor4iv,'glColor4iv',\
  189. glColor4s,'glColor4s',\
  190. glColor4sv,'glColor4sv',\
  191. glColor4ub,'glColor4ub',\
  192. glColor4ubv,'glColor4ubv',\
  193. glColor4ui,'glColor4ui',\
  194. glColor4uiv,'glColor4uiv',\
  195. glColor4us,'glColor4us',\
  196. glColor4usv,'glColor4usv',\
  197. glColorMask,'glColorMask',\
  198. glColorMaterial,'glColorMaterial',\
  199. glColorPointer,'glColorPointer',\
  200. glCopyPixels,'glCopyPixels',\
  201. glCopyTexImage1D,'glCopyTexImage1D',\
  202. glCopyTexImage2D,'glCopyTexImage2D',\
  203. glCopyTexSubImage1D,'glCopyTexSubImage1D',\
  204. glCopyTexSubImage2D,'glCopyTexSubImage2D',\
  205. glCullFace,'glCullFace',\
  206. glDeleteLists,'glDeleteLists',\
  207. glDeleteTextures,'glDeleteTextures',\
  208. glDepthFunc,'glDepthFunc',\
  209. glDepthMask,'glDepthMask',\
  210. glDepthRange,'glDepthRange',\
  211. glDisable,'glDisable',\
  212. glDisableClientState,'glDisableClientState',\
  213. glDrawArrays,'glDrawArrays',\
  214. glDrawBuffer,'glDrawBuffer',\
  215. glDrawElements,'glDrawElements',\
  216. glDrawPixels,'glDrawPixels',\
  217. glEdgeFlag,'glEdgeFlag',\
  218. glEdgeFlagPointer,'glEdgeFlagPointer',\
  219. glEdgeFlagv,'glEdgeFlagv',\
  220. glEnable,'glEnable',\
  221. glEnableClientState,'glEnableClientState',\
  222. glEnd,'glEnd',\
  223. glEndList,'glEndList',\
  224. glEvalCoord1d,'glEvalCoord1d',\
  225. glEvalCoord1dv,'glEvalCoord1dv',\
  226. glEvalCoord1f,'glEvalCoord1f',\
  227. glEvalCoord1fv,'glEvalCoord1fv',\
  228. glEvalCoord2d,'glEvalCoord2d',\
  229. glEvalCoord2dv,'glEvalCoord2dv',\
  230. glEvalCoord2f,'glEvalCoord2f',\
  231. glEvalCoord2fv,'glEvalCoord2fv',\
  232. glEvalMesh1,'glEvalMesh1',\
  233. glEvalMesh2,'glEvalMesh2',\
  234. glEvalPoint1,'glEvalPoint1',\
  235. glEvalPoint2,'glEvalPoint2',\
  236. glFeedbackBuffer,'glFeedbackBuffer',\
  237. glFinish,'glFinish',\
  238. glFlush,'glFlush',\
  239. glFogf,'glFogf',\
  240. glFogfv,'glFogfv',\
  241. glFogi,'glFogi',\
  242. glFogiv,'glFogiv',\
  243. glFrontFace,'glFrontFace',\
  244. glFrustum,'glFrustum',\
  245. glGenLists,'glGenLists',\
  246. glGenTextures,'glGenTextures',\
  247. glGetBooleanv,'glGetBooleanv',\
  248. glGetClipPlane,'glGetClipPlane',\
  249. glGetDoublev,'glGetDoublev',\
  250. glGetError,'glGetError',\
  251. glGetFloatv,'glGetFloatv',\
  252. glGetIntegerv,'glGetIntegerv',\
  253. glGetLightfv,'glGetLightfv',\
  254. glGetLightiv,'glGetLightiv',\
  255. glGetMapdv,'glGetMapdv',\
  256. glGetMapfv,'glGetMapfv',\
  257. glGetMapiv,'glGetMapiv',\
  258. glGetMaterialfv,'glGetMaterialfv',\
  259. glGetMaterialiv,'glGetMaterialiv',\
  260. glGetPixelMapfv,'glGetPixelMapfv',\
  261. glGetPixelMapuiv,'glGetPixelMapuiv',\
  262. glGetPixelMapusv,'glGetPixelMapusv',\
  263. glGetPointerv,'glGetPointerv',\
  264. glGetPolygonStipple,'glGetPolygonStipple',\
  265. glGetString,'glGetString',\
  266. glGetTexEnvfv,'glGetTexEnvfv',\
  267. glGetTexEnviv,'glGetTexEnviv',\
  268. glGetTexGendv,'glGetTexGendv',\
  269. glGetTexGenfv,'glGetTexGenfv',\
  270. glGetTexGeniv,'glGetTexGeniv',\
  271. glGetTexImage,'glGetTexImage',\
  272. glGetTexLevelParameterfv,'glGetTexLevelParameterfv',\
  273. glGetTexLevelParameteriv,'glGetTexLevelParameteriv',\
  274. glGetTexParameterfv,'glGetTexParameterfv',\
  275. glGetTexParameteriv,'glGetTexParameteriv',\
  276. glHint,'glHint',\
  277. glIndexMask,'glIndexMask',\
  278. glIndexPointer,'glIndexPointer',\
  279. glIndexd,'glIndexd',\
  280. glIndexdv,'glIndexdv',\
  281. glIndexf,'glIndexf',\
  282. glIndexfv,'glIndexfv',\
  283. glIndexi,'glIndexi',\
  284. glIndexiv,'glIndexiv',\
  285. glIndexs,'glIndexs',\
  286. glIndexsv,'glIndexsv',\
  287. glIndexub,'glIndexub',\
  288. glIndexubv,'glIndexubv',\
  289. glInitNames,'glInitNames',\
  290. glInterleavedArrays,'glInterleavedArrays',\
  291. glIsEnabled,'glIsEnabled',\
  292. glIsList,'glIsList',\
  293. glIsTexture,'glIsTexture',\
  294. glLightModelf,'glLightModelf',\
  295. glLightModelfv,'glLightModelfv',\
  296. glLightModeli,'glLightModeli',\
  297. glLightModeliv,'glLightModeliv',\
  298. glLightf,'glLightf',\
  299. glLightfv,'glLightfv',\
  300. glLighti,'glLighti',\
  301. glLightiv,'glLightiv',\
  302. glLineStipple,'glLineStipple',\
  303. glLineWidth,'glLineWidth',\
  304. glListBase,'glListBase',\
  305. glLoadIdentity,'glLoadIdentity',\
  306. glLoadMatrixd,'glLoadMatrixd',\
  307. glLoadMatrixf,'glLoadMatrixf',\
  308. glLoadName,'glLoadName',\
  309. glLogicOp,'glLogicOp',\
  310. glMap1d,'glMap1d',\
  311. glMap1f,'glMap1f',\
  312. glMap2d,'glMap2d',\
  313. glMap2f,'glMap2f',\
  314. glMapGrid1d,'glMapGrid1d',\
  315. glMapGrid1f,'glMapGrid1f',\
  316. glMapGrid2d,'glMapGrid2d',\
  317. glMapGrid2f,'glMapGrid2f',\
  318. glMaterialf,'glMaterialf',\
  319. glMaterialfv,'glMaterialfv',\
  320. glMateriali,'glMateriali',\
  321. glMaterialiv,'glMaterialiv',\
  322. glMatrixMode,'glMatrixMode',\
  323. glMultMatrixd,'glMultMatrixd',\
  324. glMultMatrixf,'glMultMatrixf',\
  325. glNewList,'glNewList',\
  326. glNormal3b,'glNormal3b',\
  327. glNormal3bv,'glNormal3bv',\
  328. glNormal3d,'glNormal3d',\
  329. glNormal3dv,'glNormal3dv',\
  330. glNormal3f,'glNormal3f',\
  331. glNormal3fv,'glNormal3fv',\
  332. glNormal3i,'glNormal3i',\
  333. glNormal3iv,'glNormal3iv',\
  334. glNormal3s,'glNormal3s',\
  335. glNormal3sv,'glNormal3sv',\
  336. glNormalPointer,'glNormalPointer',\
  337. glOrtho,'glOrtho',\
  338. glPassThrough,'glPassThrough',\
  339. glPixelMapfv,'glPixelMapfv',\
  340. glPixelMapuiv,'glPixelMapuiv',\
  341. glPixelMapusv,'glPixelMapusv',\
  342. glPixelStoref,'glPixelStoref',\
  343. glPixelStorei,'glPixelStorei',\
  344. glPixelTransferf,'glPixelTransferf',\
  345. glPixelTransferi,'glPixelTransferi',\
  346. glPixelZoom,'glPixelZoom',\
  347. glPointSize,'glPointSize',\
  348. glPolygonMode,'glPolygonMode',\
  349. glPolygonOffset,'glPolygonOffset',\
  350. glPolygonStipple,'glPolygonStipple',\
  351. glPopAttrib,'glPopAttrib',\
  352. glPopClientAttrib,'glPopClientAttrib',\
  353. glPopMatrix,'glPopMatrix',\
  354. glPopName,'glPopName',\
  355. glPrioritizeTextures,'glPrioritizeTextures',\
  356. glPushAttrib,'glPushAttrib',\
  357. glPushClientAttrib,'glPushClientAttrib',\
  358. glPushMatrix,'glPushMatrix',\
  359. glPushName,'glPushName',\
  360. glRasterPos2d,'glRasterPos2d',\
  361. glRasterPos2dv,'glRasterPos2dv',\
  362. glRasterPos2f,'glRasterPos2f',\
  363. glRasterPos2fv,'glRasterPos2fv',\
  364. glRasterPos2i,'glRasterPos2i',\
  365. glRasterPos2iv,'glRasterPos2iv',\
  366. glRasterPos2s,'glRasterPos2s',\
  367. glRasterPos2sv,'glRasterPos2sv',\
  368. glRasterPos3d,'glRasterPos3d',\
  369. glRasterPos3dv,'glRasterPos3dv',\
  370. glRasterPos3f,'glRasterPos3f',\
  371. glRasterPos3fv,'glRasterPos3fv',\
  372. glRasterPos3i,'glRasterPos3i',\
  373. glRasterPos3iv,'glRasterPos3iv',\
  374. glRasterPos3s,'glRasterPos3s',\
  375. glRasterPos3sv,'glRasterPos3sv',\
  376. glRasterPos4d,'glRasterPos4d',\
  377. glRasterPos4dv,'glRasterPos4dv',\
  378. glRasterPos4f,'glRasterPos4f',\
  379. glRasterPos4fv,'glRasterPos4fv',\
  380. glRasterPos4i,'glRasterPos4i',\
  381. glRasterPos4iv,'glRasterPos4iv',\
  382. glRasterPos4s,'glRasterPos4s',\
  383. glRasterPos4sv,'glRasterPos4sv',\
  384. glReadBuffer,'glReadBuffer',\
  385. glReadPixels,'glReadPixels',\
  386. glRectd,'glRectd',\
  387. glRectdv,'glRectdv',\
  388. glRectf,'glRectf',\
  389. glRectfv,'glRectfv',\
  390. glRecti,'glRecti',\
  391. glRectiv,'glRectiv',\
  392. glRects,'glRects',\
  393. glRectsv,'glRectsv',\
  394. glRenderMode,'glRenderMode',\
  395. glRotated,'glRotated',\
  396. glRotatef,'glRotatef',\
  397. glScaled,'glScaled',\
  398. glScalef,'glScalef',\
  399. glScissor,'glScissor',\
  400. glSelectBuffer,'glSelectBuffer',\
  401. glShadeModel,'glShadeModel',\
  402. glStencilFunc,'glStencilFunc',\
  403. glStencilMask,'glStencilMask',\
  404. glStencilOp,'glStencilOp',\
  405. glTexCoord1d,'glTexCoord1d',\
  406. glTexCoord1dv,'glTexCoord1dv',\
  407. glTexCoord1f,'glTexCoord1f',\
  408. glTexCoord1fv,'glTexCoord1fv',\
  409. glTexCoord1i,'glTexCoord1i',\
  410. glTexCoord1iv,'glTexCoord1iv',\
  411. glTexCoord1s,'glTexCoord1s',\
  412. glTexCoord1sv,'glTexCoord1sv',\
  413. glTexCoord2d,'glTexCoord2d',\
  414. glTexCoord2dv,'glTexCoord2dv',\
  415. glTexCoord2f,'glTexCoord2f',\
  416. glTexCoord2fv,'glTexCoord2fv',\
  417. glTexCoord2i,'glTexCoord2i',\
  418. glTexCoord2iv,'glTexCoord2iv',\
  419. glTexCoord2s,'glTexCoord2s',\
  420. glTexCoord2sv,'glTexCoord2sv',\
  421. glTexCoord3d,'glTexCoord3d',\
  422. glTexCoord3dv,'glTexCoord3dv',\
  423. glTexCoord3f,'glTexCoord3f',\
  424. glTexCoord3fv,'glTexCoord3fv',\
  425. glTexCoord3i,'glTexCoord3i',\
  426. glTexCoord3iv,'glTexCoord3iv',\
  427. glTexCoord3s,'glTexCoord3s',\
  428. glTexCoord3sv,'glTexCoord3sv',\
  429. glTexCoord4d,'glTexCoord4d',\
  430. glTexCoord4dv,'glTexCoord4dv',\
  431. glTexCoord4f,'glTexCoord4f',\
  432. glTexCoord4fv,'glTexCoord4fv',\
  433. glTexCoord4i,'glTexCoord4i',\
  434. glTexCoord4iv,'glTexCoord4iv',\
  435. glTexCoord4s,'glTexCoord4s',\
  436. glTexCoord4sv,'glTexCoord4sv',\
  437. glTexCoordPointer,'glTexCoordPointer',\
  438. glTexEnvf,'glTexEnvf',\
  439. glTexEnvfv,'glTexEnvfv',\
  440. glTexEnvi,'glTexEnvi',\
  441. glTexEnviv,'glTexEnviv',\
  442. glTexGend,'glTexGend',\
  443. glTexGendv,'glTexGendv',\
  444. glTexGenf,'glTexGenf',\
  445. glTexGenfv,'glTexGenfv',\
  446. glTexGeni,'glTexGeni',\
  447. glTexGeniv,'glTexGeniv',\
  448. glTexImage1D,'glTexImage1D',\
  449. glTexImage2D,'glTexImage2D',\
  450. glTexParameterf,'glTexParameterf',\
  451. glTexParameterfv,'glTexParameterfv',\
  452. glTexParameteri,'glTexParameteri',\
  453. glTexParameteriv,'glTexParameteriv',\
  454. glTexSubImage1D,'glTexSubImage1D',\
  455. glTexSubImage2D,'glTexSubImage2D',\
  456. glTranslated,'glTranslated',\
  457. glTranslatef,'glTranslatef',\
  458. glVertex2d,'glVertex2d',\
  459. glVertex2dv,'glVertex2dv',\
  460. glVertex2f,'glVertex2f',\
  461. glVertex2fv,'glVertex2fv',\
  462. glVertex2i,'glVertex2i',\
  463. glVertex2iv,'glVertex2iv',\
  464. glVertex2s,'glVertex2s',\
  465. glVertex2sv,'glVertex2sv',\
  466. glVertex3d,'glVertex3d',\
  467. glVertex3dv,'glVertex3dv',\
  468. glVertex3f,'glVertex3f',\
  469. glVertex3fv,'glVertex3fv',\
  470. glVertex3i,'glVertex3i',\
  471. glVertex3iv,'glVertex3iv',\
  472. glVertex3s,'glVertex3s',\
  473. glVertex3sv,'glVertex3sv',\
  474. glVertex4d,'glVertex4d',\
  475. glVertex4dv,'glVertex4dv',\
  476. glVertex4f,'glVertex4f',\
  477. glVertex4fv,'glVertex4fv',\
  478. glVertex4i,'glVertex4i',\
  479. glVertex4iv,'glVertex4iv',\
  480. glVertex4s,'glVertex4s',\
  481. glVertex4sv,'glVertex4sv',\
  482. glVertexPointer,'glVertexPointer',\
  483. glViewport,'glViewport',\
  484. wglGetProcAddress,'wglGetProcAddress',\
  485. wglCopyContext,'wglCopyContext',\
  486. wglCreateContext,'wglCreateContext',\
  487. wglCreateLayerContext,'wglCreateLayerContext',\
  488. wglDeleteContext,'wglDeleteContext',\
  489. wglDescribeLayerPlane,'wglDescribeLayerPlane',\
  490. wglGetCurrentContext,'wglGetCurrentContext',\
  491. wglGetCurrentDC,'wglGetCurrentDC',\
  492. wglGetLayerPaletteEntries,'wglGetLayerPaletteEntries',\
  493. wglMakeCurrent,'wglMakeCurrent',\
  494. wglRealizeLayerPalette,'wglRealizeLayerPalette',\
  495. wglSetLayerPaletteEntries,'wglSetLayerPaletteEntries',\
  496. wglShareLists,'wglShareLists',\
  497. wglSwapLayerBuffers,'wglSwapLayerBuffers',\
  498. wglSwapMultipleBuffers,'wglSwapMultipleBuffers',\
  499. wglUseFontBitmapsA,'wglUseFontBitmapsA',\
  500. wglUseFontOutlinesA,'wglUseFontOutlinesA',\
  501. wglUseFontBitmapsW,'wglUseFontBitmapsW',\
  502. wglUseFontOutlinesW,'wglUseFontOutlinesW',\
  503. glDrawRangeElements,'glDrawRangeElements',\
  504. glTexImage3D,'glTexImage3D',\
  505. glBlendColor,'glBlendColor',\
  506. glBlendEquation,'glBlendEquation',\
  507. glColorSubTable,'glColorSubTable',\
  508. glCopyColorSubTable,'glCopyColorSubTable',\
  509. glColorTable,'glColorTable',\
  510. glCopyColorTable,'glCopyColorTable',\
  511. glColorTableParameteriv,'glColorTableParameteriv',\
  512. glColorTableParameterfv,'glColorTableParameterfv',\
  513. glGetColorTable,'glGetColorTable',\
  514. glGetColorTableParameteriv,'glGetColorTableParameteriv',\
  515. glGetColorTableParameterfv,'glGetColorTableParameterfv',\
  516. glConvolutionFilter1D,'glConvolutionFilter1D',\
  517. glConvolutionFilter2D,'glConvolutionFilter2D',\
  518. glCopyConvolutionFilter1D,'glCopyConvolutionFilter1D',\
  519. glCopyConvolutionFilter2D,'glCopyConvolutionFilter2D',\
  520. glGetConvolutionFilter,'glGetConvolutionFilter',\
  521. glSeparableFilter2D,'glSeparableFilter2D',\
  522. glGetSeparableFilter,'glGetSeparableFilter',\
  523. glConvolutionParameteri,'glConvolutionParameteri',\
  524. glConvolutionParameteriv,'glConvolutionParameteriv',\
  525. glConvolutionParameterf,'glConvolutionParameterf',\
  526. glConvolutionParameterfv,'glConvolutionParameterfv',\
  527. glGetConvolutionParameteriv,'glGetConvolutionParameteriv',\
  528. glGetConvolutionParameterfv,'glGetConvolutionParameterfv',\
  529. glHistogram,'glHistogram',\
  530. glResetHistogram,'glResetHistogram',\
  531. glGetHistogram,'glGetHistogram',\
  532. glGetHistogramParameteriv,'glGetHistogramParameteriv',\
  533. glGetHistogramParameterfv,'glGetHistogramParameterfv',\
  534. glMinmax,'glMinmax',\
  535. glResetMinmax,'glResetMinmax',\
  536. glGetMinmax,'glGetMinmax',\
  537. glGetMinmaxParameteriv,'glGetMinmaxParameteriv',\
  538. glGetMinmaxParameterfv,'glGetMinmaxParameterfv'
  539. import glu,\
  540. gluBeginCurve,'gluBeginCurve',\
  541. gluBeginPolygon,'gluBeginPolygon',\
  542. gluBeginSurface,'gluBeginSurface',\
  543. gluBeginTrim,'gluBeginTrim',\
  544. gluBuild1DMipmaps,'gluBuild1DMipmaps',\
  545. gluBuild2DMipmaps,'gluBuild2DMipmaps',\
  546. gluCylinder,'gluCylinder',\
  547. gluDeleteNurbsRenderer,'gluDeleteNurbsRenderer',\
  548. gluDeleteQuadric,'gluDeleteQuadric',\
  549. gluDeleteTess,'gluDeleteTess',\
  550. gluDisk,'gluDisk',\
  551. gluEndCurve,'gluEndCurve',\
  552. gluEndPolygon,'gluEndPolygon',\
  553. gluEndSurface,'gluEndSurface',\
  554. gluEndTrim,'gluEndTrim',\
  555. gluErrorString,'gluErrorString',\
  556. gluGetNurbsProperty,'gluGetNurbsProperty',\
  557. gluGetString,'gluGetString',\
  558. gluGetTessProperty,'gluGetTessProperty',\
  559. gluLoadSamplingMatrices,'gluLoadSamplingMatrices',\
  560. gluLookAt,'gluLookAt',\
  561. gluNewNurbsRenderer,'gluNewNurbsRenderer',\
  562. gluNewQuadric,'gluNewQuadric',\
  563. gluNewTess,'gluNewTess',\
  564. gluNextContour,'gluNextContour',\
  565. gluNurbsCallback,'gluNurbsCallback',\
  566. gluNurbsCurve,'gluNurbsCurve',\
  567. gluNurbsProperty,'gluNurbsProperty',\
  568. gluNurbsSurface,'gluNurbsSurface',\
  569. gluOrtho2D,'gluOrtho2D',\
  570. gluPartialDisk,'gluPartialDisk',\
  571. gluPerspective,'gluPerspective',\
  572. gluPickMatrix,'gluPickMatrix',\
  573. gluProject,'gluProject',\
  574. gluPwlCurve,'gluPwlCurve',\
  575. gluQuadricCallback,'gluQuadricCallback',\
  576. gluQuadricDrawStyle,'gluQuadricDrawStyle',\
  577. gluQuadricNormals,'gluQuadricNormals',\
  578. gluQuadricOrientation,'gluQuadricOrientation',\
  579. gluQuadricTexture,'gluQuadricTexture',\
  580. gluScaleImage,'gluScaleImage',\
  581. gluSphere,'gluSphere',\
  582. gluTessBeginContour,'gluTessBeginContour',\
  583. gluTessBeginPolygon,'gluTessBeginPolygon',\
  584. gluTessCallback,'gluTessCallback',\
  585. gluTessEndContour,'gluTessEndContour',\
  586. gluTessEndPolygon,'gluTessEndPolygon',\
  587. gluTessNormal,'gluTessNormal',\
  588. gluTessProperty,'gluTessProperty',\
  589. gluTessVertex,'gluTessVertex',\
  590. gluUnProject,'gluUnProject'