vispy 0.15.0__cp312-cp312-macosx_10_13_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of vispy might be problematic. Click here for more details.

Files changed (521) hide show
  1. vispy/__init__.py +33 -0
  2. vispy/app/__init__.py +15 -0
  3. vispy/app/_default_app.py +76 -0
  4. vispy/app/_detect_eventloop.py +148 -0
  5. vispy/app/application.py +263 -0
  6. vispy/app/backends/__init__.py +52 -0
  7. vispy/app/backends/_egl.py +264 -0
  8. vispy/app/backends/_glfw.py +513 -0
  9. vispy/app/backends/_jupyter_rfb.py +278 -0
  10. vispy/app/backends/_offscreen_util.py +121 -0
  11. vispy/app/backends/_osmesa.py +235 -0
  12. vispy/app/backends/_pyglet.py +451 -0
  13. vispy/app/backends/_pyqt4.py +36 -0
  14. vispy/app/backends/_pyqt5.py +36 -0
  15. vispy/app/backends/_pyqt6.py +40 -0
  16. vispy/app/backends/_pyside.py +37 -0
  17. vispy/app/backends/_pyside2.py +52 -0
  18. vispy/app/backends/_pyside6.py +53 -0
  19. vispy/app/backends/_qt.py +1003 -0
  20. vispy/app/backends/_sdl2.py +444 -0
  21. vispy/app/backends/_template.py +244 -0
  22. vispy/app/backends/_test.py +8 -0
  23. vispy/app/backends/_tk.py +800 -0
  24. vispy/app/backends/_wx.py +476 -0
  25. vispy/app/backends/tests/__init__.py +0 -0
  26. vispy/app/backends/tests/test_offscreen_util.py +52 -0
  27. vispy/app/backends/tests/test_rfb.py +77 -0
  28. vispy/app/base.py +294 -0
  29. vispy/app/canvas.py +828 -0
  30. vispy/app/qt.py +92 -0
  31. vispy/app/tests/__init__.py +0 -0
  32. vispy/app/tests/qt-designer.ui +58 -0
  33. vispy/app/tests/test_app.py +442 -0
  34. vispy/app/tests/test_backends.py +164 -0
  35. vispy/app/tests/test_canvas.py +122 -0
  36. vispy/app/tests/test_context.py +92 -0
  37. vispy/app/tests/test_qt.py +47 -0
  38. vispy/app/tests/test_simultaneous.py +134 -0
  39. vispy/app/timer.py +174 -0
  40. vispy/color/__init__.py +17 -0
  41. vispy/color/_color_dict.py +193 -0
  42. vispy/color/color_array.py +447 -0
  43. vispy/color/color_space.py +181 -0
  44. vispy/color/colormap.py +1213 -0
  45. vispy/color/tests/__init__.py +0 -0
  46. vispy/color/tests/test_color.py +378 -0
  47. vispy/conftest.py +12 -0
  48. vispy/ext/__init__.py +0 -0
  49. vispy/ext/cocoapy.py +1522 -0
  50. vispy/ext/cubehelix.py +138 -0
  51. vispy/ext/egl.py +375 -0
  52. vispy/ext/fontconfig.py +118 -0
  53. vispy/ext/gdi32plus.py +206 -0
  54. vispy/ext/osmesa.py +105 -0
  55. vispy/geometry/__init__.py +23 -0
  56. vispy/geometry/_triangulation_debugger.py +171 -0
  57. vispy/geometry/calculations.py +162 -0
  58. vispy/geometry/curves.py +399 -0
  59. vispy/geometry/generation.py +643 -0
  60. vispy/geometry/isocurve.py +175 -0
  61. vispy/geometry/isosurface.py +465 -0
  62. vispy/geometry/meshdata.py +700 -0
  63. vispy/geometry/normals.py +78 -0
  64. vispy/geometry/parametric.py +56 -0
  65. vispy/geometry/polygon.py +137 -0
  66. vispy/geometry/rect.py +210 -0
  67. vispy/geometry/tests/__init__.py +0 -0
  68. vispy/geometry/tests/test_calculations.py +23 -0
  69. vispy/geometry/tests/test_generation.py +56 -0
  70. vispy/geometry/tests/test_meshdata.py +106 -0
  71. vispy/geometry/tests/test_triangulation.py +594 -0
  72. vispy/geometry/torusknot.py +142 -0
  73. vispy/geometry/triangulation.py +876 -0
  74. vispy/gloo/__init__.py +56 -0
  75. vispy/gloo/buffer.py +505 -0
  76. vispy/gloo/context.py +272 -0
  77. vispy/gloo/framebuffer.py +257 -0
  78. vispy/gloo/gl/__init__.py +234 -0
  79. vispy/gloo/gl/_constants.py +332 -0
  80. vispy/gloo/gl/_es2.py +986 -0
  81. vispy/gloo/gl/_gl2.py +1365 -0
  82. vispy/gloo/gl/_proxy.py +499 -0
  83. vispy/gloo/gl/_pyopengl2.py +362 -0
  84. vispy/gloo/gl/dummy.py +24 -0
  85. vispy/gloo/gl/es2.py +62 -0
  86. vispy/gloo/gl/gl2.py +98 -0
  87. vispy/gloo/gl/glplus.py +168 -0
  88. vispy/gloo/gl/pyopengl2.py +97 -0
  89. vispy/gloo/gl/tests/__init__.py +0 -0
  90. vispy/gloo/gl/tests/test_basics.py +282 -0
  91. vispy/gloo/gl/tests/test_functionality.py +568 -0
  92. vispy/gloo/gl/tests/test_names.py +246 -0
  93. vispy/gloo/gl/tests/test_use.py +71 -0
  94. vispy/gloo/glir.py +1824 -0
  95. vispy/gloo/globject.py +101 -0
  96. vispy/gloo/preprocessor.py +67 -0
  97. vispy/gloo/program.py +543 -0
  98. vispy/gloo/tests/__init__.py +0 -0
  99. vispy/gloo/tests/test_buffer.py +558 -0
  100. vispy/gloo/tests/test_context.py +119 -0
  101. vispy/gloo/tests/test_framebuffer.py +195 -0
  102. vispy/gloo/tests/test_glir.py +307 -0
  103. vispy/gloo/tests/test_globject.py +35 -0
  104. vispy/gloo/tests/test_program.py +302 -0
  105. vispy/gloo/tests/test_texture.py +732 -0
  106. vispy/gloo/tests/test_use_gloo.py +187 -0
  107. vispy/gloo/tests/test_util.py +60 -0
  108. vispy/gloo/tests/test_wrappers.py +261 -0
  109. vispy/gloo/texture.py +1046 -0
  110. vispy/gloo/util.py +129 -0
  111. vispy/gloo/wrappers.py +762 -0
  112. vispy/glsl/__init__.py +42 -0
  113. vispy/glsl/antialias/antialias.glsl +7 -0
  114. vispy/glsl/antialias/cap-butt.glsl +31 -0
  115. vispy/glsl/antialias/cap-round.glsl +29 -0
  116. vispy/glsl/antialias/cap-square.glsl +30 -0
  117. vispy/glsl/antialias/cap-triangle-in.glsl +30 -0
  118. vispy/glsl/antialias/cap-triangle-out.glsl +30 -0
  119. vispy/glsl/antialias/cap.glsl +67 -0
  120. vispy/glsl/antialias/caps.glsl +67 -0
  121. vispy/glsl/antialias/filled.glsl +50 -0
  122. vispy/glsl/antialias/outline.glsl +40 -0
  123. vispy/glsl/antialias/stroke.glsl +43 -0
  124. vispy/glsl/arrowheads/angle.glsl +99 -0
  125. vispy/glsl/arrowheads/arrowheads.frag +60 -0
  126. vispy/glsl/arrowheads/arrowheads.glsl +12 -0
  127. vispy/glsl/arrowheads/arrowheads.vert +83 -0
  128. vispy/glsl/arrowheads/curved.glsl +48 -0
  129. vispy/glsl/arrowheads/inhibitor.glsl +26 -0
  130. vispy/glsl/arrowheads/stealth.glsl +46 -0
  131. vispy/glsl/arrowheads/triangle.glsl +97 -0
  132. vispy/glsl/arrowheads/util.glsl +13 -0
  133. vispy/glsl/arrows/angle-30.glsl +12 -0
  134. vispy/glsl/arrows/angle-60.glsl +12 -0
  135. vispy/glsl/arrows/angle-90.glsl +12 -0
  136. vispy/glsl/arrows/arrow.frag +39 -0
  137. vispy/glsl/arrows/arrow.vert +49 -0
  138. vispy/glsl/arrows/arrows.glsl +17 -0
  139. vispy/glsl/arrows/common.glsl +187 -0
  140. vispy/glsl/arrows/curved.glsl +63 -0
  141. vispy/glsl/arrows/stealth.glsl +50 -0
  142. vispy/glsl/arrows/triangle-30.glsl +12 -0
  143. vispy/glsl/arrows/triangle-60.glsl +12 -0
  144. vispy/glsl/arrows/triangle-90.glsl +12 -0
  145. vispy/glsl/arrows/util.glsl +98 -0
  146. vispy/glsl/build_spatial_filters.py +660 -0
  147. vispy/glsl/collections/agg-fast-path.frag +20 -0
  148. vispy/glsl/collections/agg-fast-path.vert +78 -0
  149. vispy/glsl/collections/agg-glyph.frag +60 -0
  150. vispy/glsl/collections/agg-glyph.vert +33 -0
  151. vispy/glsl/collections/agg-marker.frag +35 -0
  152. vispy/glsl/collections/agg-marker.vert +48 -0
  153. vispy/glsl/collections/agg-path.frag +55 -0
  154. vispy/glsl/collections/agg-path.vert +166 -0
  155. vispy/glsl/collections/agg-point.frag +21 -0
  156. vispy/glsl/collections/agg-point.vert +35 -0
  157. vispy/glsl/collections/agg-segment.frag +32 -0
  158. vispy/glsl/collections/agg-segment.vert +75 -0
  159. vispy/glsl/collections/marker.frag +38 -0
  160. vispy/glsl/collections/marker.vert +48 -0
  161. vispy/glsl/collections/raw-path.frag +15 -0
  162. vispy/glsl/collections/raw-path.vert +24 -0
  163. vispy/glsl/collections/raw-point.frag +14 -0
  164. vispy/glsl/collections/raw-point.vert +31 -0
  165. vispy/glsl/collections/raw-segment.frag +18 -0
  166. vispy/glsl/collections/raw-segment.vert +26 -0
  167. vispy/glsl/collections/raw-triangle.frag +13 -0
  168. vispy/glsl/collections/raw-triangle.vert +26 -0
  169. vispy/glsl/collections/sdf-glyph-ticks.vert +69 -0
  170. vispy/glsl/collections/sdf-glyph.frag +80 -0
  171. vispy/glsl/collections/sdf-glyph.vert +59 -0
  172. vispy/glsl/collections/tick-labels.vert +71 -0
  173. vispy/glsl/colormaps/autumn.glsl +20 -0
  174. vispy/glsl/colormaps/blues.glsl +20 -0
  175. vispy/glsl/colormaps/color-space.glsl +17 -0
  176. vispy/glsl/colormaps/colormaps.glsl +24 -0
  177. vispy/glsl/colormaps/cool.glsl +20 -0
  178. vispy/glsl/colormaps/fire.glsl +21 -0
  179. vispy/glsl/colormaps/gray.glsl +20 -0
  180. vispy/glsl/colormaps/greens.glsl +20 -0
  181. vispy/glsl/colormaps/hot.glsl +22 -0
  182. vispy/glsl/colormaps/ice.glsl +20 -0
  183. vispy/glsl/colormaps/icefire.glsl +23 -0
  184. vispy/glsl/colormaps/parse.py +40 -0
  185. vispy/glsl/colormaps/reds.glsl +20 -0
  186. vispy/glsl/colormaps/spring.glsl +20 -0
  187. vispy/glsl/colormaps/summer.glsl +20 -0
  188. vispy/glsl/colormaps/user.glsl +22 -0
  189. vispy/glsl/colormaps/util.glsl +41 -0
  190. vispy/glsl/colormaps/wheel.glsl +21 -0
  191. vispy/glsl/colormaps/winter.glsl +20 -0
  192. vispy/glsl/lines/agg.frag +320 -0
  193. vispy/glsl/lines/agg.vert +241 -0
  194. vispy/glsl/markers/arrow.glsl +12 -0
  195. vispy/glsl/markers/asterisk.glsl +16 -0
  196. vispy/glsl/markers/chevron.glsl +14 -0
  197. vispy/glsl/markers/clover.glsl +20 -0
  198. vispy/glsl/markers/club.glsl +31 -0
  199. vispy/glsl/markers/cross.glsl +17 -0
  200. vispy/glsl/markers/diamond.glsl +12 -0
  201. vispy/glsl/markers/disc.glsl +9 -0
  202. vispy/glsl/markers/ellipse.glsl +67 -0
  203. vispy/glsl/markers/hbar.glsl +9 -0
  204. vispy/glsl/markers/heart.glsl +15 -0
  205. vispy/glsl/markers/infinity.glsl +15 -0
  206. vispy/glsl/markers/marker-sdf.frag +74 -0
  207. vispy/glsl/markers/marker-sdf.vert +41 -0
  208. vispy/glsl/markers/marker.frag +36 -0
  209. vispy/glsl/markers/marker.vert +46 -0
  210. vispy/glsl/markers/markers.glsl +24 -0
  211. vispy/glsl/markers/pin.glsl +18 -0
  212. vispy/glsl/markers/ring.glsl +11 -0
  213. vispy/glsl/markers/spade.glsl +28 -0
  214. vispy/glsl/markers/square.glsl +10 -0
  215. vispy/glsl/markers/tag.glsl +11 -0
  216. vispy/glsl/markers/triangle.glsl +14 -0
  217. vispy/glsl/markers/vbar.glsl +9 -0
  218. vispy/glsl/math/circle-through-2-points.glsl +30 -0
  219. vispy/glsl/math/constants.glsl +48 -0
  220. vispy/glsl/math/double.glsl +114 -0
  221. vispy/glsl/math/functions.glsl +20 -0
  222. vispy/glsl/math/point-to-line-distance.glsl +31 -0
  223. vispy/glsl/math/point-to-line-projection.glsl +29 -0
  224. vispy/glsl/math/signed-line-distance.glsl +27 -0
  225. vispy/glsl/math/signed-segment-distance.glsl +30 -0
  226. vispy/glsl/misc/regular-grid.frag +244 -0
  227. vispy/glsl/misc/spatial-filters.frag +1407 -0
  228. vispy/glsl/misc/viewport-NDC.glsl +20 -0
  229. vispy/glsl/transforms/azimuthal-equal-area.glsl +32 -0
  230. vispy/glsl/transforms/azimuthal-equidistant.glsl +38 -0
  231. vispy/glsl/transforms/hammer.glsl +44 -0
  232. vispy/glsl/transforms/identity.glsl +6 -0
  233. vispy/glsl/transforms/identity_forward.glsl +23 -0
  234. vispy/glsl/transforms/identity_inverse.glsl +23 -0
  235. vispy/glsl/transforms/linear-scale.glsl +127 -0
  236. vispy/glsl/transforms/log-scale.glsl +126 -0
  237. vispy/glsl/transforms/mercator-transverse-forward.glsl +40 -0
  238. vispy/glsl/transforms/mercator-transverse-inverse.glsl +40 -0
  239. vispy/glsl/transforms/panzoom.glsl +10 -0
  240. vispy/glsl/transforms/polar.glsl +41 -0
  241. vispy/glsl/transforms/position.glsl +44 -0
  242. vispy/glsl/transforms/power-scale.glsl +139 -0
  243. vispy/glsl/transforms/projection.glsl +7 -0
  244. vispy/glsl/transforms/pvm.glsl +13 -0
  245. vispy/glsl/transforms/rotate.glsl +45 -0
  246. vispy/glsl/transforms/trackball.glsl +15 -0
  247. vispy/glsl/transforms/translate.glsl +35 -0
  248. vispy/glsl/transforms/transverse_mercator.glsl +38 -0
  249. vispy/glsl/transforms/viewport-clipping.glsl +14 -0
  250. vispy/glsl/transforms/viewport-transform.glsl +16 -0
  251. vispy/glsl/transforms/viewport.glsl +50 -0
  252. vispy/glsl/transforms/x.glsl +24 -0
  253. vispy/glsl/transforms/y.glsl +19 -0
  254. vispy/glsl/transforms/z.glsl +14 -0
  255. vispy/io/__init__.py +20 -0
  256. vispy/io/_data/spatial-filters.npy +0 -0
  257. vispy/io/datasets.py +94 -0
  258. vispy/io/image.py +231 -0
  259. vispy/io/mesh.py +122 -0
  260. vispy/io/stl.py +167 -0
  261. vispy/io/tests/__init__.py +0 -0
  262. vispy/io/tests/test_image.py +47 -0
  263. vispy/io/tests/test_io.py +121 -0
  264. vispy/io/wavefront.py +350 -0
  265. vispy/plot/__init__.py +36 -0
  266. vispy/plot/fig.py +58 -0
  267. vispy/plot/plotwidget.py +522 -0
  268. vispy/plot/tests/__init__.py +0 -0
  269. vispy/plot/tests/test_plot.py +46 -0
  270. vispy/scene/__init__.py +43 -0
  271. vispy/scene/cameras/__init__.py +27 -0
  272. vispy/scene/cameras/_base.py +38 -0
  273. vispy/scene/cameras/arcball.py +105 -0
  274. vispy/scene/cameras/base_camera.py +551 -0
  275. vispy/scene/cameras/fly.py +474 -0
  276. vispy/scene/cameras/magnify.py +163 -0
  277. vispy/scene/cameras/panzoom.py +311 -0
  278. vispy/scene/cameras/perspective.py +338 -0
  279. vispy/scene/cameras/tests/__init__.py +0 -0
  280. vispy/scene/cameras/tests/test_cameras.py +27 -0
  281. vispy/scene/cameras/tests/test_link.py +53 -0
  282. vispy/scene/cameras/tests/test_perspective.py +122 -0
  283. vispy/scene/cameras/turntable.py +183 -0
  284. vispy/scene/canvas.py +639 -0
  285. vispy/scene/events.py +85 -0
  286. vispy/scene/node.py +644 -0
  287. vispy/scene/subscene.py +20 -0
  288. vispy/scene/tests/__init__.py +0 -0
  289. vispy/scene/tests/test_canvas.py +119 -0
  290. vispy/scene/tests/test_node.py +142 -0
  291. vispy/scene/tests/test_visuals.py +141 -0
  292. vispy/scene/visuals.py +276 -0
  293. vispy/scene/widgets/__init__.py +18 -0
  294. vispy/scene/widgets/anchor.py +25 -0
  295. vispy/scene/widgets/axis.py +88 -0
  296. vispy/scene/widgets/colorbar.py +176 -0
  297. vispy/scene/widgets/console.py +351 -0
  298. vispy/scene/widgets/grid.py +509 -0
  299. vispy/scene/widgets/label.py +50 -0
  300. vispy/scene/widgets/tests/__init__.py +0 -0
  301. vispy/scene/widgets/tests/test_colorbar.py +47 -0
  302. vispy/scene/widgets/viewbox.py +199 -0
  303. vispy/scene/widgets/widget.py +478 -0
  304. vispy/testing/__init__.py +51 -0
  305. vispy/testing/_runners.py +448 -0
  306. vispy/testing/_testing.py +416 -0
  307. vispy/testing/image_tester.py +494 -0
  308. vispy/testing/rendered_array_tester.py +85 -0
  309. vispy/testing/tests/__init__.py +0 -0
  310. vispy/testing/tests/test_testing.py +20 -0
  311. vispy/util/__init__.py +32 -0
  312. vispy/util/bunch.py +15 -0
  313. vispy/util/check_environment.py +57 -0
  314. vispy/util/config.py +490 -0
  315. vispy/util/dpi/__init__.py +19 -0
  316. vispy/util/dpi/_linux.py +69 -0
  317. vispy/util/dpi/_quartz.py +26 -0
  318. vispy/util/dpi/_win32.py +34 -0
  319. vispy/util/dpi/tests/__init__.py +0 -0
  320. vispy/util/dpi/tests/test_dpi.py +16 -0
  321. vispy/util/eq.py +41 -0
  322. vispy/util/event.py +774 -0
  323. vispy/util/fetching.py +276 -0
  324. vispy/util/filter.py +44 -0
  325. vispy/util/fonts/__init__.py +14 -0
  326. vispy/util/fonts/_freetype.py +73 -0
  327. vispy/util/fonts/_quartz.py +192 -0
  328. vispy/util/fonts/_triage.py +36 -0
  329. vispy/util/fonts/_vispy_fonts.py +20 -0
  330. vispy/util/fonts/_win32.py +105 -0
  331. vispy/util/fonts/data/OpenSans-Bold.ttf +0 -0
  332. vispy/util/fonts/data/OpenSans-BoldItalic.ttf +0 -0
  333. vispy/util/fonts/data/OpenSans-Italic.ttf +0 -0
  334. vispy/util/fonts/data/OpenSans-Regular.ttf +0 -0
  335. vispy/util/fonts/tests/__init__.py +0 -0
  336. vispy/util/fonts/tests/test_font.py +45 -0
  337. vispy/util/fourier.py +69 -0
  338. vispy/util/frozen.py +25 -0
  339. vispy/util/gallery_scraper.py +268 -0
  340. vispy/util/keys.py +91 -0
  341. vispy/util/logs.py +358 -0
  342. vispy/util/osmesa_gl.py +17 -0
  343. vispy/util/profiler.py +135 -0
  344. vispy/util/ptime.py +16 -0
  345. vispy/util/quaternion.py +229 -0
  346. vispy/util/svg/__init__.py +18 -0
  347. vispy/util/svg/base.py +20 -0
  348. vispy/util/svg/color.py +219 -0
  349. vispy/util/svg/element.py +51 -0
  350. vispy/util/svg/geometry.py +478 -0
  351. vispy/util/svg/group.py +66 -0
  352. vispy/util/svg/length.py +81 -0
  353. vispy/util/svg/number.py +25 -0
  354. vispy/util/svg/path.py +332 -0
  355. vispy/util/svg/shapes.py +57 -0
  356. vispy/util/svg/style.py +59 -0
  357. vispy/util/svg/svg.py +40 -0
  358. vispy/util/svg/transform.py +223 -0
  359. vispy/util/svg/transformable.py +28 -0
  360. vispy/util/svg/viewport.py +73 -0
  361. vispy/util/tests/__init__.py +0 -0
  362. vispy/util/tests/test_config.py +58 -0
  363. vispy/util/tests/test_docstring_parameters.py +123 -0
  364. vispy/util/tests/test_emitter_group.py +262 -0
  365. vispy/util/tests/test_event_emitter.py +743 -0
  366. vispy/util/tests/test_fourier.py +35 -0
  367. vispy/util/tests/test_gallery_scraper.py +112 -0
  368. vispy/util/tests/test_import.py +127 -0
  369. vispy/util/tests/test_key.py +22 -0
  370. vispy/util/tests/test_logging.py +45 -0
  371. vispy/util/tests/test_run.py +14 -0
  372. vispy/util/tests/test_transforms.py +42 -0
  373. vispy/util/tests/test_vispy.py +48 -0
  374. vispy/util/transforms.py +201 -0
  375. vispy/util/wrappers.py +155 -0
  376. vispy/version.py +21 -0
  377. vispy/visuals/__init__.py +50 -0
  378. vispy/visuals/_scalable_textures.py +487 -0
  379. vispy/visuals/axis.py +678 -0
  380. vispy/visuals/border.py +208 -0
  381. vispy/visuals/box.py +79 -0
  382. vispy/visuals/collections/__init__.py +30 -0
  383. vispy/visuals/collections/agg_fast_path_collection.py +219 -0
  384. vispy/visuals/collections/agg_path_collection.py +197 -0
  385. vispy/visuals/collections/agg_point_collection.py +52 -0
  386. vispy/visuals/collections/agg_segment_collection.py +142 -0
  387. vispy/visuals/collections/array_list.py +401 -0
  388. vispy/visuals/collections/base_collection.py +482 -0
  389. vispy/visuals/collections/collection.py +253 -0
  390. vispy/visuals/collections/path_collection.py +23 -0
  391. vispy/visuals/collections/point_collection.py +19 -0
  392. vispy/visuals/collections/polygon_collection.py +25 -0
  393. vispy/visuals/collections/raw_path_collection.py +119 -0
  394. vispy/visuals/collections/raw_point_collection.py +113 -0
  395. vispy/visuals/collections/raw_polygon_collection.py +77 -0
  396. vispy/visuals/collections/raw_segment_collection.py +112 -0
  397. vispy/visuals/collections/raw_triangle_collection.py +78 -0
  398. vispy/visuals/collections/segment_collection.py +19 -0
  399. vispy/visuals/collections/triangle_collection.py +16 -0
  400. vispy/visuals/collections/util.py +168 -0
  401. vispy/visuals/colorbar.py +699 -0
  402. vispy/visuals/cube.py +41 -0
  403. vispy/visuals/ellipse.py +162 -0
  404. vispy/visuals/filters/__init__.py +10 -0
  405. vispy/visuals/filters/base_filter.py +242 -0
  406. vispy/visuals/filters/clipper.py +60 -0
  407. vispy/visuals/filters/clipping_planes.py +122 -0
  408. vispy/visuals/filters/color.py +181 -0
  409. vispy/visuals/filters/markers.py +28 -0
  410. vispy/visuals/filters/mesh.py +801 -0
  411. vispy/visuals/filters/picking.py +60 -0
  412. vispy/visuals/filters/tests/__init__.py +3 -0
  413. vispy/visuals/filters/tests/test_primitive_picking_filters.py +70 -0
  414. vispy/visuals/filters/tests/test_wireframe_filter.py +16 -0
  415. vispy/visuals/glsl/__init__.py +1 -0
  416. vispy/visuals/glsl/antialiasing.py +133 -0
  417. vispy/visuals/glsl/color.py +63 -0
  418. vispy/visuals/graphs/__init__.py +1 -0
  419. vispy/visuals/graphs/graph.py +240 -0
  420. vispy/visuals/graphs/layouts/__init__.py +55 -0
  421. vispy/visuals/graphs/layouts/circular.py +49 -0
  422. vispy/visuals/graphs/layouts/force_directed.py +211 -0
  423. vispy/visuals/graphs/layouts/networkx_layout.py +87 -0
  424. vispy/visuals/graphs/layouts/random.py +52 -0
  425. vispy/visuals/graphs/tests/__init__.py +1 -0
  426. vispy/visuals/graphs/tests/test_layouts.py +139 -0
  427. vispy/visuals/graphs/tests/test_networkx_layout.py +47 -0
  428. vispy/visuals/graphs/util.py +120 -0
  429. vispy/visuals/gridlines.py +161 -0
  430. vispy/visuals/gridmesh.py +98 -0
  431. vispy/visuals/histogram.py +58 -0
  432. vispy/visuals/image.py +701 -0
  433. vispy/visuals/image_complex.py +130 -0
  434. vispy/visuals/infinite_line.py +199 -0
  435. vispy/visuals/instanced_mesh.py +152 -0
  436. vispy/visuals/isocurve.py +213 -0
  437. vispy/visuals/isoline.py +241 -0
  438. vispy/visuals/isosurface.py +113 -0
  439. vispy/visuals/line/__init__.py +6 -0
  440. vispy/visuals/line/arrow.py +289 -0
  441. vispy/visuals/line/dash_atlas.py +90 -0
  442. vispy/visuals/line/line.py +545 -0
  443. vispy/visuals/line_plot.py +135 -0
  444. vispy/visuals/linear_region.py +199 -0
  445. vispy/visuals/markers.py +819 -0
  446. vispy/visuals/mesh.py +373 -0
  447. vispy/visuals/mesh_normals.py +159 -0
  448. vispy/visuals/plane.py +54 -0
  449. vispy/visuals/polygon.py +145 -0
  450. vispy/visuals/rectangle.py +196 -0
  451. vispy/visuals/regular_polygon.py +56 -0
  452. vispy/visuals/scrolling_lines.py +197 -0
  453. vispy/visuals/shaders/__init__.py +17 -0
  454. vispy/visuals/shaders/compiler.py +206 -0
  455. vispy/visuals/shaders/expression.py +99 -0
  456. vispy/visuals/shaders/function.py +788 -0
  457. vispy/visuals/shaders/multiprogram.py +145 -0
  458. vispy/visuals/shaders/parsing.py +140 -0
  459. vispy/visuals/shaders/program.py +161 -0
  460. vispy/visuals/shaders/shader_object.py +162 -0
  461. vispy/visuals/shaders/tests/__init__.py +0 -0
  462. vispy/visuals/shaders/tests/test_function.py +486 -0
  463. vispy/visuals/shaders/tests/test_multiprogram.py +78 -0
  464. vispy/visuals/shaders/tests/test_parsing.py +57 -0
  465. vispy/visuals/shaders/variable.py +272 -0
  466. vispy/visuals/spectrogram.py +169 -0
  467. vispy/visuals/sphere.py +80 -0
  468. vispy/visuals/surface_plot.py +192 -0
  469. vispy/visuals/tests/__init__.py +0 -0
  470. vispy/visuals/tests/test_arrows.py +109 -0
  471. vispy/visuals/tests/test_axis.py +120 -0
  472. vispy/visuals/tests/test_collections.py +15 -0
  473. vispy/visuals/tests/test_colorbar.py +179 -0
  474. vispy/visuals/tests/test_colormap.py +97 -0
  475. vispy/visuals/tests/test_ellipse.py +122 -0
  476. vispy/visuals/tests/test_gridlines.py +30 -0
  477. vispy/visuals/tests/test_histogram.py +24 -0
  478. vispy/visuals/tests/test_image.py +392 -0
  479. vispy/visuals/tests/test_image_complex.py +36 -0
  480. vispy/visuals/tests/test_infinite_line.py +53 -0
  481. vispy/visuals/tests/test_instanced_mesh.py +50 -0
  482. vispy/visuals/tests/test_isosurface.py +22 -0
  483. vispy/visuals/tests/test_linear_region.py +152 -0
  484. vispy/visuals/tests/test_markers.py +54 -0
  485. vispy/visuals/tests/test_mesh.py +261 -0
  486. vispy/visuals/tests/test_mesh_normals.py +218 -0
  487. vispy/visuals/tests/test_polygon.py +112 -0
  488. vispy/visuals/tests/test_rectangle.py +163 -0
  489. vispy/visuals/tests/test_regular_polygon.py +111 -0
  490. vispy/visuals/tests/test_scalable_textures.py +196 -0
  491. vispy/visuals/tests/test_sdf.py +73 -0
  492. vispy/visuals/tests/test_spectrogram.py +42 -0
  493. vispy/visuals/tests/test_surface_plot.py +57 -0
  494. vispy/visuals/tests/test_text.py +95 -0
  495. vispy/visuals/tests/test_volume.py +542 -0
  496. vispy/visuals/tests/test_windbarb.py +33 -0
  497. vispy/visuals/text/__init__.py +7 -0
  498. vispy/visuals/text/_sdf_cpu.cpython-312-darwin.so +0 -0
  499. vispy/visuals/text/_sdf_cpu.pyx +112 -0
  500. vispy/visuals/text/_sdf_gpu.py +316 -0
  501. vispy/visuals/text/text.py +675 -0
  502. vispy/visuals/transforms/__init__.py +34 -0
  503. vispy/visuals/transforms/_util.py +191 -0
  504. vispy/visuals/transforms/base_transform.py +233 -0
  505. vispy/visuals/transforms/chain.py +300 -0
  506. vispy/visuals/transforms/interactive.py +98 -0
  507. vispy/visuals/transforms/linear.py +564 -0
  508. vispy/visuals/transforms/nonlinear.py +398 -0
  509. vispy/visuals/transforms/tests/__init__.py +0 -0
  510. vispy/visuals/transforms/tests/test_transforms.py +243 -0
  511. vispy/visuals/transforms/transform_system.py +339 -0
  512. vispy/visuals/tube.py +173 -0
  513. vispy/visuals/visual.py +923 -0
  514. vispy/visuals/volume.py +1366 -0
  515. vispy/visuals/windbarb.py +291 -0
  516. vispy/visuals/xyz_axis.py +34 -0
  517. vispy-0.15.0.dist-info/METADATA +243 -0
  518. vispy-0.15.0.dist-info/RECORD +521 -0
  519. vispy-0.15.0.dist-info/WHEEL +6 -0
  520. vispy-0.15.0.dist-info/licenses/LICENSE.txt +36 -0
  521. vispy-0.15.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,234 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright (c) Vispy Development Team. All Rights Reserved.
3
+ # Distributed under the (new) BSD License. See LICENSE.txt for more info.
4
+
5
+ """This module provides a (functional) API to OpenGL ES 2.0.
6
+
7
+ There are multiple backend implementations of this API, available as
8
+ submodules of this module. One can use one of the backends directly,
9
+ or call `gl.use_gl()` to select one. The backend system allow running
10
+ visualizations using Angle, WebGL, or other forms of remote rendering.
11
+ This is in part possible by the widespread availability of OpenGL ES 2.0.
12
+
13
+ All functions that this API provides accept and return Python arguments
14
+ (no ctypes is required); strings are real strings and you can pass
15
+ data as numpy arrays. In general the input arguments are not checked
16
+ (for performance reasons). Each function results in exactly one OpenGL
17
+ API call, except when using the pyopengl backend.
18
+
19
+ The functions do not have docstrings, but most IDE's should provide you
20
+ with the function signature. For more documentation see
21
+ http://www.khronos.org/opengles/sdk/docs/man/
22
+
23
+ """
24
+
25
+ # NOTE: modules in this package that start with one underscore are
26
+ # autogenerated, and should not be edited.
27
+
28
+ from __future__ import division
29
+
30
+ import os
31
+
32
+ from ...util import config, logger
33
+
34
+ from ._constants import * # noqa
35
+ from ._proxy import BaseGLProxy
36
+
37
+
38
+ # Variable that will hold the module corresponding to the current backend
39
+ # This variable is used in our proxy classes to call the right functions.
40
+ current_backend = None
41
+
42
+
43
+ class MainProxy(BaseGLProxy):
44
+ """Main proxy for the GL ES 2.0 API.
45
+
46
+ The functions in this namespace always call into the correct GL
47
+ backend. Therefore these function objects can be safely stored for
48
+ reuse. However, for efficienty it would probably be better to store the
49
+ function name and then do ``func = getattr(gloo.gl, funcname)``.
50
+ """
51
+
52
+ def __call__(self, funcname, returns, *args):
53
+ func = getattr(current_backend, funcname)
54
+ return func(*args)
55
+
56
+
57
+ # Instantiate proxy objects
58
+ proxy = MainProxy()
59
+
60
+
61
+ def use_gl(target=None):
62
+ """Let Vispy use the target OpenGL ES 2.0 implementation
63
+
64
+ Also see ``vispy.use()``.
65
+
66
+ Parameters
67
+ ----------
68
+ target : str
69
+ The target GL backend to use. Default gl2 or es2, depending on the platform.
70
+
71
+ Available backends:
72
+ * gl2 - Use ES 2.0 subset of desktop (i.e. normal) OpenGL
73
+ * gl+ - Use the desktop ES 2.0 subset plus all non-deprecated GL
74
+ functions on your system (requires PyOpenGL)
75
+ * es2 - Use the ES2 library (Angle/DirectX on Windows)
76
+ * pyopengl2 - Use ES 2.0 subset of pyopengl (for fallback and testing)
77
+ * dummy - Prevent usage of gloo.gl (for when rendering occurs elsewhere)
78
+
79
+ You can use vispy's config option "gl_debug" to check for errors
80
+ on each API call. Or, one can specify it as the target, e.g. "gl2
81
+ debug". (Debug does not apply to 'gl+', since PyOpenGL has its own
82
+ debug mechanism)
83
+ """
84
+ target = target or default_backend.__name__.split(".")[-1]
85
+ target = target.replace('+', 'plus')
86
+
87
+ # Get options
88
+ target, _, options = target.partition(' ')
89
+ debug = config['gl_debug'] or 'debug' in options
90
+
91
+ # Select modules to import names from
92
+ try:
93
+ mod = __import__(target, globals(), level=1)
94
+ except ImportError as err:
95
+ msg = 'Could not import gl target "%s":\n%s' % (target, str(err))
96
+ raise RuntimeError(msg)
97
+
98
+ # Apply
99
+ global current_backend
100
+ current_backend = mod
101
+ _clear_namespace()
102
+ if 'plus' in target:
103
+ # Copy PyOpenGL funcs, extra funcs, constants, no debug
104
+ _copy_gl_functions(mod._pyopengl2, globals(), debug=debug)
105
+ _copy_gl_functions(mod, globals(), True, debug=debug)
106
+ else:
107
+ _copy_gl_functions(mod, globals(), debug=debug)
108
+
109
+
110
+ def _clear_namespace():
111
+ """Clear names that are not part of the strict ES API"""
112
+ ok_names = set(default_backend.__dict__)
113
+ ok_names.update(['gl2', 'glplus']) # don't remove the module
114
+ NS = globals()
115
+ for name in list(NS.keys()):
116
+ if name.lower().startswith('gl'):
117
+ if name not in ok_names:
118
+ del NS[name]
119
+
120
+
121
+ def _copy_gl_functions(source, dest, constants=False, debug=False):
122
+ """Inject all objects that start with 'gl' from the source
123
+ into the dest. source and dest can be dicts, modules or BaseGLProxy's.
124
+ """
125
+ # Get dicts
126
+ if isinstance(source, BaseGLProxy):
127
+ s = {}
128
+ for key in dir(source):
129
+ s[key] = getattr(source, key)
130
+ source = s
131
+ elif not isinstance(source, dict):
132
+ source = source.__dict__
133
+ if not isinstance(dest, dict):
134
+ dest = dest.__dict__
135
+ # Copy names
136
+ funcnames = [name for name in source.keys() if name.startswith('gl')]
137
+ for name in funcnames:
138
+ if debug and name != 'glGetError':
139
+ dest[name] = make_debug_wrapper(source[name])
140
+ else:
141
+ dest[name] = source[name]
142
+ # Copy constants
143
+ if constants:
144
+ constnames = [name for name in source.keys() if name.startswith('GL_')]
145
+ for name in constnames:
146
+ dest[name] = source[name]
147
+
148
+
149
+ def _arg_repr(arg):
150
+ """Get a useful (and not too large) represetation of an argument."""
151
+ r = repr(arg)
152
+ max = 40
153
+ if len(r) > max:
154
+ if hasattr(arg, 'shape'):
155
+ r = 'array:' + 'x'.join([repr(s) for s in arg.shape])
156
+ else:
157
+ r = r[:max-3] + '...'
158
+ return r
159
+
160
+
161
+ def make_debug_wrapper(fn):
162
+ def gl_debug_wrapper(*args):
163
+ # Log function call
164
+ argstr = ', '.join(map(_arg_repr, args))
165
+ logger.debug("%s(%s)" % (fn.__name__, argstr))
166
+ # Call function
167
+ ret = fn(*args)
168
+ # Log return value
169
+ if ret is not None:
170
+ if fn.__name__ == 'glReadPixels':
171
+ logger.debug(" <= %s[%s]" % (type(ret), len(ret)))
172
+ else:
173
+ logger.debug(" <= %s" % repr(ret))
174
+ # Check for errors (raises if an error occured)
175
+ check_error(fn.__name__)
176
+ # Return
177
+ return ret
178
+ gl_debug_wrapper.__name__ = fn.__name__ + '_debug_wrapper'
179
+ # Store reference to wrapped function just for introspection
180
+ gl_debug_wrapper._wrapped_function = fn
181
+ return gl_debug_wrapper
182
+
183
+
184
+ def check_error(when='periodic check'):
185
+ """Check this from time to time to detect GL errors.
186
+
187
+ Parameters
188
+ ----------
189
+ when : str
190
+ Shown in the exception to help the developer determine when
191
+ this check was done.
192
+ """
193
+ errors = []
194
+ while True:
195
+ err = glGetError()
196
+ if err == GL_NO_ERROR or (errors and err == errors[-1]):
197
+ break
198
+ errors.append(err)
199
+ if errors:
200
+ msg = ', '.join([repr(ENUM_MAP.get(e, e)) for e in errors])
201
+ err = RuntimeError('OpenGL got errors (%s): %s' % (when, msg))
202
+ err.errors = errors
203
+ err.err = errors[-1] # pyopengl compat
204
+ raise err
205
+
206
+
207
+ def _fix_osmesa_gl_lib_if_testing():
208
+ """
209
+ This functions checks if we a running test with the osmesa backends and
210
+ fix the GL library if needed.
211
+
212
+ Since we have to fix the VISPY_GL_LIB *before* any import from the gl
213
+ module, we have to run this here.
214
+ Test discovery utilities (like pytest) will try to import modules
215
+ before running tests, so we have to modify the GL lib really early.
216
+ The other solution would be to setup pre-run hooks for the test utility,
217
+ but there doesn't seem to be a standard way to do that (e.g. conftest.py
218
+ for py.test)
219
+ """
220
+ test_name = os.getenv('_VISPY_TESTING_APP', None)
221
+ if test_name == 'osmesa':
222
+ from ...util.osmesa_gl import fix_osmesa_gl_lib
223
+ fix_osmesa_gl_lib()
224
+
225
+ _fix_osmesa_gl_lib_if_testing()
226
+
227
+ # Load default gl backend
228
+ from . import gl2 as default_backend # noqa
229
+ if default_backend._lib is None: # Probably Android or RPi
230
+ from . import es2 as default_backend # noqa
231
+
232
+
233
+ # Call use to start using our default backend
234
+ use_gl()
@@ -0,0 +1,332 @@
1
+ """GL definitions converted to Python by codegen/createglapi.py.
2
+
3
+ THIS CODE IS AUTO-GENERATED. DO NOT EDIT.
4
+
5
+ Constants for OpenGL ES 2.0.
6
+
7
+ """
8
+
9
+
10
+ class Enum(int):
11
+ """Enum (integer) with a meaningfull repr."""
12
+
13
+ def __new__(cls, name, value):
14
+ base = int.__new__(cls, value)
15
+ base.name = name
16
+ return base
17
+
18
+ def __repr__(self):
19
+ return self.name
20
+
21
+
22
+ GL_ACTIVE_ATTRIBUTES = Enum('GL_ACTIVE_ATTRIBUTES', 35721)
23
+ GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = Enum('GL_ACTIVE_ATTRIBUTE_MAX_LENGTH', 35722)
24
+ GL_ACTIVE_TEXTURE = Enum('GL_ACTIVE_TEXTURE', 34016)
25
+ GL_ACTIVE_UNIFORMS = Enum('GL_ACTIVE_UNIFORMS', 35718)
26
+ GL_ACTIVE_UNIFORM_MAX_LENGTH = Enum('GL_ACTIVE_UNIFORM_MAX_LENGTH', 35719)
27
+ GL_ALIASED_LINE_WIDTH_RANGE = Enum('GL_ALIASED_LINE_WIDTH_RANGE', 33902)
28
+ GL_ALIASED_POINT_SIZE_RANGE = Enum('GL_ALIASED_POINT_SIZE_RANGE', 33901)
29
+ GL_ALPHA = Enum('GL_ALPHA', 6406)
30
+ GL_ALPHA_BITS = Enum('GL_ALPHA_BITS', 3413)
31
+ GL_ALWAYS = Enum('GL_ALWAYS', 519)
32
+ GL_ARRAY_BUFFER = Enum('GL_ARRAY_BUFFER', 34962)
33
+ GL_ARRAY_BUFFER_BINDING = Enum('GL_ARRAY_BUFFER_BINDING', 34964)
34
+ GL_ATTACHED_SHADERS = Enum('GL_ATTACHED_SHADERS', 35717)
35
+ GL_BACK = Enum('GL_BACK', 1029)
36
+ GL_BLEND = Enum('GL_BLEND', 3042)
37
+ GL_BLEND_COLOR = Enum('GL_BLEND_COLOR', 32773)
38
+ GL_BLEND_DST_ALPHA = Enum('GL_BLEND_DST_ALPHA', 32970)
39
+ GL_BLEND_DST_RGB = Enum('GL_BLEND_DST_RGB', 32968)
40
+ GL_BLEND_EQUATION = Enum('GL_BLEND_EQUATION', 32777)
41
+ GL_BLEND_EQUATION_ALPHA = Enum('GL_BLEND_EQUATION_ALPHA', 34877)
42
+ GL_BLEND_EQUATION_RGB = Enum('GL_BLEND_EQUATION_RGB', 32777)
43
+ GL_BLEND_SRC_ALPHA = Enum('GL_BLEND_SRC_ALPHA', 32971)
44
+ GL_BLEND_SRC_RGB = Enum('GL_BLEND_SRC_RGB', 32969)
45
+ GL_BLUE_BITS = Enum('GL_BLUE_BITS', 3412)
46
+ GL_BOOL = Enum('GL_BOOL', 35670)
47
+ GL_BOOL_VEC2 = Enum('GL_BOOL_VEC2', 35671)
48
+ GL_BOOL_VEC3 = Enum('GL_BOOL_VEC3', 35672)
49
+ GL_BOOL_VEC4 = Enum('GL_BOOL_VEC4', 35673)
50
+ GL_BUFFER_SIZE = Enum('GL_BUFFER_SIZE', 34660)
51
+ GL_BUFFER_USAGE = Enum('GL_BUFFER_USAGE', 34661)
52
+ GL_BYTE = Enum('GL_BYTE', 5120)
53
+ GL_CCW = Enum('GL_CCW', 2305)
54
+ GL_CLAMP_TO_EDGE = Enum('GL_CLAMP_TO_EDGE', 33071)
55
+ GL_COLOR_ATTACHMENT0 = Enum('GL_COLOR_ATTACHMENT0', 36064)
56
+ GL_COLOR_BUFFER_BIT = Enum('GL_COLOR_BUFFER_BIT', 16384)
57
+ GL_COLOR_CLEAR_VALUE = Enum('GL_COLOR_CLEAR_VALUE', 3106)
58
+ GL_COLOR_WRITEMASK = Enum('GL_COLOR_WRITEMASK', 3107)
59
+ GL_COMPILE_STATUS = Enum('GL_COMPILE_STATUS', 35713)
60
+ GL_COMPRESSED_TEXTURE_FORMATS = Enum('GL_COMPRESSED_TEXTURE_FORMATS', 34467)
61
+ GL_CONSTANT_ALPHA = Enum('GL_CONSTANT_ALPHA', 32771)
62
+ GL_CONSTANT_COLOR = Enum('GL_CONSTANT_COLOR', 32769)
63
+ GL_CULL_FACE = Enum('GL_CULL_FACE', 2884)
64
+ GL_CULL_FACE_MODE = Enum('GL_CULL_FACE_MODE', 2885)
65
+ GL_CURRENT_PROGRAM = Enum('GL_CURRENT_PROGRAM', 35725)
66
+ GL_CURRENT_VERTEX_ATTRIB = Enum('GL_CURRENT_VERTEX_ATTRIB', 34342)
67
+ GL_CW = Enum('GL_CW', 2304)
68
+ GL_DECR = Enum('GL_DECR', 7683)
69
+ GL_DECR_WRAP = Enum('GL_DECR_WRAP', 34056)
70
+ GL_DELETE_STATUS = Enum('GL_DELETE_STATUS', 35712)
71
+ GL_DEPTH_ATTACHMENT = Enum('GL_DEPTH_ATTACHMENT', 36096)
72
+ GL_DEPTH_BITS = Enum('GL_DEPTH_BITS', 3414)
73
+ GL_DEPTH_BUFFER_BIT = Enum('GL_DEPTH_BUFFER_BIT', 256)
74
+ GL_DEPTH_CLEAR_VALUE = Enum('GL_DEPTH_CLEAR_VALUE', 2931)
75
+ GL_DEPTH_COMPONENT = Enum('GL_DEPTH_COMPONENT', 6402)
76
+ GL_DEPTH_COMPONENT16 = Enum('GL_DEPTH_COMPONENT16', 33189)
77
+ GL_DEPTH_FUNC = Enum('GL_DEPTH_FUNC', 2932)
78
+ GL_DEPTH_RANGE = Enum('GL_DEPTH_RANGE', 2928)
79
+ GL_DEPTH_TEST = Enum('GL_DEPTH_TEST', 2929)
80
+ GL_DEPTH_WRITEMASK = Enum('GL_DEPTH_WRITEMASK', 2930)
81
+ GL_DITHER = Enum('GL_DITHER', 3024)
82
+ GL_DONT_CARE = Enum('GL_DONT_CARE', 4352)
83
+ GL_DST_ALPHA = Enum('GL_DST_ALPHA', 772)
84
+ GL_DST_COLOR = Enum('GL_DST_COLOR', 774)
85
+ GL_DYNAMIC_DRAW = Enum('GL_DYNAMIC_DRAW', 35048)
86
+ GL_ELEMENT_ARRAY_BUFFER = Enum('GL_ELEMENT_ARRAY_BUFFER', 34963)
87
+ GL_ELEMENT_ARRAY_BUFFER_BINDING = Enum('GL_ELEMENT_ARRAY_BUFFER_BINDING', 34965)
88
+ GL_EQUAL = Enum('GL_EQUAL', 514)
89
+ GL_ES_VERSION_2_0 = Enum('GL_ES_VERSION_2_0', 1)
90
+ GL_EXTENSIONS = Enum('GL_EXTENSIONS', 7939)
91
+ GL_FALSE = Enum('GL_FALSE', 0)
92
+ GL_FASTEST = Enum('GL_FASTEST', 4353)
93
+ GL_FIXED = Enum('GL_FIXED', 5132)
94
+ GL_FLOAT = Enum('GL_FLOAT', 5126)
95
+ GL_FLOAT_MAT2 = Enum('GL_FLOAT_MAT2', 35674)
96
+ GL_FLOAT_MAT3 = Enum('GL_FLOAT_MAT3', 35675)
97
+ GL_FLOAT_MAT4 = Enum('GL_FLOAT_MAT4', 35676)
98
+ GL_FLOAT_VEC2 = Enum('GL_FLOAT_VEC2', 35664)
99
+ GL_FLOAT_VEC3 = Enum('GL_FLOAT_VEC3', 35665)
100
+ GL_FLOAT_VEC4 = Enum('GL_FLOAT_VEC4', 35666)
101
+ GL_FRAGMENT_SHADER = Enum('GL_FRAGMENT_SHADER', 35632)
102
+ GL_FRAMEBUFFER = Enum('GL_FRAMEBUFFER', 36160)
103
+ GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = Enum('GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME', 36049)
104
+ GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = Enum('GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE', 36048)
105
+ GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = Enum('GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE', 36051)
106
+ GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = Enum('GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL', 36050)
107
+ GL_FRAMEBUFFER_BINDING = Enum('GL_FRAMEBUFFER_BINDING', 36006)
108
+ GL_FRAMEBUFFER_COMPLETE = Enum('GL_FRAMEBUFFER_COMPLETE', 36053)
109
+ GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = Enum('GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT', 36054)
110
+ GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = Enum('GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS', 36057)
111
+ GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = Enum('GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT', 36055)
112
+ GL_FRAMEBUFFER_UNSUPPORTED = Enum('GL_FRAMEBUFFER_UNSUPPORTED', 36061)
113
+ GL_FRONT = Enum('GL_FRONT', 1028)
114
+ GL_FRONT_AND_BACK = Enum('GL_FRONT_AND_BACK', 1032)
115
+ GL_FRONT_FACE = Enum('GL_FRONT_FACE', 2886)
116
+ GL_FUNC_ADD = Enum('GL_FUNC_ADD', 32774)
117
+ GL_FUNC_REVERSE_SUBTRACT = Enum('GL_FUNC_REVERSE_SUBTRACT', 32779)
118
+ GL_FUNC_SUBTRACT = Enum('GL_FUNC_SUBTRACT', 32778)
119
+ GL_GENERATE_MIPMAP_HINT = Enum('GL_GENERATE_MIPMAP_HINT', 33170)
120
+ GL_GEQUAL = Enum('GL_GEQUAL', 518)
121
+ GL_GREATER = Enum('GL_GREATER', 516)
122
+ GL_GREEN_BITS = Enum('GL_GREEN_BITS', 3411)
123
+ GL_HIGH_FLOAT = Enum('GL_HIGH_FLOAT', 36338)
124
+ GL_HIGH_INT = Enum('GL_HIGH_INT', 36341)
125
+ GL_IMPLEMENTATION_COLOR_READ_FORMAT = Enum('GL_IMPLEMENTATION_COLOR_READ_FORMAT', 35739)
126
+ GL_IMPLEMENTATION_COLOR_READ_TYPE = Enum('GL_IMPLEMENTATION_COLOR_READ_TYPE', 35738)
127
+ GL_INCR = Enum('GL_INCR', 7682)
128
+ GL_INCR_WRAP = Enum('GL_INCR_WRAP', 34055)
129
+ GL_INFO_LOG_LENGTH = Enum('GL_INFO_LOG_LENGTH', 35716)
130
+ GL_INT = Enum('GL_INT', 5124)
131
+ GL_INT_VEC2 = Enum('GL_INT_VEC2', 35667)
132
+ GL_INT_VEC3 = Enum('GL_INT_VEC3', 35668)
133
+ GL_INT_VEC4 = Enum('GL_INT_VEC4', 35669)
134
+ GL_INVALID_ENUM = Enum('GL_INVALID_ENUM', 1280)
135
+ GL_INVALID_FRAMEBUFFER_OPERATION = Enum('GL_INVALID_FRAMEBUFFER_OPERATION', 1286)
136
+ GL_INVALID_OPERATION = Enum('GL_INVALID_OPERATION', 1282)
137
+ GL_INVALID_VALUE = Enum('GL_INVALID_VALUE', 1281)
138
+ GL_INVERT = Enum('GL_INVERT', 5386)
139
+ GL_KEEP = Enum('GL_KEEP', 7680)
140
+ GL_LEQUAL = Enum('GL_LEQUAL', 515)
141
+ GL_LESS = Enum('GL_LESS', 513)
142
+ GL_LINEAR = Enum('GL_LINEAR', 9729)
143
+ GL_LINEAR_MIPMAP_LINEAR = Enum('GL_LINEAR_MIPMAP_LINEAR', 9987)
144
+ GL_LINEAR_MIPMAP_NEAREST = Enum('GL_LINEAR_MIPMAP_NEAREST', 9985)
145
+ GL_LINES = Enum('GL_LINES', 1)
146
+ GL_LINE_LOOP = Enum('GL_LINE_LOOP', 2)
147
+ GL_LINE_STRIP = Enum('GL_LINE_STRIP', 3)
148
+ GL_LINE_WIDTH = Enum('GL_LINE_WIDTH', 2849)
149
+ GL_LINK_STATUS = Enum('GL_LINK_STATUS', 35714)
150
+ GL_LOW_FLOAT = Enum('GL_LOW_FLOAT', 36336)
151
+ GL_LOW_INT = Enum('GL_LOW_INT', 36339)
152
+ GL_LUMINANCE = Enum('GL_LUMINANCE', 6409)
153
+ GL_LUMINANCE_ALPHA = Enum('GL_LUMINANCE_ALPHA', 6410)
154
+ GL_MAX = Enum('GL_MAX', 32776)
155
+ GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = Enum('GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS', 35661)
156
+ GL_MAX_CUBE_MAP_TEXTURE_SIZE = Enum('GL_MAX_CUBE_MAP_TEXTURE_SIZE', 34076)
157
+ GL_MAX_FRAGMENT_UNIFORM_VECTORS = Enum('GL_MAX_FRAGMENT_UNIFORM_VECTORS', 36349)
158
+ GL_MAX_RENDERBUFFER_SIZE = Enum('GL_MAX_RENDERBUFFER_SIZE', 34024)
159
+ GL_MAX_TEXTURE_IMAGE_UNITS = Enum('GL_MAX_TEXTURE_IMAGE_UNITS', 34930)
160
+ GL_MAX_TEXTURE_SIZE = Enum('GL_MAX_TEXTURE_SIZE', 3379)
161
+ GL_MAX_VARYING_VECTORS = Enum('GL_MAX_VARYING_VECTORS', 36348)
162
+ GL_MAX_VERTEX_ATTRIBS = Enum('GL_MAX_VERTEX_ATTRIBS', 34921)
163
+ GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = Enum('GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS', 35660)
164
+ GL_MAX_VERTEX_UNIFORM_VECTORS = Enum('GL_MAX_VERTEX_UNIFORM_VECTORS', 36347)
165
+ GL_MAX_VIEWPORT_DIMS = Enum('GL_MAX_VIEWPORT_DIMS', 3386)
166
+ GL_MEDIUM_FLOAT = Enum('GL_MEDIUM_FLOAT', 36337)
167
+ GL_MEDIUM_INT = Enum('GL_MEDIUM_INT', 36340)
168
+ GL_MIN = Enum('GL_MIN', 32775)
169
+ GL_MIRRORED_REPEAT = Enum('GL_MIRRORED_REPEAT', 33648)
170
+ GL_NEAREST = Enum('GL_NEAREST', 9728)
171
+ GL_NEAREST_MIPMAP_LINEAR = Enum('GL_NEAREST_MIPMAP_LINEAR', 9986)
172
+ GL_NEAREST_MIPMAP_NEAREST = Enum('GL_NEAREST_MIPMAP_NEAREST', 9984)
173
+ GL_NEVER = Enum('GL_NEVER', 512)
174
+ GL_NICEST = Enum('GL_NICEST', 4354)
175
+ GL_NONE = Enum('GL_NONE', 0)
176
+ GL_NOTEQUAL = Enum('GL_NOTEQUAL', 517)
177
+ GL_NO_ERROR = Enum('GL_NO_ERROR', 0)
178
+ GL_NUM_COMPRESSED_TEXTURE_FORMATS = Enum('GL_NUM_COMPRESSED_TEXTURE_FORMATS', 34466)
179
+ GL_NUM_SHADER_BINARY_FORMATS = Enum('GL_NUM_SHADER_BINARY_FORMATS', 36345)
180
+ GL_ONE = Enum('GL_ONE', 1)
181
+ GL_ONE_MINUS_CONSTANT_ALPHA = Enum('GL_ONE_MINUS_CONSTANT_ALPHA', 32772)
182
+ GL_ONE_MINUS_CONSTANT_COLOR = Enum('GL_ONE_MINUS_CONSTANT_COLOR', 32770)
183
+ GL_ONE_MINUS_DST_ALPHA = Enum('GL_ONE_MINUS_DST_ALPHA', 773)
184
+ GL_ONE_MINUS_DST_COLOR = Enum('GL_ONE_MINUS_DST_COLOR', 775)
185
+ GL_ONE_MINUS_SRC_ALPHA = Enum('GL_ONE_MINUS_SRC_ALPHA', 771)
186
+ GL_ONE_MINUS_SRC_COLOR = Enum('GL_ONE_MINUS_SRC_COLOR', 769)
187
+ GL_OUT_OF_MEMORY = Enum('GL_OUT_OF_MEMORY', 1285)
188
+ GL_PACK_ALIGNMENT = Enum('GL_PACK_ALIGNMENT', 3333)
189
+ GL_POINTS = Enum('GL_POINTS', 0)
190
+ GL_POLYGON_OFFSET_FACTOR = Enum('GL_POLYGON_OFFSET_FACTOR', 32824)
191
+ GL_POLYGON_OFFSET_FILL = Enum('GL_POLYGON_OFFSET_FILL', 32823)
192
+ GL_POLYGON_OFFSET_UNITS = Enum('GL_POLYGON_OFFSET_UNITS', 10752)
193
+ GL_RED_BITS = Enum('GL_RED_BITS', 3410)
194
+ GL_RENDERBUFFER = Enum('GL_RENDERBUFFER', 36161)
195
+ GL_RENDERBUFFER_ALPHA_SIZE = Enum('GL_RENDERBUFFER_ALPHA_SIZE', 36179)
196
+ GL_RENDERBUFFER_BINDING = Enum('GL_RENDERBUFFER_BINDING', 36007)
197
+ GL_RENDERBUFFER_BLUE_SIZE = Enum('GL_RENDERBUFFER_BLUE_SIZE', 36178)
198
+ GL_RENDERBUFFER_DEPTH_SIZE = Enum('GL_RENDERBUFFER_DEPTH_SIZE', 36180)
199
+ GL_RENDERBUFFER_GREEN_SIZE = Enum('GL_RENDERBUFFER_GREEN_SIZE', 36177)
200
+ GL_RENDERBUFFER_HEIGHT = Enum('GL_RENDERBUFFER_HEIGHT', 36163)
201
+ GL_RENDERBUFFER_INTERNAL_FORMAT = Enum('GL_RENDERBUFFER_INTERNAL_FORMAT', 36164)
202
+ GL_RENDERBUFFER_RED_SIZE = Enum('GL_RENDERBUFFER_RED_SIZE', 36176)
203
+ GL_RENDERBUFFER_STENCIL_SIZE = Enum('GL_RENDERBUFFER_STENCIL_SIZE', 36181)
204
+ GL_RENDERBUFFER_WIDTH = Enum('GL_RENDERBUFFER_WIDTH', 36162)
205
+ GL_RENDERER = Enum('GL_RENDERER', 7937)
206
+ GL_REPEAT = Enum('GL_REPEAT', 10497)
207
+ GL_REPLACE = Enum('GL_REPLACE', 7681)
208
+ GL_RGB = Enum('GL_RGB', 6407)
209
+ GL_RGB565 = Enum('GL_RGB565', 36194)
210
+ GL_RGB5_A1 = Enum('GL_RGB5_A1', 32855)
211
+ GL_RGBA = Enum('GL_RGBA', 6408)
212
+ GL_RGBA4 = Enum('GL_RGBA4', 32854)
213
+ GL_SAMPLER_2D = Enum('GL_SAMPLER_2D', 35678)
214
+ GL_SAMPLER_CUBE = Enum('GL_SAMPLER_CUBE', 35680)
215
+ GL_SAMPLES = Enum('GL_SAMPLES', 32937)
216
+ GL_SAMPLE_ALPHA_TO_COVERAGE = Enum('GL_SAMPLE_ALPHA_TO_COVERAGE', 32926)
217
+ GL_SAMPLE_BUFFERS = Enum('GL_SAMPLE_BUFFERS', 32936)
218
+ GL_SAMPLE_COVERAGE = Enum('GL_SAMPLE_COVERAGE', 32928)
219
+ GL_SAMPLE_COVERAGE_INVERT = Enum('GL_SAMPLE_COVERAGE_INVERT', 32939)
220
+ GL_SAMPLE_COVERAGE_VALUE = Enum('GL_SAMPLE_COVERAGE_VALUE', 32938)
221
+ GL_SCISSOR_BOX = Enum('GL_SCISSOR_BOX', 3088)
222
+ GL_SCISSOR_TEST = Enum('GL_SCISSOR_TEST', 3089)
223
+ GL_SHADER_BINARY_FORMATS = Enum('GL_SHADER_BINARY_FORMATS', 36344)
224
+ GL_SHADER_COMPILER = Enum('GL_SHADER_COMPILER', 36346)
225
+ GL_SHADER_SOURCE_LENGTH = Enum('GL_SHADER_SOURCE_LENGTH', 35720)
226
+ GL_SHADER_TYPE = Enum('GL_SHADER_TYPE', 35663)
227
+ GL_SHADING_LANGUAGE_VERSION = Enum('GL_SHADING_LANGUAGE_VERSION', 35724)
228
+ GL_SHORT = Enum('GL_SHORT', 5122)
229
+ GL_SRC_ALPHA = Enum('GL_SRC_ALPHA', 770)
230
+ GL_SRC_ALPHA_SATURATE = Enum('GL_SRC_ALPHA_SATURATE', 776)
231
+ GL_SRC_COLOR = Enum('GL_SRC_COLOR', 768)
232
+ GL_STATIC_DRAW = Enum('GL_STATIC_DRAW', 35044)
233
+ GL_STENCIL_ATTACHMENT = Enum('GL_STENCIL_ATTACHMENT', 36128)
234
+ GL_STENCIL_BACK_FAIL = Enum('GL_STENCIL_BACK_FAIL', 34817)
235
+ GL_STENCIL_BACK_FUNC = Enum('GL_STENCIL_BACK_FUNC', 34816)
236
+ GL_STENCIL_BACK_PASS_DEPTH_FAIL = Enum('GL_STENCIL_BACK_PASS_DEPTH_FAIL', 34818)
237
+ GL_STENCIL_BACK_PASS_DEPTH_PASS = Enum('GL_STENCIL_BACK_PASS_DEPTH_PASS', 34819)
238
+ GL_STENCIL_BACK_REF = Enum('GL_STENCIL_BACK_REF', 36003)
239
+ GL_STENCIL_BACK_VALUE_MASK = Enum('GL_STENCIL_BACK_VALUE_MASK', 36004)
240
+ GL_STENCIL_BACK_WRITEMASK = Enum('GL_STENCIL_BACK_WRITEMASK', 36005)
241
+ GL_STENCIL_BITS = Enum('GL_STENCIL_BITS', 3415)
242
+ GL_STENCIL_BUFFER_BIT = Enum('GL_STENCIL_BUFFER_BIT', 1024)
243
+ GL_STENCIL_CLEAR_VALUE = Enum('GL_STENCIL_CLEAR_VALUE', 2961)
244
+ GL_STENCIL_FAIL = Enum('GL_STENCIL_FAIL', 2964)
245
+ GL_STENCIL_FUNC = Enum('GL_STENCIL_FUNC', 2962)
246
+ GL_STENCIL_INDEX8 = Enum('GL_STENCIL_INDEX8', 36168)
247
+ GL_STENCIL_PASS_DEPTH_FAIL = Enum('GL_STENCIL_PASS_DEPTH_FAIL', 2965)
248
+ GL_STENCIL_PASS_DEPTH_PASS = Enum('GL_STENCIL_PASS_DEPTH_PASS', 2966)
249
+ GL_STENCIL_REF = Enum('GL_STENCIL_REF', 2967)
250
+ GL_STENCIL_TEST = Enum('GL_STENCIL_TEST', 2960)
251
+ GL_STENCIL_VALUE_MASK = Enum('GL_STENCIL_VALUE_MASK', 2963)
252
+ GL_STENCIL_WRITEMASK = Enum('GL_STENCIL_WRITEMASK', 2968)
253
+ GL_STREAM_DRAW = Enum('GL_STREAM_DRAW', 35040)
254
+ GL_SUBPIXEL_BITS = Enum('GL_SUBPIXEL_BITS', 3408)
255
+ GL_TEXTURE = Enum('GL_TEXTURE', 5890)
256
+ GL_TEXTURE0 = Enum('GL_TEXTURE0', 33984)
257
+ GL_TEXTURE1 = Enum('GL_TEXTURE1', 33985)
258
+ GL_TEXTURE10 = Enum('GL_TEXTURE10', 33994)
259
+ GL_TEXTURE11 = Enum('GL_TEXTURE11', 33995)
260
+ GL_TEXTURE12 = Enum('GL_TEXTURE12', 33996)
261
+ GL_TEXTURE13 = Enum('GL_TEXTURE13', 33997)
262
+ GL_TEXTURE14 = Enum('GL_TEXTURE14', 33998)
263
+ GL_TEXTURE15 = Enum('GL_TEXTURE15', 33999)
264
+ GL_TEXTURE16 = Enum('GL_TEXTURE16', 34000)
265
+ GL_TEXTURE17 = Enum('GL_TEXTURE17', 34001)
266
+ GL_TEXTURE18 = Enum('GL_TEXTURE18', 34002)
267
+ GL_TEXTURE19 = Enum('GL_TEXTURE19', 34003)
268
+ GL_TEXTURE2 = Enum('GL_TEXTURE2', 33986)
269
+ GL_TEXTURE20 = Enum('GL_TEXTURE20', 34004)
270
+ GL_TEXTURE21 = Enum('GL_TEXTURE21', 34005)
271
+ GL_TEXTURE22 = Enum('GL_TEXTURE22', 34006)
272
+ GL_TEXTURE23 = Enum('GL_TEXTURE23', 34007)
273
+ GL_TEXTURE24 = Enum('GL_TEXTURE24', 34008)
274
+ GL_TEXTURE25 = Enum('GL_TEXTURE25', 34009)
275
+ GL_TEXTURE26 = Enum('GL_TEXTURE26', 34010)
276
+ GL_TEXTURE27 = Enum('GL_TEXTURE27', 34011)
277
+ GL_TEXTURE28 = Enum('GL_TEXTURE28', 34012)
278
+ GL_TEXTURE29 = Enum('GL_TEXTURE29', 34013)
279
+ GL_TEXTURE3 = Enum('GL_TEXTURE3', 33987)
280
+ GL_TEXTURE30 = Enum('GL_TEXTURE30', 34014)
281
+ GL_TEXTURE31 = Enum('GL_TEXTURE31', 34015)
282
+ GL_TEXTURE4 = Enum('GL_TEXTURE4', 33988)
283
+ GL_TEXTURE5 = Enum('GL_TEXTURE5', 33989)
284
+ GL_TEXTURE6 = Enum('GL_TEXTURE6', 33990)
285
+ GL_TEXTURE7 = Enum('GL_TEXTURE7', 33991)
286
+ GL_TEXTURE8 = Enum('GL_TEXTURE8', 33992)
287
+ GL_TEXTURE9 = Enum('GL_TEXTURE9', 33993)
288
+ GL_TEXTURE_2D = Enum('GL_TEXTURE_2D', 3553)
289
+ GL_TEXTURE_BINDING_2D = Enum('GL_TEXTURE_BINDING_2D', 32873)
290
+ GL_TEXTURE_BINDING_CUBE_MAP = Enum('GL_TEXTURE_BINDING_CUBE_MAP', 34068)
291
+ GL_TEXTURE_CUBE_MAP = Enum('GL_TEXTURE_CUBE_MAP', 34067)
292
+ GL_TEXTURE_CUBE_MAP_NEGATIVE_X = Enum('GL_TEXTURE_CUBE_MAP_NEGATIVE_X', 34070)
293
+ GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = Enum('GL_TEXTURE_CUBE_MAP_NEGATIVE_Y', 34072)
294
+ GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = Enum('GL_TEXTURE_CUBE_MAP_NEGATIVE_Z', 34074)
295
+ GL_TEXTURE_CUBE_MAP_POSITIVE_X = Enum('GL_TEXTURE_CUBE_MAP_POSITIVE_X', 34069)
296
+ GL_TEXTURE_CUBE_MAP_POSITIVE_Y = Enum('GL_TEXTURE_CUBE_MAP_POSITIVE_Y', 34071)
297
+ GL_TEXTURE_CUBE_MAP_POSITIVE_Z = Enum('GL_TEXTURE_CUBE_MAP_POSITIVE_Z', 34073)
298
+ GL_TEXTURE_MAG_FILTER = Enum('GL_TEXTURE_MAG_FILTER', 10240)
299
+ GL_TEXTURE_MIN_FILTER = Enum('GL_TEXTURE_MIN_FILTER', 10241)
300
+ GL_TEXTURE_WRAP_S = Enum('GL_TEXTURE_WRAP_S', 10242)
301
+ GL_TEXTURE_WRAP_T = Enum('GL_TEXTURE_WRAP_T', 10243)
302
+ GL_TRIANGLES = Enum('GL_TRIANGLES', 4)
303
+ GL_TRIANGLE_FAN = Enum('GL_TRIANGLE_FAN', 6)
304
+ GL_TRIANGLE_STRIP = Enum('GL_TRIANGLE_STRIP', 5)
305
+ GL_TRUE = Enum('GL_TRUE', 1)
306
+ GL_UNPACK_ALIGNMENT = Enum('GL_UNPACK_ALIGNMENT', 3317)
307
+ GL_UNSIGNED_BYTE = Enum('GL_UNSIGNED_BYTE', 5121)
308
+ GL_UNSIGNED_INT = Enum('GL_UNSIGNED_INT', 5125)
309
+ GL_UNSIGNED_SHORT = Enum('GL_UNSIGNED_SHORT', 5123)
310
+ GL_UNSIGNED_SHORT_4_4_4_4 = Enum('GL_UNSIGNED_SHORT_4_4_4_4', 32819)
311
+ GL_UNSIGNED_SHORT_5_5_5_1 = Enum('GL_UNSIGNED_SHORT_5_5_5_1', 32820)
312
+ GL_UNSIGNED_SHORT_5_6_5 = Enum('GL_UNSIGNED_SHORT_5_6_5', 33635)
313
+ GL_VALIDATE_STATUS = Enum('GL_VALIDATE_STATUS', 35715)
314
+ GL_VENDOR = Enum('GL_VENDOR', 7936)
315
+ GL_VERSION = Enum('GL_VERSION', 7938)
316
+ GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = Enum('GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING', 34975)
317
+ GL_VERTEX_ATTRIB_ARRAY_ENABLED = Enum('GL_VERTEX_ATTRIB_ARRAY_ENABLED', 34338)
318
+ GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = Enum('GL_VERTEX_ATTRIB_ARRAY_NORMALIZED', 34922)
319
+ GL_VERTEX_ATTRIB_ARRAY_POINTER = Enum('GL_VERTEX_ATTRIB_ARRAY_POINTER', 34373)
320
+ GL_VERTEX_ATTRIB_ARRAY_SIZE = Enum('GL_VERTEX_ATTRIB_ARRAY_SIZE', 34339)
321
+ GL_VERTEX_ATTRIB_ARRAY_STRIDE = Enum('GL_VERTEX_ATTRIB_ARRAY_STRIDE', 34340)
322
+ GL_VERTEX_ATTRIB_ARRAY_TYPE = Enum('GL_VERTEX_ATTRIB_ARRAY_TYPE', 34341)
323
+ GL_VERTEX_SHADER = Enum('GL_VERTEX_SHADER', 35633)
324
+ GL_VIEWPORT = Enum('GL_VIEWPORT', 2978)
325
+ GL_ZERO = Enum('GL_ZERO', 0)
326
+
327
+
328
+ ENUM_MAP = {}
329
+ for var_name, ob in list(globals().items()):
330
+ if var_name.startswith('GL_'):
331
+ ENUM_MAP[int(ob)] = ob
332
+ del ob, var_name