OpenGLContext 3.0.0a2__tar.gz → 3.0.0a4__tar.gz

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.
Files changed (1285) hide show
  1. openglcontext-3.0.0a4/OpenGLContext/__init__.py +183 -0
  2. openglcontext-3.0.0a4/OpenGLContext/__pyinstaller/__init__.py +18 -0
  3. openglcontext-3.0.0a4/OpenGLContext/__pyinstaller/hook-OpenGLContext.py +54 -0
  4. openglcontext-3.0.0a4/OpenGLContext/__pyinstaller/hook-glfw.py +17 -0
  5. openglcontext-3.0.0a4/OpenGLContext/atlas.py +302 -0
  6. openglcontext-3.0.0a4/OpenGLContext/bin/character_sheet.py +305 -0
  7. openglcontext-3.0.0a4/OpenGLContext/bin/choosecontext.py +229 -0
  8. openglcontext-3.0.0a4/OpenGLContext/bin/choosefonts.py +219 -0
  9. openglcontext-3.0.0a4/OpenGLContext/bin/gltest.py +173 -0
  10. openglcontext-3.0.0a4/OpenGLContext/bin/gltf_demo.py +514 -0
  11. openglcontext-3.0.0a4/OpenGLContext/bin/gltf_regression.py +661 -0
  12. openglcontext-3.0.0a4/OpenGLContext/bin/keyboardevents.py +96 -0
  13. openglcontext-3.0.0a4/OpenGLContext/bin/lorentz.py +122 -0
  14. openglcontext-3.0.0a4/OpenGLContext/bin/profile_view.py +44 -0
  15. openglcontext-3.0.0a4/OpenGLContext/bin/terrain_view.py +582 -0
  16. openglcontext-3.0.0a4/OpenGLContext/bin/view.py +270 -0
  17. openglcontext-3.0.0a4/OpenGLContext/capture.py +151 -0
  18. openglcontext-3.0.0a4/OpenGLContext/character/__init__.py +37 -0
  19. openglcontext-3.0.0a4/OpenGLContext/character/attachment.py +159 -0
  20. openglcontext-3.0.0a4/OpenGLContext/character/clip.py +456 -0
  21. openglcontext-3.0.0a4/OpenGLContext/character/crowd.py +813 -0
  22. openglcontext-3.0.0a4/OpenGLContext/character/gpuskeleton.py +507 -0
  23. openglcontext-3.0.0a4/OpenGLContext/character/humanoid.py +466 -0
  24. openglcontext-3.0.0a4/OpenGLContext/character/levels.py +148 -0
  25. openglcontext-3.0.0a4/OpenGLContext/character/mixer.py +802 -0
  26. openglcontext-3.0.0a4/OpenGLContext/character/model.py +128 -0
  27. openglcontext-3.0.0a4/OpenGLContext/character/rig.py +259 -0
  28. openglcontext-3.0.0a4/OpenGLContext/character/wander.py +576 -0
  29. openglcontext-3.0.0a4/OpenGLContext/contactsheet.py +133 -0
  30. openglcontext-3.0.0a4/OpenGLContext/context.py +1803 -0
  31. openglcontext-3.0.0a4/OpenGLContext/contextconfig.py +231 -0
  32. openglcontext-3.0.0a4/OpenGLContext/contextdefinition.py +323 -0
  33. openglcontext-3.0.0a4/OpenGLContext/contextresources.py +107 -0
  34. openglcontext-3.0.0a4/OpenGLContext/debug/bufferimage.py +111 -0
  35. openglcontext-3.0.0a4/OpenGLContext/debug/leaks.py +46 -0
  36. openglcontext-3.0.0a4/OpenGLContext/debug/logcontext.py +38 -0
  37. openglcontext-3.0.0a4/OpenGLContext/debug/logs.py +19 -0
  38. openglcontext-3.0.0a4/OpenGLContext/debug/state.py +340 -0
  39. openglcontext-3.0.0a4/OpenGLContext/demos/__init__.py +49 -0
  40. openglcontext-3.0.0a4/OpenGLContext/demos/packaging/README.md +64 -0
  41. openglcontext-3.0.0a4/OpenGLContext/demos/packaging/build-deb.sh +51 -0
  42. openglcontext-3.0.0a4/OpenGLContext/demos/packaging/deb-project/pyproject.toml +39 -0
  43. openglcontext-3.0.0a4/OpenGLContext/demos/packaging/entry.py +35 -0
  44. openglcontext-3.0.0a4/OpenGLContext/demos/packaging/viewer-demos.spec +82 -0
  45. openglcontext-3.0.0a4/OpenGLContext/demos/tk_viewer.py +312 -0
  46. openglcontext-3.0.0a4/OpenGLContext/demos/wx_viewer.py +343 -0
  47. openglcontext-3.0.0a4/OpenGLContext/displaylist.py +79 -0
  48. openglcontext-3.0.0a4/OpenGLContext/doinchildmatrix.py +38 -0
  49. openglcontext-3.0.0a4/OpenGLContext/drawcube.py +68 -0
  50. openglcontext-3.0.0a4/OpenGLContext/edit/__init__.py +10 -0
  51. openglcontext-3.0.0a4/OpenGLContext/edit/controlnet.py +210 -0
  52. openglcontext-3.0.0a4/OpenGLContext/edit/gizmo.py +323 -0
  53. openglcontext-3.0.0a4/OpenGLContext/edit/maptools.py +64 -0
  54. openglcontext-3.0.0a4/OpenGLContext/edit/mapview.py +223 -0
  55. openglcontext-3.0.0a4/OpenGLContext/edit/orbitview.py +242 -0
  56. openglcontext-3.0.0a4/OpenGLContext/edit/relief.py +116 -0
  57. openglcontext-3.0.0a4/OpenGLContext/edit/surface.py +199 -0
  58. openglcontext-3.0.0a4/OpenGLContext/edit/tools.py +253 -0
  59. openglcontext-3.0.0a4/OpenGLContext/eglcontext.py +546 -0
  60. openglcontext-3.0.0a4/OpenGLContext/eglvrmlcontext.py +10 -0
  61. openglcontext-3.0.0a4/OpenGLContext/entropy.py +243 -0
  62. openglcontext-3.0.0a4/OpenGLContext/events/event.py +75 -0
  63. openglcontext-3.0.0a4/OpenGLContext/events/eventhandlermixin.py +328 -0
  64. openglcontext-3.0.0a4/OpenGLContext/events/eventmanager.py +302 -0
  65. openglcontext-3.0.0a4/OpenGLContext/events/glfwevents.py +442 -0
  66. openglcontext-3.0.0a4/OpenGLContext/events/glutevents.py +253 -0
  67. openglcontext-3.0.0a4/OpenGLContext/events/internaltime.py +170 -0
  68. openglcontext-3.0.0a4/OpenGLContext/events/keyboardevents.py +168 -0
  69. openglcontext-3.0.0a4/OpenGLContext/events/mouseevents.py +482 -0
  70. openglcontext-3.0.0a4/OpenGLContext/events/pygameevents.py +295 -0
  71. openglcontext-3.0.0a4/OpenGLContext/events/synthetic.py +166 -0
  72. openglcontext-3.0.0a4/OpenGLContext/events/systemtime.py +64 -0
  73. openglcontext-3.0.0a4/OpenGLContext/events/timeeventgeneratormanager.py +42 -0
  74. openglcontext-3.0.0a4/OpenGLContext/events/timeevents.py +148 -0
  75. openglcontext-3.0.0a4/OpenGLContext/events/timer.py +175 -0
  76. openglcontext-3.0.0a4/OpenGLContext/events/tkevents.py +355 -0
  77. openglcontext-3.0.0a4/OpenGLContext/events/wheel.py +63 -0
  78. openglcontext-3.0.0a4/OpenGLContext/events/wxevents.py +339 -0
  79. openglcontext-3.0.0a4/OpenGLContext/extensionmanager.py +167 -0
  80. openglcontext-3.0.0a4/OpenGLContext/framecounter.py +76 -0
  81. openglcontext-3.0.0a4/OpenGLContext/frustum.py +137 -0
  82. openglcontext-3.0.0a4/OpenGLContext/glfwcontext.py +574 -0
  83. openglcontext-3.0.0a4/OpenGLContext/glfwinteractivecontext.py +35 -0
  84. openglcontext-3.0.0a4/OpenGLContext/glutcontext.py +550 -0
  85. openglcontext-3.0.0a4/OpenGLContext/glutinteractivecontext.py +25 -0
  86. openglcontext-3.0.0a4/OpenGLContext/gluttestingcontext.py +13 -0
  87. openglcontext-3.0.0a4/OpenGLContext/glutvrmlcontext.py +16 -0
  88. openglcontext-3.0.0a4/OpenGLContext/glutvrmltestingcontext.py +54 -0
  89. openglcontext-3.0.0a4/OpenGLContext/loaders/assets.py +298 -0
  90. openglcontext-3.0.0a4/OpenGLContext/loaders/base.py +91 -0
  91. openglcontext-3.0.0a4/OpenGLContext/loaders/gltf/__init__.py +90 -0
  92. openglcontext-3.0.0a4/OpenGLContext/loaders/gltf/accessors.py +296 -0
  93. openglcontext-3.0.0a4/OpenGLContext/loaders/gltf/animation.py +749 -0
  94. openglcontext-3.0.0a4/OpenGLContext/loaders/gltf/fastdecode.py +157 -0
  95. openglcontext-3.0.0a4/OpenGLContext/loaders/gltf/loader.py +172 -0
  96. openglcontext-3.0.0a4/OpenGLContext/loaders/gltf/materials.py +312 -0
  97. openglcontext-3.0.0a4/OpenGLContext/loaders/gltf/meshes.py +300 -0
  98. openglcontext-3.0.0a4/OpenGLContext/loaders/gltf/samples.py +178 -0
  99. openglcontext-3.0.0a4/OpenGLContext/loaders/gltf/scene.py +744 -0
  100. openglcontext-3.0.0a4/OpenGLContext/loaders/gltf/textures.py +222 -0
  101. openglcontext-3.0.0a4/OpenGLContext/loaders/gltf/writer.py +757 -0
  102. openglcontext-3.0.0a4/OpenGLContext/loaders/gltf_demos.py +517 -0
  103. openglcontext-3.0.0a4/OpenGLContext/loaders/loader.py +303 -0
  104. openglcontext-3.0.0a4/OpenGLContext/loaders/obj.py +313 -0
  105. openglcontext-3.0.0a4/OpenGLContext/loaders/tiles3d/dem.py +71 -0
  106. openglcontext-3.0.0a4/OpenGLContext/loaders/tiles3d/foliage.py +795 -0
  107. openglcontext-3.0.0a4/OpenGLContext/loaders/tiles3d/frustum.py +71 -0
  108. openglcontext-3.0.0a4/OpenGLContext/loaders/tiles3d/geomorph.py +57 -0
  109. openglcontext-3.0.0a4/OpenGLContext/loaders/tiles3d/gltf_uploader.py +252 -0
  110. openglcontext-3.0.0a4/OpenGLContext/loaders/tiles3d/manifest.py +151 -0
  111. openglcontext-3.0.0a4/OpenGLContext/loaders/tiles3d/physics_colliders.py +105 -0
  112. openglcontext-3.0.0a4/OpenGLContext/loaders/tiles3d/procedural.py +476 -0
  113. openglcontext-3.0.0a4/OpenGLContext/loaders/tiles3d/runtime.py +182 -0
  114. openglcontext-3.0.0a4/OpenGLContext/loaders/tiles3d/tileset.py +391 -0
  115. openglcontext-3.0.0a4/OpenGLContext/loaders/tiles3d/vegetation.py +394 -0
  116. openglcontext-3.0.0a4/OpenGLContext/loaders/vrml97.py +132 -0
  117. openglcontext-3.0.0a4/OpenGLContext/looptrace.py +319 -0
  118. openglcontext-3.0.0a4/OpenGLContext/move/direct.py +165 -0
  119. openglcontext-3.0.0a4/OpenGLContext/move/dragwatcher.py +69 -0
  120. openglcontext-3.0.0a4/OpenGLContext/move/examinemanager.py +163 -0
  121. openglcontext-3.0.0a4/OpenGLContext/move/followcam.py +155 -0
  122. openglcontext-3.0.0a4/OpenGLContext/move/movementmanager.py +121 -0
  123. openglcontext-3.0.0a4/OpenGLContext/move/orbit.py +336 -0
  124. openglcontext-3.0.0a4/OpenGLContext/move/physicswalk.py +472 -0
  125. openglcontext-3.0.0a4/OpenGLContext/move/smooth.py +80 -0
  126. openglcontext-3.0.0a4/OpenGLContext/move/terrainwalk.py +451 -0
  127. openglcontext-3.0.0a4/OpenGLContext/move/trackball.py +102 -0
  128. openglcontext-3.0.0a4/OpenGLContext/move/viewplatform.py +310 -0
  129. openglcontext-3.0.0a4/OpenGLContext/nav/navmesh.py +701 -0
  130. openglcontext-3.0.0a4/OpenGLContext/outline.py +362 -0
  131. openglcontext-3.0.0a4/OpenGLContext/packaging/__init__.py +227 -0
  132. openglcontext-3.0.0a4/OpenGLContext/packaging/appdir.py +420 -0
  133. openglcontext-3.0.0a4/OpenGLContext/packaging/deb.py +864 -0
  134. openglcontext-3.0.0a4/OpenGLContext/packaging/multicall.py +129 -0
  135. openglcontext-3.0.0a4/OpenGLContext/passes/_flat.py +1721 -0
  136. openglcontext-3.0.0a4/OpenGLContext/passes/asyncpick.py +262 -0
  137. openglcontext-3.0.0a4/OpenGLContext/passes/bloom.py +309 -0
  138. openglcontext-3.0.0a4/OpenGLContext/passes/flatcompat.py +275 -0
  139. openglcontext-3.0.0a4/OpenGLContext/passes/flatcore.py +199 -0
  140. openglcontext-3.0.0a4/OpenGLContext/passes/flateffects.py +382 -0
  141. openglcontext-3.0.0a4/OpenGLContext/passes/ibl.py +746 -0
  142. openglcontext-3.0.0a4/OpenGLContext/passes/instancing.py +961 -0
  143. openglcontext-3.0.0a4/OpenGLContext/passes/pbrpass.py +1021 -0
  144. openglcontext-3.0.0a4/OpenGLContext/passes/renderfailures.py +158 -0
  145. openglcontext-3.0.0a4/OpenGLContext/passes/renderpass.py +171 -0
  146. openglcontext-3.0.0a4/OpenGLContext/passes/selection.py +455 -0
  147. openglcontext-3.0.0a4/OpenGLContext/passes/selectionbuffers.py +467 -0
  148. openglcontext-3.0.0a4/OpenGLContext/passes/shaderpass.py +1220 -0
  149. openglcontext-3.0.0a4/OpenGLContext/passes/shaderpass_shadow.py +215 -0
  150. openglcontext-3.0.0a4/OpenGLContext/passes/shadersource.py +184 -0
  151. openglcontext-3.0.0a4/OpenGLContext/passes/shadowcaps.py +242 -0
  152. openglcontext-3.0.0a4/OpenGLContext/passes/shadowmap.py +375 -0
  153. openglcontext-3.0.0a4/OpenGLContext/passes/shadowmath.py +371 -0
  154. openglcontext-3.0.0a4/OpenGLContext/passes/shadowmixin.py +999 -0
  155. openglcontext-3.0.0a4/OpenGLContext/passes/shadowpool.py +187 -0
  156. openglcontext-3.0.0a4/OpenGLContext/passes/transmission.py +138 -0
  157. openglcontext-3.0.0a4/OpenGLContext/passes/viewpointbinding.py +61 -0
  158. openglcontext-3.0.0a4/OpenGLContext/physics/gltf_world.py +211 -0
  159. openglcontext-3.0.0a4/OpenGLContext/physics/heightfield.py +166 -0
  160. openglcontext-3.0.0a4/OpenGLContext/physics/props.py +115 -0
  161. openglcontext-3.0.0a4/OpenGLContext/physics/road.py +313 -0
  162. openglcontext-3.0.0a4/OpenGLContext/plugins.py +67 -0
  163. openglcontext-3.0.0a4/OpenGLContext/py.typed +0 -0
  164. openglcontext-3.0.0a4/OpenGLContext/pygamecontext.py +435 -0
  165. openglcontext-3.0.0a4/OpenGLContext/pygameinteractivecontext.py +40 -0
  166. openglcontext-3.0.0a4/OpenGLContext/pygametestingcontext.py +12 -0
  167. openglcontext-3.0.0a4/OpenGLContext/pygamevrmlcontext.py +14 -0
  168. openglcontext-3.0.0a4/OpenGLContext/quaternion.py +221 -0
  169. openglcontext-3.0.0a4/OpenGLContext/renderoptions.py +370 -0
  170. openglcontext-3.0.0a4/OpenGLContext/resources/__init__.py +33 -0
  171. openglcontext-3.0.0a4/OpenGLContext/resources/phongprecalc_vert.py +31 -0
  172. openglcontext-3.0.0a4/OpenGLContext/resources/phongweights_frag.py +48 -0
  173. openglcontext-3.0.0a4/OpenGLContext/resources/simpleshader.frag.txt +10 -0
  174. openglcontext-3.0.0a4/OpenGLContext/resources/simpleshader.vert.txt +32 -0
  175. openglcontext-3.0.0a4/OpenGLContext/resources/simpleshader_frag_txt.py +13 -0
  176. openglcontext-3.0.0a4/OpenGLContext/resources/simpleshader_vert_txt.py +28 -0
  177. openglcontext-3.0.0a4/OpenGLContext/scenegraph/__init__.py +19 -0
  178. openglcontext-3.0.0a4/OpenGLContext/scenegraph/_basenodes_stub.py +208 -0
  179. openglcontext-3.0.0a4/OpenGLContext/scenegraph/appearance.py +109 -0
  180. openglcontext-3.0.0a4/OpenGLContext/scenegraph/arraygeometry.py +246 -0
  181. openglcontext-3.0.0a4/OpenGLContext/scenegraph/atlasmesh.py +119 -0
  182. openglcontext-3.0.0a4/OpenGLContext/scenegraph/audio.py +681 -0
  183. openglcontext-3.0.0a4/OpenGLContext/scenegraph/background.py +120 -0
  184. openglcontext-3.0.0a4/OpenGLContext/scenegraph/basenodes.py +73 -0
  185. openglcontext-3.0.0a4/OpenGLContext/scenegraph/basenodes.pyi +237 -0
  186. openglcontext-3.0.0a4/OpenGLContext/scenegraph/billboard.py +17 -0
  187. openglcontext-3.0.0a4/OpenGLContext/scenegraph/boundingvolume.py +428 -0
  188. openglcontext-3.0.0a4/OpenGLContext/scenegraph/box.py +188 -0
  189. openglcontext-3.0.0a4/OpenGLContext/scenegraph/coordinate.py +22 -0
  190. openglcontext-3.0.0a4/OpenGLContext/scenegraph/coordinatebounded.py +28 -0
  191. openglcontext-3.0.0a4/OpenGLContext/scenegraph/cubebackground.py +220 -0
  192. openglcontext-3.0.0a4/OpenGLContext/scenegraph/extrusions.py +459 -0
  193. openglcontext-3.0.0a4/OpenGLContext/scenegraph/frommesh.py +111 -0
  194. openglcontext-3.0.0a4/OpenGLContext/scenegraph/gantry.py +351 -0
  195. openglcontext-3.0.0a4/OpenGLContext/scenegraph/gear.py +331 -0
  196. openglcontext-3.0.0a4/OpenGLContext/scenegraph/geometryarrays.py +338 -0
  197. openglcontext-3.0.0a4/OpenGLContext/scenegraph/grouping.py +154 -0
  198. openglcontext-3.0.0a4/OpenGLContext/scenegraph/hdrbackground.py +440 -0
  199. openglcontext-3.0.0a4/OpenGLContext/scenegraph/imagetexture.py +368 -0
  200. openglcontext-3.0.0a4/OpenGLContext/scenegraph/indexedfaceset.py +240 -0
  201. openglcontext-3.0.0a4/OpenGLContext/scenegraph/indexedlineset.py +452 -0
  202. openglcontext-3.0.0a4/OpenGLContext/scenegraph/indexedpolygons.py +447 -0
  203. openglcontext-3.0.0a4/OpenGLContext/scenegraph/inline.py +93 -0
  204. openglcontext-3.0.0a4/OpenGLContext/scenegraph/instancedgl.py +213 -0
  205. openglcontext-3.0.0a4/OpenGLContext/scenegraph/instancedshape.py +338 -0
  206. openglcontext-3.0.0a4/OpenGLContext/scenegraph/interpolators.py +139 -0
  207. openglcontext-3.0.0a4/OpenGLContext/scenegraph/light.py +247 -0
  208. openglcontext-3.0.0a4/OpenGLContext/scenegraph/lightgrid.py +202 -0
  209. openglcontext-3.0.0a4/OpenGLContext/scenegraph/lod.py +113 -0
  210. openglcontext-3.0.0a4/OpenGLContext/scenegraph/material.py +100 -0
  211. openglcontext-3.0.0a4/OpenGLContext/scenegraph/mouseover.py +45 -0
  212. openglcontext-3.0.0a4/OpenGLContext/scenegraph/nodepath.py +64 -0
  213. openglcontext-3.0.0a4/OpenGLContext/scenegraph/nurbs.py +712 -0
  214. openglcontext-3.0.0a4/OpenGLContext/scenegraph/nurbssampling.py +98 -0
  215. openglcontext-3.0.0a4/OpenGLContext/scenegraph/nurbstess.py +405 -0
  216. openglcontext-3.0.0a4/OpenGLContext/scenegraph/nurbstrim.py +94 -0
  217. openglcontext-3.0.0a4/OpenGLContext/scenegraph/particles.py +797 -0
  218. openglcontext-3.0.0a4/OpenGLContext/scenegraph/pbrmaterial.py +236 -0
  219. openglcontext-3.0.0a4/OpenGLContext/scenegraph/pbrmesh.py +837 -0
  220. openglcontext-3.0.0a4/OpenGLContext/scenegraph/pointset.py +278 -0
  221. openglcontext-3.0.0a4/OpenGLContext/scenegraph/polygon.py +169 -0
  222. openglcontext-3.0.0a4/OpenGLContext/scenegraph/polygonsort.py +119 -0
  223. openglcontext-3.0.0a4/OpenGLContext/scenegraph/polygontessellator.py +216 -0
  224. openglcontext-3.0.0a4/OpenGLContext/scenegraph/props.py +282 -0
  225. openglcontext-3.0.0a4/OpenGLContext/scenegraph/quadrics.py +503 -0
  226. openglcontext-3.0.0a4/OpenGLContext/scenegraph/road.py +1107 -0
  227. openglcontext-3.0.0a4/OpenGLContext/scenegraph/roadsigns.py +602 -0
  228. openglcontext-3.0.0a4/OpenGLContext/scenegraph/roadworks.py +967 -0
  229. openglcontext-3.0.0a4/OpenGLContext/scenegraph/scenegraph.py +25 -0
  230. openglcontext-3.0.0a4/OpenGLContext/scenegraph/shadergeometry.py +123 -0
  231. openglcontext-3.0.0a4/OpenGLContext/scenegraph/shaders.py +948 -0
  232. openglcontext-3.0.0a4/OpenGLContext/scenegraph/shape.py +328 -0
  233. openglcontext-3.0.0a4/OpenGLContext/scenegraph/simplebackground.py +36 -0
  234. openglcontext-3.0.0a4/OpenGLContext/scenegraph/skinning.py +254 -0
  235. openglcontext-3.0.0a4/OpenGLContext/scenegraph/spherebackground.py +524 -0
  236. openglcontext-3.0.0a4/OpenGLContext/scenegraph/switch.py +102 -0
  237. openglcontext-3.0.0a4/OpenGLContext/scenegraph/teapot.py +518 -0
  238. openglcontext-3.0.0a4/OpenGLContext/scenegraph/teapot_nurbs.py +279 -0
  239. openglcontext-3.0.0a4/OpenGLContext/scenegraph/terrain/__init__.py +17 -0
  240. openglcontext-3.0.0a4/OpenGLContext/scenegraph/terrain/control.py +134 -0
  241. openglcontext-3.0.0a4/OpenGLContext/scenegraph/terrain/heightfield.py +290 -0
  242. openglcontext-3.0.0a4/OpenGLContext/scenegraph/terrain/splat.py +321 -0
  243. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/_toolsfont.py +216 -0
  244. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/font.py +510 -0
  245. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/fontprovider.py +230 -0
  246. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/fonts/__init__.py +77 -0
  247. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/fonts/font_atlas_10.py +134 -0
  248. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/fonts/font_atlas_12.py +159 -0
  249. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/fonts/font_atlas_14.py +177 -0
  250. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/fonts/font_atlas_16.py +205 -0
  251. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/fonts/font_atlas_18.py +223 -0
  252. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/fonts/font_atlas_20.py +245 -0
  253. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/fonts/font_atlas_24.py +295 -0
  254. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/fonts/font_atlas_28.py +340 -0
  255. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/fonts/font_atlas_32.py +391 -0
  256. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/glutfont.py +209 -0
  257. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/pygamefont.py +236 -0
  258. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/shaderfont.py +347 -0
  259. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/shadertext.py +442 -0
  260. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/text.py +80 -0
  261. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/toolsfont.py +816 -0
  262. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/ttfregistry.py +159 -0
  263. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/wglfont.py +244 -0
  264. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/wglfontprovider.py +41 -0
  265. openglcontext-3.0.0a4/OpenGLContext/scenegraph/text/wxfont.py +337 -0
  266. openglcontext-3.0.0a4/OpenGLContext/scenegraph/texturetransform.py +70 -0
  267. openglcontext-3.0.0a4/OpenGLContext/scenegraph/tilesterrain.py +257 -0
  268. openglcontext-3.0.0a4/OpenGLContext/scenegraph/timesensor.py +53 -0
  269. openglcontext-3.0.0a4/OpenGLContext/scenegraph/transform.py +185 -0
  270. openglcontext-3.0.0a4/OpenGLContext/scenegraph/vegetation/__init__.py +34 -0
  271. openglcontext-3.0.0a4/OpenGLContext/scenegraph/vegetation/base.py +112 -0
  272. openglcontext-3.0.0a4/OpenGLContext/scenegraph/vegetation/billboards.py +153 -0
  273. openglcontext-3.0.0a4/OpenGLContext/scenegraph/vegetation/clumps.py +275 -0
  274. openglcontext-3.0.0a4/OpenGLContext/scenegraph/vegetation/cover.py +232 -0
  275. openglcontext-3.0.0a4/OpenGLContext/scenegraph/vegetation/field.py +370 -0
  276. openglcontext-3.0.0a4/OpenGLContext/scenegraph/vegetation/grid.py +119 -0
  277. openglcontext-3.0.0a4/OpenGLContext/scenegraph/vegetation/nearmesh.py +199 -0
  278. openglcontext-3.0.0a4/OpenGLContext/scenegraph/vertex.py +56 -0
  279. openglcontext-3.0.0a4/OpenGLContext/scenegraph/vertexsemantics.py +116 -0
  280. openglcontext-3.0.0a4/OpenGLContext/scenegraph/viewpoint.py +44 -0
  281. openglcontext-3.0.0a4/OpenGLContext/scenegraph/water/__init__.py +70 -0
  282. openglcontext-3.0.0a4/OpenGLContext/scenegraph/water/medium.py +115 -0
  283. openglcontext-3.0.0a4/OpenGLContext/scenegraph/water/submersion.py +80 -0
  284. openglcontext-3.0.0a4/OpenGLContext/scenegraph/water/surface.py +541 -0
  285. openglcontext-3.0.0a4/OpenGLContext/scenegraph/water/volumes.py +114 -0
  286. openglcontext-3.0.0a4/OpenGLContext/scenegraph/winding.py +49 -0
  287. openglcontext-3.0.0a4/OpenGLContext/screenshot.py +210 -0
  288. openglcontext-3.0.0a4/OpenGLContext/shaders/_shadow_inc.glsl +272 -0
  289. openglcontext-3.0.0a4/OpenGLContext/shaders/_skinning_inc.glsl +69 -0
  290. openglcontext-3.0.0a4/OpenGLContext/shaders/_wave_inc.glsl +98 -0
  291. openglcontext-3.0.0a4/OpenGLContext/shaders/hdr_background.vert +15 -0
  292. openglcontext-3.0.0a4/OpenGLContext/shaders/pbr.frag +969 -0
  293. openglcontext-3.0.0a4/OpenGLContext/shaders/pbr.vert +100 -0
  294. openglcontext-3.0.0a4/OpenGLContext/shaders/shadow_depth.vert +25 -0
  295. openglcontext-3.0.0a4/OpenGLContext/shaders/terrain_splat.vert +16 -0
  296. openglcontext-3.0.0a4/OpenGLContext/shaders/veg_billboard.frag +37 -0
  297. openglcontext-3.0.0a4/OpenGLContext/shaders/veg_billboard.vert +18 -0
  298. openglcontext-3.0.0a4/OpenGLContext/shaders/veg_clump.frag +35 -0
  299. openglcontext-3.0.0a4/OpenGLContext/shaders/veg_mesh.frag +28 -0
  300. openglcontext-3.0.0a4/OpenGLContext/shaders/veg_mesh.vert +18 -0
  301. openglcontext-3.0.0a4/OpenGLContext/shaders/vrml97_background.vert +24 -0
  302. openglcontext-3.0.0a4/OpenGLContext/shaders/vrml97_lighting.vert +50 -0
  303. openglcontext-3.0.0a4/OpenGLContext/shaders/vrml97_line.vert +24 -0
  304. openglcontext-3.0.0a4/OpenGLContext/shaders/vrml97_point.vert +21 -0
  305. openglcontext-3.0.0a4/OpenGLContext/shaders/vrml97_unlit.vert +18 -0
  306. openglcontext-3.0.0a4/OpenGLContext/shaders/vrml97_vertex_color.vert +34 -0
  307. openglcontext-3.0.0a4/OpenGLContext/swapcontrol.py +82 -0
  308. openglcontext-3.0.0a4/OpenGLContext/telemetry/__init__.py +88 -0
  309. openglcontext-3.0.0a4/OpenGLContext/telemetry/__main__.py +6 -0
  310. openglcontext-3.0.0a4/OpenGLContext/telemetry/journal.py +166 -0
  311. openglcontext-3.0.0a4/OpenGLContext/telemetry/record.py +652 -0
  312. openglcontext-3.0.0a4/OpenGLContext/telemetry/recorder.py +353 -0
  313. openglcontext-3.0.0a4/OpenGLContext/telemetry/replay.py +516 -0
  314. openglcontext-3.0.0a4/OpenGLContext/telemetry/report.py +250 -0
  315. openglcontext-3.0.0a4/OpenGLContext/testing/display.py +43 -0
  316. openglcontext-3.0.0a4/OpenGLContext/testing/event_injector.py +599 -0
  317. openglcontext-3.0.0a4/OpenGLContext/testing/framebuffer_comparison.py +911 -0
  318. openglcontext-3.0.0a4/OpenGLContext/testing/gl_env.py +298 -0
  319. openglcontext-3.0.0a4/OpenGLContext/testing/glcontext.py +659 -0
  320. openglcontext-3.0.0a4/OpenGLContext/testing/glfwteardown.py +269 -0
  321. openglcontext-3.0.0a4/OpenGLContext/testing/plugin.py +334 -0
  322. openglcontext-3.0.0a4/OpenGLContext/testing/process_exit.py +30 -0
  323. openglcontext-3.0.0a4/OpenGLContext/testing/report_generator.py +594 -0
  324. openglcontext-3.0.0a4/OpenGLContext/testing/subprocess_runner.py +413 -0
  325. openglcontext-3.0.0a4/OpenGLContext/testingcontext.py +77 -0
  326. openglcontext-3.0.0a4/OpenGLContext/tests/test_atlas.py +62 -0
  327. openglcontext-3.0.0a4/OpenGLContext/tests/test_configs.py +27 -0
  328. openglcontext-3.0.0a4/OpenGLContext/tests/test_polygonsort.py +45 -0
  329. openglcontext-3.0.0a4/OpenGLContext/tests/test_utilities.py +88 -0
  330. openglcontext-3.0.0a4/OpenGLContext/tests/test_viewplatform.py +39 -0
  331. openglcontext-3.0.0a4/OpenGLContext/texture.py +497 -0
  332. openglcontext-3.0.0a4/OpenGLContext/texturecache.py +52 -0
  333. openglcontext-3.0.0a4/OpenGLContext/tkcontext.py +517 -0
  334. openglcontext-3.0.0a4/OpenGLContext/tkinteractivecontext.py +26 -0
  335. openglcontext-3.0.0a4/OpenGLContext/tktestingcontext.py +15 -0
  336. openglcontext-3.0.0a4/OpenGLContext/tkvrmlcontext.py +10 -0
  337. openglcontext-3.0.0a4/OpenGLContext/triangleutilities.py +92 -0
  338. openglcontext-3.0.0a4/OpenGLContext/ui/console.py +339 -0
  339. openglcontext-3.0.0a4/OpenGLContext/ui/debugoverlay.py +568 -0
  340. openglcontext-3.0.0a4/OpenGLContext/ui/dialogs.py +124 -0
  341. openglcontext-3.0.0a4/OpenGLContext/ui/draw.py +700 -0
  342. openglcontext-3.0.0a4/OpenGLContext/ui/gallery.py +439 -0
  343. openglcontext-3.0.0a4/OpenGLContext/ui/hudwidgets.py +1330 -0
  344. openglcontext-3.0.0a4/OpenGLContext/ui/menu.py +377 -0
  345. openglcontext-3.0.0a4/OpenGLContext/ui/overlay.py +526 -0
  346. openglcontext-3.0.0a4/OpenGLContext/ui/panel.py +460 -0
  347. openglcontext-3.0.0a4/OpenGLContext/ui/pictures.py +299 -0
  348. openglcontext-3.0.0a4/OpenGLContext/ui/screen.py +177 -0
  349. openglcontext-3.0.0a4/OpenGLContext/ui/settings.py +284 -0
  350. openglcontext-3.0.0a4/OpenGLContext/ui/toolpalette.py +215 -0
  351. openglcontext-3.0.0a4/OpenGLContext/ui/widgets.py +1226 -0
  352. openglcontext-3.0.0a4/OpenGLContext/userpaths.py +156 -0
  353. openglcontext-3.0.0a4/OpenGLContext/utilities.py +96 -0
  354. openglcontext-3.0.0a4/OpenGLContext/vectorutilities.py +106 -0
  355. openglcontext-3.0.0a4/OpenGLContext/video/__init__.py +14 -0
  356. openglcontext-3.0.0a4/OpenGLContext/video/clock.py +164 -0
  357. openglcontext-3.0.0a4/OpenGLContext/video/recorder.py +369 -0
  358. openglcontext-3.0.0a4/OpenGLContext/viewer/__init__.py +112 -0
  359. openglcontext-3.0.0a4/OpenGLContext/viewer/adapters/base.py +157 -0
  360. openglcontext-3.0.0a4/OpenGLContext/viewer/asyncscene.py +202 -0
  361. openglcontext-3.0.0a4/OpenGLContext/viewer/capture.py +93 -0
  362. openglcontext-3.0.0a4/OpenGLContext/viewer/commentary.py +59 -0
  363. openglcontext-3.0.0a4/OpenGLContext/viewer/environment.py +266 -0
  364. openglcontext-3.0.0a4/OpenGLContext/viewer/framing.py +127 -0
  365. openglcontext-3.0.0a4/OpenGLContext/viewer/options.py +136 -0
  366. openglcontext-3.0.0a4/OpenGLContext/viewer/sceneviewer.py +1097 -0
  367. openglcontext-3.0.0a4/OpenGLContext/viewer/screens.py +173 -0
  368. openglcontext-3.0.0a4/OpenGLContext/visitor.py +72 -0
  369. openglcontext-3.0.0a4/OpenGLContext/vrmlcontext.py +91 -0
  370. openglcontext-3.0.0a4/OpenGLContext/wglcontext.py +353 -0
  371. openglcontext-3.0.0a4/OpenGLContext/wglvrmlcontext.py +10 -0
  372. openglcontext-3.0.0a4/OpenGLContext/wxcontext.py +586 -0
  373. openglcontext-3.0.0a4/OpenGLContext/wxinteractivecontext.py +27 -0
  374. openglcontext-3.0.0a4/OpenGLContext/wxtestingcontext.py +11 -0
  375. openglcontext-3.0.0a4/OpenGLContext/wxvrmlcontext.py +14 -0
  376. openglcontext-3.0.0a4/OpenGLContext.egg-info/PKG-INFO +687 -0
  377. openglcontext-3.0.0a4/OpenGLContext.egg-info/SOURCES.txt +855 -0
  378. openglcontext-3.0.0a4/OpenGLContext.egg-info/entry_points.txt +16 -0
  379. openglcontext-3.0.0a4/OpenGLContext.egg-info/requires.txt +45 -0
  380. openglcontext-3.0.0a4/PKG-INFO +687 -0
  381. openglcontext-3.0.0a4/README.md +624 -0
  382. openglcontext-3.0.0a4/docs/audio.html +788 -0
  383. openglcontext-3.0.0a4/docs/baking.html +477 -0
  384. openglcontext-3.0.0a4/docs/characters.html +447 -0
  385. openglcontext-3.0.0a4/docs/documentation.html +620 -0
  386. openglcontext-3.0.0a4/docs/editing.html +440 -0
  387. openglcontext-3.0.0a4/docs/embedding.html +263 -0
  388. openglcontext-3.0.0a4/docs/environment.html +304 -0
  389. openglcontext-3.0.0a4/docs/eventmodel.html +208 -0
  390. openglcontext-3.0.0a4/docs/extrusions.html +411 -0
  391. openglcontext-3.0.0a4/docs/flat.html +202 -0
  392. openglcontext-3.0.0a4/docs/glisteel-editor.html +111 -0
  393. openglcontext-3.0.0a4/docs/glisteel.html +142 -0
  394. openglcontext-3.0.0a4/docs/glslversions.html +174 -0
  395. openglcontext-3.0.0a4/docs/gltf.html +563 -0
  396. openglcontext-3.0.0a4/docs/hud.html +714 -0
  397. openglcontext-3.0.0a4/docs/images/ATTRIBUTION.md +106 -0
  398. openglcontext-3.0.0a4/docs/images/extrusions/curves.png +0 -0
  399. openglcontext-3.0.0a4/docs/images/extrusions/fig_caps.png +0 -0
  400. openglcontext-3.0.0a4/docs/images/extrusions/fig_contours.png +0 -0
  401. openglcontext-3.0.0a4/docs/images/extrusions/fig_curve_sampling.png +0 -0
  402. openglcontext-3.0.0a4/docs/images/extrusions/fig_lathe.png +0 -0
  403. openglcontext-3.0.0a4/docs/images/extrusions/fig_polycone.png +0 -0
  404. openglcontext-3.0.0a4/docs/images/extrusions/fig_preprocessing.png +0 -0
  405. openglcontext-3.0.0a4/docs/images/extrusions/fig_scale_twist.png +0 -0
  406. openglcontext-3.0.0a4/docs/images/extrusions/fig_screw.png +0 -0
  407. openglcontext-3.0.0a4/docs/images/extrusions/fig_spiral.png +0 -0
  408. openglcontext-3.0.0a4/docs/images/extrusions/fig_texture_caps.png +0 -0
  409. openglcontext-3.0.0a4/docs/images/extrusions/fig_texture_modes.png +0 -0
  410. openglcontext-3.0.0a4/docs/images/extrusions/fig_texture_parameter.png +0 -0
  411. openglcontext-3.0.0a4/docs/images/extrusions/joins.png +0 -0
  412. openglcontext-3.0.0a4/docs/images/extrusions/normals.png +0 -0
  413. openglcontext-3.0.0a4/docs/images/extrusions/shapes.png +0 -0
  414. openglcontext-3.0.0a4/docs/images/extrusions/tessellation.png +0 -0
  415. openglcontext-3.0.0a4/docs/images/extrusions/vrml97.png +0 -0
  416. openglcontext-3.0.0a4/docs/images/manifest.toml +564 -0
  417. openglcontext-3.0.0a4/docs/index.html +285 -0
  418. openglcontext-3.0.0a4/docs/instancing.html +485 -0
  419. openglcontext-3.0.0a4/docs/navigation.html +384 -0
  420. openglcontext-3.0.0a4/docs/navmesh.html +310 -0
  421. openglcontext-3.0.0a4/docs/nurbs.html +255 -0
  422. openglcontext-3.0.0a4/docs/offscreen.html +289 -0
  423. openglcontext-3.0.0a4/docs/osmcity.html +135 -0
  424. openglcontext-3.0.0a4/docs/overlayui.html +749 -0
  425. openglcontext-3.0.0a4/docs/packaging.html +260 -0
  426. openglcontext-3.0.0a4/docs/particles.html +377 -0
  427. openglcontext-3.0.0a4/docs/pbr.html +633 -0
  428. openglcontext-3.0.0a4/docs/physics.html +484 -0
  429. openglcontext-3.0.0a4/docs/recording.html +249 -0
  430. openglcontext-3.0.0a4/docs/renderpasses.html +393 -0
  431. openglcontext-3.0.0a4/docs/roads.html +728 -0
  432. openglcontext-3.0.0a4/docs/shadows.html +494 -0
  433. openglcontext-3.0.0a4/docs/structure.html +615 -0
  434. openglcontext-3.0.0a4/docs/style/gallery.css +175 -0
  435. openglcontext-3.0.0a4/docs/telemetry.html +475 -0
  436. openglcontext-3.0.0a4/docs/terrain.html +262 -0
  437. openglcontext-3.0.0a4/docs/testing.html +489 -0
  438. openglcontext-3.0.0a4/docs/text.html +279 -0
  439. openglcontext-3.0.0a4/docs/tiles3d.html +332 -0
  440. openglcontext-3.0.0a4/docs/tutorials/tutorial.css +99 -0
  441. openglcontext-3.0.0a4/docs/typing.html +153 -0
  442. openglcontext-3.0.0a4/docs/vegetation.html +218 -0
  443. openglcontext-3.0.0a4/docs/viewer.html +440 -0
  444. openglcontext-3.0.0a4/docs/vrml97.html +504 -0
  445. openglcontext-3.0.0a4/docs/water.html +313 -0
  446. openglcontext-3.0.0a4/pyproject.toml +308 -0
  447. openglcontext-3.0.0a4/tests/_gltf_toggle_driver.py +136 -0
  448. openglcontext-3.0.0a4/tests/_shader_tut_lightprecalc.vert +18 -0
  449. openglcontext-3.0.0a4/tests/addnodes.py +76 -0
  450. openglcontext-3.0.0a4/tests/arbocclusionquery.py +108 -0
  451. openglcontext-3.0.0a4/tests/arbpointparameters.py +92 -0
  452. openglcontext-3.0.0a4/tests/arbwindowpos.py +119 -0
  453. openglcontext-3.0.0a4/tests/bake_demo.py +240 -0
  454. openglcontext-3.0.0a4/tests/crowd_demo.py +246 -0
  455. openglcontext-3.0.0a4/tests/cubeback_rot.py +84 -0
  456. openglcontext-3.0.0a4/tests/cubebackgroundobject.py +52 -0
  457. openglcontext-3.0.0a4/tests/dek_surf.py +78 -0
  458. openglcontext-3.0.0a4/tests/dek_texturesurf.py +121 -0
  459. openglcontext-3.0.0a4/tests/diag_live.py +92 -0
  460. openglcontext-3.0.0a4/tests/editing_demo.py +546 -0
  461. openglcontext-3.0.0a4/tests/extrusions_curves.py +101 -0
  462. openglcontext-3.0.0a4/tests/extrusions_gallery.py +444 -0
  463. openglcontext-3.0.0a4/tests/extrusions_joins.py +84 -0
  464. openglcontext-3.0.0a4/tests/extrusions_normals.py +85 -0
  465. openglcontext-3.0.0a4/tests/extrusions_preprocessing.py +92 -0
  466. openglcontext-3.0.0a4/tests/extrusions_shapes.py +103 -0
  467. openglcontext-3.0.0a4/tests/extrusions_tessellation.py +125 -0
  468. openglcontext-3.0.0a4/tests/extrusions_vrml97.py +124 -0
  469. openglcontext-3.0.0a4/tests/feedback_mode.py +58 -0
  470. openglcontext-3.0.0a4/tests/getteximage.py +63 -0
  471. openglcontext-3.0.0a4/tests/glarrayelement.py +26 -0
  472. openglcontext-3.0.0a4/tests/gldrawarrays.py +22 -0
  473. openglcontext-3.0.0a4/tests/gldrawarrays_string.py +23 -0
  474. openglcontext-3.0.0a4/tests/gldrawelements.py +24 -0
  475. openglcontext-3.0.0a4/tests/gldrawelements_list.py +60 -0
  476. openglcontext-3.0.0a4/tests/gldrawelements_string.py +31 -0
  477. openglcontext-3.0.0a4/tests/gldrawpixels.py +93 -0
  478. openglcontext-3.0.0a4/tests/gldrawpixelssynth.py +73 -0
  479. openglcontext-3.0.0a4/tests/glelathe.py +131 -0
  480. openglcontext-3.0.0a4/tests/glget.py +335 -0
  481. openglcontext-3.0.0a4/tests/glget_with_fonts.py +359 -0
  482. openglcontext-3.0.0a4/tests/glgetlight.py +30 -0
  483. openglcontext-3.0.0a4/tests/glgetmaterial.py +25 -0
  484. openglcontext-3.0.0a4/tests/glgetpixelmap.py +29 -0
  485. openglcontext-3.0.0a4/tests/glgetpolygonstipple.py +19 -0
  486. openglcontext-3.0.0a4/tests/glhistogram.py +89 -0
  487. openglcontext-3.0.0a4/tests/glinterleavedarrays.py +53 -0
  488. openglcontext-3.0.0a4/tests/glprint.py +143 -0
  489. openglcontext-3.0.0a4/tests/glu_tess.py +75 -0
  490. openglcontext-3.0.0a4/tests/glu_tess2.py +80 -0
  491. openglcontext-3.0.0a4/tests/glugetstring.py +18 -0
  492. openglcontext-3.0.0a4/tests/glut_bitmap_font.py +15 -0
  493. openglcontext-3.0.0a4/tests/glut_font.py +46 -0
  494. openglcontext-3.0.0a4/tests/glut_fullscreen.py +64 -0
  495. openglcontext-3.0.0a4/tests/glutbitmapcharacter.py +51 -0
  496. openglcontext-3.0.0a4/tests/glutmousewheel.py +44 -0
  497. openglcontext-3.0.0a4/tests/glvertex.py +21 -0
  498. openglcontext-3.0.0a4/tests/heightmap.py +106 -0
  499. openglcontext-3.0.0a4/tests/hud_demo.py +331 -0
  500. openglcontext-3.0.0a4/tests/ilsstrategies.py +45 -0
  501. openglcontext-3.0.0a4/tests/indexedfaceset_lit_npf.py +238 -0
  502. openglcontext-3.0.0a4/tests/indexedfaceset_lit_npv.py +102 -0
  503. openglcontext-3.0.0a4/tests/instancing_batched.py +158 -0
  504. openglcontext-3.0.0a4/tests/line_stipple.py +43 -0
  505. openglcontext-3.0.0a4/tests/lod_demo.py +138 -0
  506. openglcontext-3.0.0a4/tests/molehill_edit.py +170 -0
  507. openglcontext-3.0.0a4/tests/mouseover.py +56 -0
  508. openglcontext-3.0.0a4/tests/multitexture_1.py +84 -0
  509. openglcontext-3.0.0a4/tests/navmesh_demo.py +284 -0
  510. openglcontext-3.0.0a4/tests/nehe2.py +92 -0
  511. openglcontext-3.0.0a4/tests/nehe3.py +74 -0
  512. openglcontext-3.0.0a4/tests/nehe4.py +102 -0
  513. openglcontext-3.0.0a4/tests/nehe5.py +129 -0
  514. openglcontext-3.0.0a4/tests/nehe6.py +172 -0
  515. openglcontext-3.0.0a4/tests/nehe6_compressed.py +142 -0
  516. openglcontext-3.0.0a4/tests/nehe6_convolve.py +234 -0
  517. openglcontext-3.0.0a4/tests/nehe6_multi.py +216 -0
  518. openglcontext-3.0.0a4/tests/nehe6_timer.py +183 -0
  519. openglcontext-3.0.0a4/tests/nehe7.py +263 -0
  520. openglcontext-3.0.0a4/tests/nehe8.py +272 -0
  521. openglcontext-3.0.0a4/tests/node_modify.py +40 -0
  522. openglcontext-3.0.0a4/tests/particles_simple.py +237 -0
  523. openglcontext-3.0.0a4/tests/physics_joints.py +77 -0
  524. openglcontext-3.0.0a4/tests/pygame_font.py +21 -0
  525. openglcontext-3.0.0a4/tests/pygame_textureatlas.py +174 -0
  526. openglcontext-3.0.0a4/tests/readpixelsleak.py +102 -0
  527. openglcontext-3.0.0a4/tests/recording_demo.py +272 -0
  528. openglcontext-3.0.0a4/tests/redbook_alpha.py +107 -0
  529. openglcontext-3.0.0a4/tests/redbook_alpha3D.py +152 -0
  530. openglcontext-3.0.0a4/tests/redbook_surface.py +114 -0
  531. openglcontext-3.0.0a4/tests/redbook_surface_cb.py +165 -0
  532. openglcontext-3.0.0a4/tests/redbook_trim.py +154 -0
  533. openglcontext-3.0.0a4/tests/resources/CH18-mandel.frag.txt +57 -0
  534. openglcontext-3.0.0a4/tests/resources/CH18-mandel.vert.txt +47 -0
  535. openglcontext-3.0.0a4/tests/resources/discard.frag.txt +26 -0
  536. openglcontext-3.0.0a4/tests/resources/grid.frag.txt +27 -0
  537. openglcontext-3.0.0a4/tests/resources/simpletexture.frag.txt +28 -0
  538. openglcontext-3.0.0a4/tests/resources/toon.frag.txt +23 -0
  539. openglcontext-3.0.0a4/tests/resources/toon.vert.txt +19 -0
  540. openglcontext-3.0.0a4/tests/roads_demo.py +212 -0
  541. openglcontext-3.0.0a4/tests/runalltests.py +128 -0
  542. openglcontext-3.0.0a4/tests/saveimage.py +170 -0
  543. openglcontext-3.0.0a4/tests/selectrendermode_threads.py +91 -0
  544. openglcontext-3.0.0a4/tests/shader_1.py +370 -0
  545. openglcontext-3.0.0a4/tests/shader_10.py +371 -0
  546. openglcontext-3.0.0a4/tests/shader_11.py +443 -0
  547. openglcontext-3.0.0a4/tests/shader_12.py +359 -0
  548. openglcontext-3.0.0a4/tests/shader_2.py +230 -0
  549. openglcontext-3.0.0a4/tests/shader_2_c_void_p.py +104 -0
  550. openglcontext-3.0.0a4/tests/shader_3.py +221 -0
  551. openglcontext-3.0.0a4/tests/shader_4.py +199 -0
  552. openglcontext-3.0.0a4/tests/shader_4_subset.py +120 -0
  553. openglcontext-3.0.0a4/tests/shader_5.py +342 -0
  554. openglcontext-3.0.0a4/tests/shader_6.py +345 -0
  555. openglcontext-3.0.0a4/tests/shader_7.py +345 -0
  556. openglcontext-3.0.0a4/tests/shader_8.py +283 -0
  557. openglcontext-3.0.0a4/tests/shader_9.py +416 -0
  558. openglcontext-3.0.0a4/tests/shader_binary.py +170 -0
  559. openglcontext-3.0.0a4/tests/shader_instanced.py +401 -0
  560. openglcontext-3.0.0a4/tests/shader_instanced_mapped.py +322 -0
  561. openglcontext-3.0.0a4/tests/shader_intro.py +34 -0
  562. openglcontext-3.0.0a4/tests/shader_ng.py +241 -0
  563. openglcontext-3.0.0a4/tests/shader_sphere.py +186 -0
  564. openglcontext-3.0.0a4/tests/shader_spike.py +107 -0
  565. openglcontext-3.0.0a4/tests/shadergeometry.py +129 -0
  566. openglcontext-3.0.0a4/tests/shaderobjects.py +255 -0
  567. openglcontext-3.0.0a4/tests/shaders.py +161 -0
  568. openglcontext-3.0.0a4/tests/shadow_1.py +700 -0
  569. openglcontext-3.0.0a4/tests/shadow_2.py +181 -0
  570. openglcontext-3.0.0a4/tests/shadow_3.py +220 -0
  571. openglcontext-3.0.0a4/tests/shadow_demo.py +173 -0
  572. openglcontext-3.0.0a4/tests/shadow_spot.py +102 -0
  573. openglcontext-3.0.0a4/tests/teapot_ceramic.py +88 -0
  574. openglcontext-3.0.0a4/tests/telemetry_demo.py +331 -0
  575. openglcontext-3.0.0a4/tests/test_all_scripts.py +1134 -0
  576. openglcontext-3.0.0a4/tests/tiles_landscape.py +103 -0
  577. openglcontext-3.0.0a4/tests/tiles_terrain.py +76 -0
  578. openglcontext-3.0.0a4/tests/tiles_vegetation.py +60 -0
  579. openglcontext-3.0.0a4/tests/tiles_walk.py +142 -0
  580. openglcontext-3.0.0a4/tests/timesensorobject.py +37 -0
  581. openglcontext-3.0.0a4/tests/transforms_1.py +319 -0
  582. openglcontext-3.0.0a4/tests/transparentsorted.py +249 -0
  583. openglcontext-3.0.0a4/tests/water_demo.py +348 -0
  584. openglcontext-3.0.0a4/tests/wgl_bitmap_font.py +16 -0
  585. openglcontext-3.0.0a4/tests/wx_font.py +55 -0
  586. openglcontext-3.0.0a4/tests/wx_multiple_contexts.py +88 -0
  587. openglcontext-3.0.0a4/tests/wx_with_controls.py +80 -0
  588. openglcontext-3.0.0a2/OpenGLContext/__init__.py +0 -151
  589. openglcontext-3.0.0a2/OpenGLContext/atlas.py +0 -300
  590. openglcontext-3.0.0a2/OpenGLContext/bin/choosecontext.py +0 -224
  591. openglcontext-3.0.0a2/OpenGLContext/bin/choosefonts.py +0 -209
  592. openglcontext-3.0.0a2/OpenGLContext/bin/gltest.py +0 -121
  593. openglcontext-3.0.0a2/OpenGLContext/bin/gltf_demo.py +0 -492
  594. openglcontext-3.0.0a2/OpenGLContext/bin/gltf_regression.py +0 -645
  595. openglcontext-3.0.0a2/OpenGLContext/bin/keyboardevents.py +0 -93
  596. openglcontext-3.0.0a2/OpenGLContext/bin/lorentz.py +0 -109
  597. openglcontext-3.0.0a2/OpenGLContext/bin/profile_view.py +0 -38
  598. openglcontext-3.0.0a2/OpenGLContext/bin/terrain_view.py +0 -581
  599. openglcontext-3.0.0a2/OpenGLContext/bin/view.py +0 -341
  600. openglcontext-3.0.0a2/OpenGLContext/capture.py +0 -125
  601. openglcontext-3.0.0a2/OpenGLContext/context.py +0 -1253
  602. openglcontext-3.0.0a2/OpenGLContext/contextconfig.py +0 -177
  603. openglcontext-3.0.0a2/OpenGLContext/contextdefinition.py +0 -275
  604. openglcontext-3.0.0a2/OpenGLContext/debug/bufferimage.py +0 -80
  605. openglcontext-3.0.0a2/OpenGLContext/debug/leaks.py +0 -13
  606. openglcontext-3.0.0a2/OpenGLContext/debug/logcontext.py +0 -9
  607. openglcontext-3.0.0a2/OpenGLContext/debug/logs.py +0 -15
  608. openglcontext-3.0.0a2/OpenGLContext/debug/state.py +0 -329
  609. openglcontext-3.0.0a2/OpenGLContext/displaylist.py +0 -69
  610. openglcontext-3.0.0a2/OpenGLContext/doinchildmatrix.py +0 -34
  611. openglcontext-3.0.0a2/OpenGLContext/drawcube.py +0 -58
  612. openglcontext-3.0.0a2/OpenGLContext/events/default_config.py +0 -29
  613. openglcontext-3.0.0a2/OpenGLContext/events/event.py +0 -65
  614. openglcontext-3.0.0a2/OpenGLContext/events/eventhandlermixin.py +0 -214
  615. openglcontext-3.0.0a2/OpenGLContext/events/eventmanager.py +0 -269
  616. openglcontext-3.0.0a2/OpenGLContext/events/fxevents.py +0 -90
  617. openglcontext-3.0.0a2/OpenGLContext/events/glfwevents.py +0 -424
  618. openglcontext-3.0.0a2/OpenGLContext/events/glutevents.py +0 -184
  619. openglcontext-3.0.0a2/OpenGLContext/events/internaltime.py +0 -161
  620. openglcontext-3.0.0a2/OpenGLContext/events/keyboardevents.py +0 -153
  621. openglcontext-3.0.0a2/OpenGLContext/events/mouseevents.py +0 -473
  622. openglcontext-3.0.0a2/OpenGLContext/events/pygameevents.py +0 -162
  623. openglcontext-3.0.0a2/OpenGLContext/events/systemtime.py +0 -12
  624. openglcontext-3.0.0a2/OpenGLContext/events/timeeventgeneratormanager.py +0 -40
  625. openglcontext-3.0.0a2/OpenGLContext/events/timeevents.py +0 -143
  626. openglcontext-3.0.0a2/OpenGLContext/events/timer.py +0 -170
  627. openglcontext-3.0.0a2/OpenGLContext/events/tkevents.py +0 -172
  628. openglcontext-3.0.0a2/OpenGLContext/events/wxevents.py +0 -185
  629. openglcontext-3.0.0a2/OpenGLContext/extensionmanager.py +0 -158
  630. openglcontext-3.0.0a2/OpenGLContext/framecounter.py +0 -74
  631. openglcontext-3.0.0a2/OpenGLContext/frustum.py +0 -135
  632. openglcontext-3.0.0a2/OpenGLContext/glfwcontext.py +0 -395
  633. openglcontext-3.0.0a2/OpenGLContext/glfwinteractivecontext.py +0 -34
  634. openglcontext-3.0.0a2/OpenGLContext/glutcontext.py +0 -224
  635. openglcontext-3.0.0a2/OpenGLContext/glutinteractivecontext.py +0 -24
  636. openglcontext-3.0.0a2/OpenGLContext/gluttestingcontext.py +0 -11
  637. openglcontext-3.0.0a2/OpenGLContext/glutvrmlcontext.py +0 -25
  638. openglcontext-3.0.0a2/OpenGLContext/glutvrmltestingcontext.py +0 -48
  639. openglcontext-3.0.0a2/OpenGLContext/loaders/base.py +0 -84
  640. openglcontext-3.0.0a2/OpenGLContext/loaders/gltf/__init__.py +0 -71
  641. openglcontext-3.0.0a2/OpenGLContext/loaders/gltf/accessors.py +0 -255
  642. openglcontext-3.0.0a2/OpenGLContext/loaders/gltf/animation.py +0 -611
  643. openglcontext-3.0.0a2/OpenGLContext/loaders/gltf/loader.py +0 -80
  644. openglcontext-3.0.0a2/OpenGLContext/loaders/gltf/materials.py +0 -298
  645. openglcontext-3.0.0a2/OpenGLContext/loaders/gltf/meshes.py +0 -292
  646. openglcontext-3.0.0a2/OpenGLContext/loaders/gltf/samples.py +0 -162
  647. openglcontext-3.0.0a2/OpenGLContext/loaders/gltf/scene.py +0 -673
  648. openglcontext-3.0.0a2/OpenGLContext/loaders/gltf/textures.py +0 -155
  649. openglcontext-3.0.0a2/OpenGLContext/loaders/gltf_demos.py +0 -511
  650. openglcontext-3.0.0a2/OpenGLContext/loaders/loader.py +0 -255
  651. openglcontext-3.0.0a2/OpenGLContext/loaders/obj.py +0 -299
  652. openglcontext-3.0.0a2/OpenGLContext/loaders/tiles3d/dem.py +0 -71
  653. openglcontext-3.0.0a2/OpenGLContext/loaders/tiles3d/foliage.py +0 -786
  654. openglcontext-3.0.0a2/OpenGLContext/loaders/tiles3d/frustum.py +0 -70
  655. openglcontext-3.0.0a2/OpenGLContext/loaders/tiles3d/geomorph.py +0 -57
  656. openglcontext-3.0.0a2/OpenGLContext/loaders/tiles3d/gltf_uploader.py +0 -246
  657. openglcontext-3.0.0a2/OpenGLContext/loaders/tiles3d/physics_colliders.py +0 -78
  658. openglcontext-3.0.0a2/OpenGLContext/loaders/tiles3d/procedural.py +0 -355
  659. openglcontext-3.0.0a2/OpenGLContext/loaders/tiles3d/runtime.py +0 -168
  660. openglcontext-3.0.0a2/OpenGLContext/loaders/tiles3d/tileset.py +0 -390
  661. openglcontext-3.0.0a2/OpenGLContext/loaders/tiles3d/vegetation.py +0 -361
  662. openglcontext-3.0.0a2/OpenGLContext/loaders/vrml97.py +0 -133
  663. openglcontext-3.0.0a2/OpenGLContext/looptrace.py +0 -307
  664. openglcontext-3.0.0a2/OpenGLContext/move/direct.py +0 -156
  665. openglcontext-3.0.0a2/OpenGLContext/move/dragwatcher.py +0 -42
  666. openglcontext-3.0.0a2/OpenGLContext/move/examinemanager.py +0 -100
  667. openglcontext-3.0.0a2/OpenGLContext/move/followcam.py +0 -121
  668. openglcontext-3.0.0a2/OpenGLContext/move/movementmanager.py +0 -74
  669. openglcontext-3.0.0a2/OpenGLContext/move/physicswalk.py +0 -469
  670. openglcontext-3.0.0a2/OpenGLContext/move/smooth.py +0 -68
  671. openglcontext-3.0.0a2/OpenGLContext/move/terrainwalk.py +0 -451
  672. openglcontext-3.0.0a2/OpenGLContext/move/trackball.py +0 -92
  673. openglcontext-3.0.0a2/OpenGLContext/move/viewplatform.py +0 -283
  674. openglcontext-3.0.0a2/OpenGLContext/nav/navmesh.py +0 -476
  675. openglcontext-3.0.0a2/OpenGLContext/passes/_flat.py +0 -1317
  676. openglcontext-3.0.0a2/OpenGLContext/passes/asyncpick.py +0 -216
  677. openglcontext-3.0.0a2/OpenGLContext/passes/bloom.py +0 -257
  678. openglcontext-3.0.0a2/OpenGLContext/passes/flatcompat.py +0 -246
  679. openglcontext-3.0.0a2/OpenGLContext/passes/flatcore.py +0 -198
  680. openglcontext-3.0.0a2/OpenGLContext/passes/flateffects.py +0 -372
  681. openglcontext-3.0.0a2/OpenGLContext/passes/ibl.py +0 -711
  682. openglcontext-3.0.0a2/OpenGLContext/passes/instancing.py +0 -775
  683. openglcontext-3.0.0a2/OpenGLContext/passes/pbrpass.py +0 -829
  684. openglcontext-3.0.0a2/OpenGLContext/passes/renderpass.py +0 -79
  685. openglcontext-3.0.0a2/OpenGLContext/passes/rendervisitor.py +0 -60
  686. openglcontext-3.0.0a2/OpenGLContext/passes/selection.py +0 -450
  687. openglcontext-3.0.0a2/OpenGLContext/passes/selectionbuffers.py +0 -442
  688. openglcontext-3.0.0a2/OpenGLContext/passes/shaderpass.py +0 -1018
  689. openglcontext-3.0.0a2/OpenGLContext/passes/shaderpass_shadow.py +0 -197
  690. openglcontext-3.0.0a2/OpenGLContext/passes/shadersource.py +0 -121
  691. openglcontext-3.0.0a2/OpenGLContext/passes/shadowcaps.py +0 -182
  692. openglcontext-3.0.0a2/OpenGLContext/passes/shadowmap.py +0 -330
  693. openglcontext-3.0.0a2/OpenGLContext/passes/shadowmath.py +0 -290
  694. openglcontext-3.0.0a2/OpenGLContext/passes/shadowmixin.py +0 -906
  695. openglcontext-3.0.0a2/OpenGLContext/passes/shadowpool.py +0 -186
  696. openglcontext-3.0.0a2/OpenGLContext/passes/transmission.py +0 -124
  697. openglcontext-3.0.0a2/OpenGLContext/physics/gltf_world.py +0 -185
  698. openglcontext-3.0.0a2/OpenGLContext/plugins.py +0 -61
  699. openglcontext-3.0.0a2/OpenGLContext/pygamecontext.py +0 -178
  700. openglcontext-3.0.0a2/OpenGLContext/pygameinteractivecontext.py +0 -36
  701. openglcontext-3.0.0a2/OpenGLContext/pygametestingcontext.py +0 -10
  702. openglcontext-3.0.0a2/OpenGLContext/pygamevrmlcontext.py +0 -13
  703. openglcontext-3.0.0a2/OpenGLContext/quaternion.py +0 -190
  704. openglcontext-3.0.0a2/OpenGLContext/renderoptions.py +0 -280
  705. openglcontext-3.0.0a2/OpenGLContext/resources/__init__.py +0 -36
  706. openglcontext-3.0.0a2/OpenGLContext/resources/phongprecalc_vert.py +0 -30
  707. openglcontext-3.0.0a2/OpenGLContext/resources/phongweights_frag.py +0 -47
  708. openglcontext-3.0.0a2/OpenGLContext/resources/simpleshader.frag.txt +0 -3
  709. openglcontext-3.0.0a2/OpenGLContext/resources/simpleshader.vert.txt +0 -3
  710. openglcontext-3.0.0a2/OpenGLContext/resources/simpleshader_frag_txt.py +0 -9
  711. openglcontext-3.0.0a2/OpenGLContext/resources/simpleshader_vert_txt.py +0 -10
  712. openglcontext-3.0.0a2/OpenGLContext/scenegraph/__init__.py +0 -19
  713. openglcontext-3.0.0a2/OpenGLContext/scenegraph/appearance.py +0 -107
  714. openglcontext-3.0.0a2/OpenGLContext/scenegraph/arraygeometry.py +0 -238
  715. openglcontext-3.0.0a2/OpenGLContext/scenegraph/audio.py +0 -632
  716. openglcontext-3.0.0a2/OpenGLContext/scenegraph/background.py +0 -108
  717. openglcontext-3.0.0a2/OpenGLContext/scenegraph/basenodes.py +0 -50
  718. openglcontext-3.0.0a2/OpenGLContext/scenegraph/billboard.py +0 -14
  719. openglcontext-3.0.0a2/OpenGLContext/scenegraph/boundingvolume.py +0 -494
  720. openglcontext-3.0.0a2/OpenGLContext/scenegraph/box.py +0 -180
  721. openglcontext-3.0.0a2/OpenGLContext/scenegraph/coordinate.py +0 -20
  722. openglcontext-3.0.0a2/OpenGLContext/scenegraph/coordinatebounded.py +0 -18
  723. openglcontext-3.0.0a2/OpenGLContext/scenegraph/cubebackground.py +0 -207
  724. openglcontext-3.0.0a2/OpenGLContext/scenegraph/extrusions.py +0 -275
  725. openglcontext-3.0.0a2/OpenGLContext/scenegraph/gear.py +0 -323
  726. openglcontext-3.0.0a2/OpenGLContext/scenegraph/grouping.py +0 -140
  727. openglcontext-3.0.0a2/OpenGLContext/scenegraph/hdrbackground.py +0 -384
  728. openglcontext-3.0.0a2/OpenGLContext/scenegraph/imagetexture.py +0 -365
  729. openglcontext-3.0.0a2/OpenGLContext/scenegraph/indexedfaceset.py +0 -238
  730. openglcontext-3.0.0a2/OpenGLContext/scenegraph/indexedlineset.py +0 -418
  731. openglcontext-3.0.0a2/OpenGLContext/scenegraph/indexedpolygons.py +0 -422
  732. openglcontext-3.0.0a2/OpenGLContext/scenegraph/inline.py +0 -79
  733. openglcontext-3.0.0a2/OpenGLContext/scenegraph/instancedgl.py +0 -187
  734. openglcontext-3.0.0a2/OpenGLContext/scenegraph/interpolators.py +0 -122
  735. openglcontext-3.0.0a2/OpenGLContext/scenegraph/light.py +0 -213
  736. openglcontext-3.0.0a2/OpenGLContext/scenegraph/lod.py +0 -22
  737. openglcontext-3.0.0a2/OpenGLContext/scenegraph/material.py +0 -96
  738. openglcontext-3.0.0a2/OpenGLContext/scenegraph/mouseover.py +0 -43
  739. openglcontext-3.0.0a2/OpenGLContext/scenegraph/nodepath.py +0 -52
  740. openglcontext-3.0.0a2/OpenGLContext/scenegraph/nurbs.py +0 -637
  741. openglcontext-3.0.0a2/OpenGLContext/scenegraph/nurbssampling.py +0 -101
  742. openglcontext-3.0.0a2/OpenGLContext/scenegraph/nurbstess.py +0 -316
  743. openglcontext-3.0.0a2/OpenGLContext/scenegraph/nurbstrim.py +0 -54
  744. openglcontext-3.0.0a2/OpenGLContext/scenegraph/particles.py +0 -786
  745. openglcontext-3.0.0a2/OpenGLContext/scenegraph/pbrmaterial.py +0 -229
  746. openglcontext-3.0.0a2/OpenGLContext/scenegraph/pbrmesh.py +0 -558
  747. openglcontext-3.0.0a2/OpenGLContext/scenegraph/pointset.py +0 -257
  748. openglcontext-3.0.0a2/OpenGLContext/scenegraph/polygon.py +0 -166
  749. openglcontext-3.0.0a2/OpenGLContext/scenegraph/polygonsort.py +0 -119
  750. openglcontext-3.0.0a2/OpenGLContext/scenegraph/polygontessellator.py +0 -213
  751. openglcontext-3.0.0a2/OpenGLContext/scenegraph/quadrics.py +0 -494
  752. openglcontext-3.0.0a2/OpenGLContext/scenegraph/scenegraph.py +0 -21
  753. openglcontext-3.0.0a2/OpenGLContext/scenegraph/shadergeometry.py +0 -403
  754. openglcontext-3.0.0a2/OpenGLContext/scenegraph/shaders.py +0 -812
  755. openglcontext-3.0.0a2/OpenGLContext/scenegraph/shape.py +0 -243
  756. openglcontext-3.0.0a2/OpenGLContext/scenegraph/simplebackground.py +0 -34
  757. openglcontext-3.0.0a2/OpenGLContext/scenegraph/spherebackground.py +0 -462
  758. openglcontext-3.0.0a2/OpenGLContext/scenegraph/switch.py +0 -75
  759. openglcontext-3.0.0a2/OpenGLContext/scenegraph/teapot.py +0 -439
  760. openglcontext-3.0.0a2/OpenGLContext/scenegraph/teapot_nurbs.py +0 -291
  761. openglcontext-3.0.0a2/OpenGLContext/scenegraph/terrain/__init__.py +0 -12
  762. openglcontext-3.0.0a2/OpenGLContext/scenegraph/terrain/heightfield.py +0 -172
  763. openglcontext-3.0.0a2/OpenGLContext/scenegraph/terrain/splat.py +0 -224
  764. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/_toolsfont.py +0 -200
  765. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/font.py +0 -452
  766. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/fontprovider.py +0 -193
  767. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/fonts/__init__.py +0 -75
  768. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/fonts/font_atlas_10.py +0 -133
  769. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/fonts/font_atlas_12.py +0 -158
  770. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/fonts/font_atlas_14.py +0 -176
  771. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/fonts/font_atlas_16.py +0 -204
  772. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/fonts/font_atlas_18.py +0 -222
  773. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/fonts/font_atlas_20.py +0 -244
  774. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/fonts/font_atlas_24.py +0 -294
  775. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/fonts/font_atlas_28.py +0 -339
  776. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/fonts/font_atlas_32.py +0 -390
  777. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/glutfont.py +0 -186
  778. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/pygamefont.py +0 -213
  779. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/shaderfont.py +0 -340
  780. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/shadertext.py +0 -433
  781. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/text.py +0 -75
  782. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/toolsfont.py +0 -819
  783. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/ttfregistry.py +0 -135
  784. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/wglfont.py +0 -228
  785. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/wglfontprovider.py +0 -37
  786. openglcontext-3.0.0a2/OpenGLContext/scenegraph/text/wxfont.py +0 -314
  787. openglcontext-3.0.0a2/OpenGLContext/scenegraph/texturetransform.py +0 -66
  788. openglcontext-3.0.0a2/OpenGLContext/scenegraph/tilesterrain.py +0 -95
  789. openglcontext-3.0.0a2/OpenGLContext/scenegraph/timesensor.py +0 -51
  790. openglcontext-3.0.0a2/OpenGLContext/scenegraph/transform.py +0 -180
  791. openglcontext-3.0.0a2/OpenGLContext/scenegraph/vegetation/__init__.py +0 -20
  792. openglcontext-3.0.0a2/OpenGLContext/scenegraph/vegetation/base.py +0 -96
  793. openglcontext-3.0.0a2/OpenGLContext/scenegraph/vegetation/billboards.py +0 -145
  794. openglcontext-3.0.0a2/OpenGLContext/scenegraph/vegetation/clumps.py +0 -260
  795. openglcontext-3.0.0a2/OpenGLContext/scenegraph/vegetation/grid.py +0 -112
  796. openglcontext-3.0.0a2/OpenGLContext/scenegraph/vegetation/nearmesh.py +0 -185
  797. openglcontext-3.0.0a2/OpenGLContext/scenegraph/vertex.py +0 -54
  798. openglcontext-3.0.0a2/OpenGLContext/scenegraph/viewpoint.py +0 -42
  799. openglcontext-3.0.0a2/OpenGLContext/scenegraph/winding.py +0 -49
  800. openglcontext-3.0.0a2/OpenGLContext/shaders/_shadow_inc.glsl +0 -254
  801. openglcontext-3.0.0a2/OpenGLContext/shaders/hdr_background.vert +0 -15
  802. openglcontext-3.0.0a2/OpenGLContext/shaders/pbr.frag +0 -906
  803. openglcontext-3.0.0a2/OpenGLContext/shaders/pbr.vert +0 -70
  804. openglcontext-3.0.0a2/OpenGLContext/shaders/shadow_depth.vert +0 -18
  805. openglcontext-3.0.0a2/OpenGLContext/shaders/terrain_splat.vert +0 -16
  806. openglcontext-3.0.0a2/OpenGLContext/shaders/veg_billboard.frag +0 -35
  807. openglcontext-3.0.0a2/OpenGLContext/shaders/veg_billboard.vert +0 -17
  808. openglcontext-3.0.0a2/OpenGLContext/shaders/veg_clump.frag +0 -27
  809. openglcontext-3.0.0a2/OpenGLContext/shaders/veg_mesh.frag +0 -26
  810. openglcontext-3.0.0a2/OpenGLContext/shaders/veg_mesh.vert +0 -17
  811. openglcontext-3.0.0a2/OpenGLContext/shaders/vrml97_background.vert +0 -24
  812. openglcontext-3.0.0a2/OpenGLContext/shaders/vrml97_lighting.vert +0 -50
  813. openglcontext-3.0.0a2/OpenGLContext/shaders/vrml97_line.vert +0 -24
  814. openglcontext-3.0.0a2/OpenGLContext/shaders/vrml97_point.vert +0 -21
  815. openglcontext-3.0.0a2/OpenGLContext/shaders/vrml97_unlit.vert +0 -18
  816. openglcontext-3.0.0a2/OpenGLContext/shaders/vrml97_vertex_color.vert +0 -34
  817. openglcontext-3.0.0a2/OpenGLContext/testing/display.py +0 -30
  818. openglcontext-3.0.0a2/OpenGLContext/testing/event_injector.py +0 -564
  819. openglcontext-3.0.0a2/OpenGLContext/testing/framebuffer_comparison.py +0 -842
  820. openglcontext-3.0.0a2/OpenGLContext/testing/gl_env.py +0 -39
  821. openglcontext-3.0.0a2/OpenGLContext/testing/process_exit.py +0 -30
  822. openglcontext-3.0.0a2/OpenGLContext/testing/report_generator.py +0 -594
  823. openglcontext-3.0.0a2/OpenGLContext/testing/subprocess_runner.py +0 -411
  824. openglcontext-3.0.0a2/OpenGLContext/testingcontext.py +0 -36
  825. openglcontext-3.0.0a2/OpenGLContext/tests/test_atlas.py +0 -62
  826. openglcontext-3.0.0a2/OpenGLContext/tests/test_configs.py +0 -27
  827. openglcontext-3.0.0a2/OpenGLContext/tests/test_polygonsort.py +0 -45
  828. openglcontext-3.0.0a2/OpenGLContext/tests/test_utilities.py +0 -84
  829. openglcontext-3.0.0a2/OpenGLContext/tests/test_viewplatform.py +0 -39
  830. openglcontext-3.0.0a2/OpenGLContext/texture.py +0 -449
  831. openglcontext-3.0.0a2/OpenGLContext/texturecache.py +0 -37
  832. openglcontext-3.0.0a2/OpenGLContext/triangleutilities.py +0 -89
  833. openglcontext-3.0.0a2/OpenGLContext/ui/console.py +0 -339
  834. openglcontext-3.0.0a2/OpenGLContext/ui/debugoverlay.py +0 -519
  835. openglcontext-3.0.0a2/OpenGLContext/ui/dialogs.py +0 -124
  836. openglcontext-3.0.0a2/OpenGLContext/ui/draw.py +0 -617
  837. openglcontext-3.0.0a2/OpenGLContext/ui/gallery.py +0 -425
  838. openglcontext-3.0.0a2/OpenGLContext/ui/hudwidgets.py +0 -1053
  839. openglcontext-3.0.0a2/OpenGLContext/ui/overlay.py +0 -415
  840. openglcontext-3.0.0a2/OpenGLContext/ui/panel.py +0 -459
  841. openglcontext-3.0.0a2/OpenGLContext/ui/pictures.py +0 -261
  842. openglcontext-3.0.0a2/OpenGLContext/ui/screen.py +0 -177
  843. openglcontext-3.0.0a2/OpenGLContext/ui/settings.py +0 -273
  844. openglcontext-3.0.0a2/OpenGLContext/ui/widgets.py +0 -1199
  845. openglcontext-3.0.0a2/OpenGLContext/userpaths.py +0 -48
  846. openglcontext-3.0.0a2/OpenGLContext/utilities.py +0 -94
  847. openglcontext-3.0.0a2/OpenGLContext/vectorutilities.py +0 -101
  848. openglcontext-3.0.0a2/OpenGLContext/viewer/__init__.py +0 -60
  849. openglcontext-3.0.0a2/OpenGLContext/viewer/adapters/base.py +0 -157
  850. openglcontext-3.0.0a2/OpenGLContext/viewer/asyncscene.py +0 -117
  851. openglcontext-3.0.0a2/OpenGLContext/viewer/capture.py +0 -77
  852. openglcontext-3.0.0a2/OpenGLContext/viewer/environment.py +0 -131
  853. openglcontext-3.0.0a2/OpenGLContext/viewer/framing.py +0 -111
  854. openglcontext-3.0.0a2/OpenGLContext/viewer/options.py +0 -150
  855. openglcontext-3.0.0a2/OpenGLContext/viewer/overlay.py +0 -63
  856. openglcontext-3.0.0a2/OpenGLContext/viewer/sceneviewer.py +0 -1056
  857. openglcontext-3.0.0a2/OpenGLContext/viewer/screens.py +0 -172
  858. openglcontext-3.0.0a2/OpenGLContext/visitor.py +0 -68
  859. openglcontext-3.0.0a2/OpenGLContext/vrmlcontext.py +0 -72
  860. openglcontext-3.0.0a2/OpenGLContext/wxcontext.py +0 -424
  861. openglcontext-3.0.0a2/OpenGLContext/wxinteractivecontext.py +0 -25
  862. openglcontext-3.0.0a2/OpenGLContext/wxtestingcontext.py +0 -9
  863. openglcontext-3.0.0a2/OpenGLContext/wxvrmlcontext.py +0 -13
  864. openglcontext-3.0.0a2/OpenGLContext.egg-info/PKG-INFO +0 -650
  865. openglcontext-3.0.0a2/OpenGLContext.egg-info/SOURCES.txt +0 -696
  866. openglcontext-3.0.0a2/OpenGLContext.egg-info/entry_points.txt +0 -11
  867. openglcontext-3.0.0a2/OpenGLContext.egg-info/requires.txt +0 -44
  868. openglcontext-3.0.0a2/PKG-INFO +0 -650
  869. openglcontext-3.0.0a2/README.md +0 -588
  870. openglcontext-3.0.0a2/docs/audio.html +0 -769
  871. openglcontext-3.0.0a2/docs/documentation.html +0 -321
  872. openglcontext-3.0.0a2/docs/eventmodel.html +0 -192
  873. openglcontext-3.0.0a2/docs/flat.html +0 -161
  874. openglcontext-3.0.0a2/docs/gltf.html +0 -435
  875. openglcontext-3.0.0a2/docs/hud.html +0 -617
  876. openglcontext-3.0.0a2/docs/index.html +0 -125
  877. openglcontext-3.0.0a2/docs/instancing.html +0 -320
  878. openglcontext-3.0.0a2/docs/navigation.html +0 -331
  879. openglcontext-3.0.0a2/docs/overlayui.html +0 -636
  880. openglcontext-3.0.0a2/docs/particles.html +0 -368
  881. openglcontext-3.0.0a2/docs/pbr.html +0 -575
  882. openglcontext-3.0.0a2/docs/physics.html +0 -409
  883. openglcontext-3.0.0a2/docs/renderpasses.html +0 -275
  884. openglcontext-3.0.0a2/docs/shadows.html +0 -455
  885. openglcontext-3.0.0a2/docs/structure.html +0 -316
  886. openglcontext-3.0.0a2/docs/terrain.html +0 -517
  887. openglcontext-3.0.0a2/docs/text.html +0 -221
  888. openglcontext-3.0.0a2/docs/tutorials/tutorial.css +0 -93
  889. openglcontext-3.0.0a2/docs/viewer.html +0 -423
  890. openglcontext-3.0.0a2/docs/vrml97.html +0 -495
  891. openglcontext-3.0.0a2/pyproject.toml +0 -167
  892. openglcontext-3.0.0a2/tests/_gltf_toggle_driver.py +0 -137
  893. openglcontext-3.0.0a2/tests/_shader_tut_lightprecalc.vert +0 -18
  894. openglcontext-3.0.0a2/tests/addnodes.py +0 -77
  895. openglcontext-3.0.0a2/tests/arbocclusionquery.py +0 -107
  896. openglcontext-3.0.0a2/tests/arbpointparameters.py +0 -91
  897. openglcontext-3.0.0a2/tests/arbwindowpos.py +0 -117
  898. openglcontext-3.0.0a2/tests/cubeback_rot.py +0 -85
  899. openglcontext-3.0.0a2/tests/cubebackgroundobject.py +0 -53
  900. openglcontext-3.0.0a2/tests/dek_surf.py +0 -79
  901. openglcontext-3.0.0a2/tests/dek_texturesurf.py +0 -122
  902. openglcontext-3.0.0a2/tests/diag_live.py +0 -87
  903. openglcontext-3.0.0a2/tests/feedback_mode.py +0 -57
  904. openglcontext-3.0.0a2/tests/getteximage.py +0 -62
  905. openglcontext-3.0.0a2/tests/glarrayelement.py +0 -25
  906. openglcontext-3.0.0a2/tests/gldrawarrays.py +0 -21
  907. openglcontext-3.0.0a2/tests/gldrawarrays_string.py +0 -22
  908. openglcontext-3.0.0a2/tests/gldrawelements.py +0 -23
  909. openglcontext-3.0.0a2/tests/gldrawelements_list.py +0 -59
  910. openglcontext-3.0.0a2/tests/gldrawelements_string.py +0 -30
  911. openglcontext-3.0.0a2/tests/gldrawpixels.py +0 -92
  912. openglcontext-3.0.0a2/tests/gldrawpixelssynth.py +0 -72
  913. openglcontext-3.0.0a2/tests/glelathe.py +0 -128
  914. openglcontext-3.0.0a2/tests/glget.py +0 -334
  915. openglcontext-3.0.0a2/tests/glget_with_fonts.py +0 -360
  916. openglcontext-3.0.0a2/tests/glgetlight.py +0 -29
  917. openglcontext-3.0.0a2/tests/glgetmaterial.py +0 -24
  918. openglcontext-3.0.0a2/tests/glgetpixelmap.py +0 -28
  919. openglcontext-3.0.0a2/tests/glgetpolygonstipple.py +0 -18
  920. openglcontext-3.0.0a2/tests/glhistogram.py +0 -87
  921. openglcontext-3.0.0a2/tests/glinterleavedarrays.py +0 -52
  922. openglcontext-3.0.0a2/tests/glprint.py +0 -142
  923. openglcontext-3.0.0a2/tests/glu_tess.py +0 -74
  924. openglcontext-3.0.0a2/tests/glu_tess2.py +0 -79
  925. openglcontext-3.0.0a2/tests/glugetstring.py +0 -14
  926. openglcontext-3.0.0a2/tests/glut_bitmap_font.py +0 -13
  927. openglcontext-3.0.0a2/tests/glut_font.py +0 -39
  928. openglcontext-3.0.0a2/tests/glut_fullscreen.py +0 -63
  929. openglcontext-3.0.0a2/tests/glutbitmapcharacter.py +0 -50
  930. openglcontext-3.0.0a2/tests/glutmousewheel.py +0 -43
  931. openglcontext-3.0.0a2/tests/glvertex.py +0 -20
  932. openglcontext-3.0.0a2/tests/heightmap.py +0 -106
  933. openglcontext-3.0.0a2/tests/ilsstrategies.py +0 -44
  934. openglcontext-3.0.0a2/tests/indexedfaceset_lit_npf.py +0 -241
  935. openglcontext-3.0.0a2/tests/indexedfaceset_lit_npv.py +0 -105
  936. openglcontext-3.0.0a2/tests/line_stipple.py +0 -44
  937. openglcontext-3.0.0a2/tests/lod_demo.py +0 -139
  938. openglcontext-3.0.0a2/tests/mouseover.py +0 -54
  939. openglcontext-3.0.0a2/tests/multitexture_1.py +0 -81
  940. openglcontext-3.0.0a2/tests/nehe2.py +0 -93
  941. openglcontext-3.0.0a2/tests/nehe3.py +0 -75
  942. openglcontext-3.0.0a2/tests/nehe4.py +0 -99
  943. openglcontext-3.0.0a2/tests/nehe5.py +0 -130
  944. openglcontext-3.0.0a2/tests/nehe6.py +0 -149
  945. openglcontext-3.0.0a2/tests/nehe6_compressed.py +0 -119
  946. openglcontext-3.0.0a2/tests/nehe6_convolve.py +0 -210
  947. openglcontext-3.0.0a2/tests/nehe6_multi.py +0 -193
  948. openglcontext-3.0.0a2/tests/nehe6_timer.py +0 -160
  949. openglcontext-3.0.0a2/tests/nehe7.py +0 -240
  950. openglcontext-3.0.0a2/tests/nehe8.py +0 -249
  951. openglcontext-3.0.0a2/tests/node_modify.py +0 -40
  952. openglcontext-3.0.0a2/tests/particles_simple.py +0 -248
  953. openglcontext-3.0.0a2/tests/physics_joints.py +0 -77
  954. openglcontext-3.0.0a2/tests/pygame_font.py +0 -19
  955. openglcontext-3.0.0a2/tests/pygame_textureatlas.py +0 -169
  956. openglcontext-3.0.0a2/tests/readpixelsleak.py +0 -99
  957. openglcontext-3.0.0a2/tests/redbook_alpha.py +0 -106
  958. openglcontext-3.0.0a2/tests/redbook_alpha3D.py +0 -149
  959. openglcontext-3.0.0a2/tests/redbook_surface.py +0 -113
  960. openglcontext-3.0.0a2/tests/redbook_surface_cb.py +0 -166
  961. openglcontext-3.0.0a2/tests/redbook_trim.py +0 -153
  962. openglcontext-3.0.0a2/tests/reference_images/teapot_regression.png +0 -0
  963. openglcontext-3.0.0a2/tests/resources/CH18-mandel.frag.txt +0 -54
  964. openglcontext-3.0.0a2/tests/resources/CH18-mandel.vert.txt +0 -36
  965. openglcontext-3.0.0a2/tests/resources/discard.frag.txt +0 -18
  966. openglcontext-3.0.0a2/tests/resources/grid.frag.txt +0 -19
  967. openglcontext-3.0.0a2/tests/resources/simpletexture.frag.txt +0 -21
  968. openglcontext-3.0.0a2/tests/resources/toon.frag.txt +0 -18
  969. openglcontext-3.0.0a2/tests/resources/toon.vert.txt +0 -10
  970. openglcontext-3.0.0a2/tests/runalltests.py +0 -123
  971. openglcontext-3.0.0a2/tests/saveimage.py +0 -170
  972. openglcontext-3.0.0a2/tests/savepostscript.py +0 -69
  973. openglcontext-3.0.0a2/tests/selectrendermode_threads.py +0 -89
  974. openglcontext-3.0.0a2/tests/shader_1.py +0 -313
  975. openglcontext-3.0.0a2/tests/shader_10.py +0 -346
  976. openglcontext-3.0.0a2/tests/shader_11.py +0 -419
  977. openglcontext-3.0.0a2/tests/shader_12.py +0 -331
  978. openglcontext-3.0.0a2/tests/shader_2.py +0 -199
  979. openglcontext-3.0.0a2/tests/shader_2_c_void_p.py +0 -72
  980. openglcontext-3.0.0a2/tests/shader_3.py +0 -182
  981. openglcontext-3.0.0a2/tests/shader_4.py +0 -193
  982. openglcontext-3.0.0a2/tests/shader_4_subset.py +0 -85
  983. openglcontext-3.0.0a2/tests/shader_5.py +0 -327
  984. openglcontext-3.0.0a2/tests/shader_6.py +0 -327
  985. openglcontext-3.0.0a2/tests/shader_7.py +0 -341
  986. openglcontext-3.0.0a2/tests/shader_8.py +0 -259
  987. openglcontext-3.0.0a2/tests/shader_9.py +0 -391
  988. openglcontext-3.0.0a2/tests/shader_binary.py +0 -163
  989. openglcontext-3.0.0a2/tests/shader_instanced.py +0 -341
  990. openglcontext-3.0.0a2/tests/shader_instanced_mapped.py +0 -298
  991. openglcontext-3.0.0a2/tests/shader_instanced_modern.py +0 -402
  992. openglcontext-3.0.0a2/tests/shader_intro.py +0 -71
  993. openglcontext-3.0.0a2/tests/shader_ng.py +0 -250
  994. openglcontext-3.0.0a2/tests/shader_sphere.py +0 -125
  995. openglcontext-3.0.0a2/tests/shader_spike.py +0 -95
  996. openglcontext-3.0.0a2/tests/shadergeometry.py +0 -123
  997. openglcontext-3.0.0a2/tests/shaderobjects.py +0 -241
  998. openglcontext-3.0.0a2/tests/shaders.py +0 -154
  999. openglcontext-3.0.0a2/tests/shadow_1.py +0 -699
  1000. openglcontext-3.0.0a2/tests/shadow_2.py +0 -180
  1001. openglcontext-3.0.0a2/tests/shadow_demo.py +0 -174
  1002. openglcontext-3.0.0a2/tests/shadow_spot.py +0 -103
  1003. openglcontext-3.0.0a2/tests/teapot_ceramic.py +0 -89
  1004. openglcontext-3.0.0a2/tests/test_all_scripts.py +0 -1019
  1005. openglcontext-3.0.0a2/tests/tiles_landscape.py +0 -103
  1006. openglcontext-3.0.0a2/tests/tiles_terrain.py +0 -76
  1007. openglcontext-3.0.0a2/tests/tiles_vegetation.py +0 -60
  1008. openglcontext-3.0.0a2/tests/tiles_walk.py +0 -143
  1009. openglcontext-3.0.0a2/tests/timesensorobject.py +0 -36
  1010. openglcontext-3.0.0a2/tests/transforms_1.py +0 -311
  1011. openglcontext-3.0.0a2/tests/transparentsorted.py +0 -252
  1012. openglcontext-3.0.0a2/tests/wgl_bitmap_font.py +0 -15
  1013. openglcontext-3.0.0a2/tests/wx_font.py +0 -54
  1014. openglcontext-3.0.0a2/tests/wx_multiple_contexts.py +0 -87
  1015. openglcontext-3.0.0a2/tests/wx_with_controls.py +0 -79
  1016. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/MANIFEST.in +0 -0
  1017. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/arrays.py +0 -0
  1018. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/audio/__init__.py +0 -0
  1019. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/audio/scene.py +0 -0
  1020. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/audio/settings.py +0 -0
  1021. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/bin/__init__.py +0 -0
  1022. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/bin/gltf_view.py +0 -0
  1023. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/bin/physics_cook.py +0 -0
  1024. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/bin/tiles_view.py +0 -0
  1025. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/bin/ui_demo.py +0 -0
  1026. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/bin/vrml_view.py +0 -0
  1027. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/debug/__init__.py +0 -0
  1028. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/events/__init__.py +0 -0
  1029. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/events/inputstate.py +0 -0
  1030. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/glfwvrmlcontext.py +0 -0
  1031. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/hud.py +0 -0
  1032. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/interactivecontext.py +0 -0
  1033. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/__init__.py +0 -0
  1034. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/cc0.py +0 -0
  1035. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/gltf/draco.py +0 -0
  1036. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/gltf/environment_sky.py +0 -0
  1037. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/gltf/specular_glossiness.py +0 -0
  1038. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/gltf/transforms.py +0 -0
  1039. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/hdr.py +0 -0
  1040. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/hdri.py +0 -0
  1041. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/resolver.py +0 -0
  1042. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/tiles3d/__init__.py +0 -0
  1043. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/tiles3d/boundingvolume.py +0 -0
  1044. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/tiles3d/fetch.py +0 -0
  1045. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/tiles3d/loadmanager.py +0 -0
  1046. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/tiles3d/residency.py +0 -0
  1047. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/tiles3d/sample.py +0 -0
  1048. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/tiles3d/scatter.py +0 -0
  1049. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/tiles3d/screenspaceerror.py +0 -0
  1050. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/loaders/tiles3d/traversal.py +0 -0
  1051. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/move/__init__.py +0 -0
  1052. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/move/bindingstore.py +0 -0
  1053. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/move/modes.py +0 -0
  1054. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/move/navigation.py +0 -0
  1055. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/move/physicsplatform.py +0 -0
  1056. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/move/viewplatformmixin.py +0 -0
  1057. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/nav/__init__.py +0 -0
  1058. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/passes/__init__.py +0 -0
  1059. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/passes/renderstats.py +0 -0
  1060. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/physics/__init__.py +0 -0
  1061. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/physics/debugdraw.py +0 -0
  1062. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/physics/demo.py +0 -0
  1063. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/physics/manager.py +0 -0
  1064. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/physics/threaded.py +0 -0
  1065. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/available_contexts.txt +0 -0
  1066. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/available_contexts_txt.py +0 -0
  1067. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/context_icon_png.py +0 -0
  1068. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/context_icon_small_png.py +0 -0
  1069. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/disk_icon_hi_png.py +0 -0
  1070. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/disk_icon_png.py +0 -0
  1071. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/pimbackground_BK.jpg +0 -0
  1072. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/pimbackground_DN.jpg +0 -0
  1073. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/pimbackground_FR.jpg +0 -0
  1074. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/pimbackground_LF.jpg +0 -0
  1075. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/pimbackground_RT.jpg +0 -0
  1076. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/pimbackground_UP.jpg +0 -0
  1077. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/studio_BK.jpg +0 -0
  1078. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/studio_DN.jpg +0 -0
  1079. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/studio_FR.jpg +0 -0
  1080. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/studio_LF.jpg +0 -0
  1081. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/studio_RT.jpg +0 -0
  1082. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/studio_UP.jpg +0 -0
  1083. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/studiobright_BK.jpg +0 -0
  1084. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/studiobright_DN.jpg +0 -0
  1085. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/studiobright_FR.jpg +0 -0
  1086. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/studiobright_LF.jpg +0 -0
  1087. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/studiobright_RT.jpg +0 -0
  1088. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/environment/studiobright_UP.jpg +0 -0
  1089. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/green_arrow_right_png.py +0 -0
  1090. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/legacy_lighting.vert.txt +0 -0
  1091. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/legacy_lighting_vert_txt.py +0 -0
  1092. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/lights.vert.txt +0 -0
  1093. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/lights_vert_txt.py +0 -0
  1094. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/pygame_icon_png.py +0 -0
  1095. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/resources/red_arrow_right_png.py +0 -0
  1096. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/scenegraph/collision.py +0 -0
  1097. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/scenegraph/fog.py +0 -0
  1098. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/scenegraph/group.py +0 -0
  1099. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/scenegraph/ifscompiler.py +0 -0
  1100. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/scenegraph/material_fields.py +0 -0
  1101. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/scenegraph/physicsbody.py +0 -0
  1102. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/scenegraph/teapot_nurbs_data.py +0 -0
  1103. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/scenegraph/tessellationlod.py +0 -0
  1104. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/scenegraph/text/__init__.py +0 -0
  1105. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/scenegraph/text/fontstyle3d.py +0 -0
  1106. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/_brdf_inc.glsl +0 -0
  1107. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/_common_inc.glsl +0 -0
  1108. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/_cubemap_inc.glsl +0 -0
  1109. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/_lights_inc.glsl +0 -0
  1110. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/_objectid_inc.glsl +0 -0
  1111. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/_vrml97_lighting_inc.glsl +0 -0
  1112. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/hdr_background.frag +0 -0
  1113. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/ibl_brdf.frag +0 -0
  1114. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/ibl_env.frag +0 -0
  1115. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/ibl_equirect.frag +0 -0
  1116. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/ibl_fullscreen.vert +0 -0
  1117. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/ibl_irradiance.frag +0 -0
  1118. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/ibl_prefilter.frag +0 -0
  1119. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/particle.frag +0 -0
  1120. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/particle.vert +0 -0
  1121. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/shadow_depth.frag +0 -0
  1122. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/terrain_splat.frag +0 -0
  1123. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/vrml97_background.frag +0 -0
  1124. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/vrml97_lighting.frag +0 -0
  1125. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/vrml97_line.frag +0 -0
  1126. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/vrml97_point.frag +0 -0
  1127. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/vrml97_unlit.frag +0 -0
  1128. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/shaders/vrml97_vertex_color.frag +0 -0
  1129. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/stalltrace.py +0 -0
  1130. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/testing/__init__.py +0 -0
  1131. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/testing/paths.py +0 -0
  1132. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/ui/__init__.py +0 -0
  1133. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/ui/bindings.py +0 -0
  1134. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/ui/generate.py +0 -0
  1135. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/ui/geometry.py +0 -0
  1136. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/ui/layout.py +0 -0
  1137. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/ui/metrics.py +0 -0
  1138. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/ui/scroll.py +0 -0
  1139. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/ui/session.py +0 -0
  1140. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/ui/skin.py +0 -0
  1141. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/viewer/adapters/__init__.py +0 -0
  1142. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/viewer/adapters/gltf.py +0 -0
  1143. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/viewer/adapters/obj.py +0 -0
  1144. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/viewer/adapters/scenegraph.py +0 -0
  1145. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/viewer/adapters/tiles.py +0 -0
  1146. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/viewer/adapters/vrml.py +0 -0
  1147. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/viewer/caption.py +0 -0
  1148. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/viewer/debug.py +0 -0
  1149. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/viewer/library.py +0 -0
  1150. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/viewer/menu.py +0 -0
  1151. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext/viewer/source.py +0 -0
  1152. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext.egg-info/dependency_links.txt +0 -0
  1153. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/OpenGLContext.egg-info/top_level.txt +0 -0
  1154. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/images/beautiful-game.jpg +0 -0
  1155. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/images/context-icon-small.png +0 -0
  1156. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/images/context_logo.gif +0 -0
  1157. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/images/context_logo_icon.png +0 -0
  1158. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/images/doc_icon.gif +0 -0
  1159. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/images/flighthelmet.jpg +0 -0
  1160. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/images/forest-instancing.jpg +0 -0
  1161. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/images/greypinstripe.png +0 -0
  1162. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/images/project_icon.png +0 -0
  1163. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/images/pyopengl_icon.jpg +0 -0
  1164. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/images/shadow_demo.jpg +0 -0
  1165. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/images/text_simple.png +0 -0
  1166. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/images/toronto-3dtiles.jpg +0 -0
  1167. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/numeric_arrays.html +0 -0
  1168. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/style/modern.css +0 -0
  1169. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/style/sitestyle.css +0 -0
  1170. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/style/tutorial.css +0 -0
  1171. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/docs/ubershader.html +0 -0
  1172. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/license.txt +0 -0
  1173. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/setup.cfg +0 -0
  1174. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/__init__.py +0 -0
  1175. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/_bitmap_font.py +0 -0
  1176. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/_ceramic_textures.py +0 -0
  1177. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/_fontstyles.py +0 -0
  1178. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/_particle.png +0 -0
  1179. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/arbsync.py +0 -0
  1180. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/audio_spatial.py +0 -0
  1181. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/backgroundobject.py +0 -0
  1182. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/conftest.py +0 -0
  1183. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/diag_examine.py +0 -0
  1184. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/flower_geometry.py +0 -0
  1185. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/frust_test_module.py +0 -0
  1186. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/gearobject.py +0 -0
  1187. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/geometry.py +0 -0
  1188. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/gldrawpixels.png +0 -0
  1189. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/heightmap.png +0 -0
  1190. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/indexedlinesetobject.py +0 -0
  1191. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/lightmap.png +0 -0
  1192. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/lightmap1.jpg +0 -0
  1193. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/lightobject.py +0 -0
  1194. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/marbleface.jpeg +0 -0
  1195. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/molehill.py +0 -0
  1196. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/nehe1.py +0 -0
  1197. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/nehe_crate.bmp +0 -0
  1198. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/nehe_glass.bmp +0 -0
  1199. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/nehe_wall.bmp +0 -0
  1200. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/nurbsobject.py +0 -0
  1201. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/particles_effects.py +0 -0
  1202. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/pbodemo.py +0 -0
  1203. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/physics_bounce.py +0 -0
  1204. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/physics_cook_view.py +0 -0
  1205. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/physics_friction.py +0 -0
  1206. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/physics_gravity_zones.py +0 -0
  1207. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/physics_navigate.py +0 -0
  1208. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/physics_room_drop.py +0 -0
  1209. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/physics_stress.py +0 -0
  1210. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/physics_triggers.py +0 -0
  1211. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/pimbackground_BK.jpg +0 -0
  1212. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/pimbackground_DN.jpg +0 -0
  1213. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/pimbackground_FR.jpg +0 -0
  1214. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/pimbackground_LF.jpg +0 -0
  1215. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/pimbackground_RT.jpg +0 -0
  1216. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/pimbackground_UP.jpg +0 -0
  1217. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/point_and_click.py +0 -0
  1218. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/pointsetobject.py +0 -0
  1219. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/resources/3Dlabs-License.txt +0 -0
  1220. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/resources/oblongimage.png +0 -0
  1221. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/resources/test_context_set.txt +0 -0
  1222. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/resources/test_vrml_set.txt +0 -0
  1223. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/run_core_tests.py +0 -0
  1224. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/run_teapot_regression.py +0 -0
  1225. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/selectrendermode.py +0 -0
  1226. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/simplerotate.py +0 -0
  1227. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/solid_font.py +0 -0
  1228. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/spherebackgroundobject.py +0 -0
  1229. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/starfield.py +0 -0
  1230. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/teapot_nurbs.py +0 -0
  1231. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/test_gltf_demo_background.py +0 -0
  1232. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/test_gltf_demo_model_selection.py +0 -0
  1233. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wgl_font.py +0 -0
  1234. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wglpixelformatarb.py +0 -0
  1235. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/3shapes.wrl +0 -0
  1236. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/3spheres.wrl +0 -0
  1237. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/axis.wrl +0 -0
  1238. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/bad_pngs.wrl +0 -0
  1239. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/box.wrl +0 -0
  1240. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/box_shadow.wrl +0 -0
  1241. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/clear wood flooring.jpg +0 -0
  1242. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/colorinterpolator.wrl +0 -0
  1243. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/coordinterpolator.wrl +0 -0
  1244. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/degenerate1.wrl +0 -0
  1245. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/degenerate2.wrl +0 -0
  1246. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/indexedpolygons.wrl +0 -0
  1247. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/instanced_lattice.wrl +0 -0
  1248. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/irradiation.jpg +0 -0
  1249. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/light1.png +0 -0
  1250. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/light2.png +0 -0
  1251. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/logoinstaller.png +0 -0
  1252. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/luminance.png +0 -0
  1253. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/luminance_alpha.png +0 -0
  1254. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/nurbscurve.wrl +0 -0
  1255. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/pixeltexture.wrl +0 -0
  1256. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/plane_shadow.wrl +0 -0
  1257. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/positioninterpolator.wrl +0 -0
  1258. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/proto_is_simple.wrl +0 -0
  1259. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/pyramid.wrl +0 -0
  1260. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/simple_occlude.wrl +0 -0
  1261. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/simple_plane.wrl +0 -0
  1262. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/simple_scene01.wrl +0 -0
  1263. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/simple_texturea.jpg +0 -0
  1264. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/simple_texturergb.png +0 -0
  1265. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/simple_texturergba.png +0 -0
  1266. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/sphere2.wrl +0 -0
  1267. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/sphere3.wrl +0 -0
  1268. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/sphere4.wrl +0 -0
  1269. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/tessellate01.wrl +0 -0
  1270. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/tessellate4ptcoplanar.wrl +0 -0
  1271. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/tessellatewcombine.wrl +0 -0
  1272. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/tessellatewcombine_shell.wrl +0 -0
  1273. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/text.wrl +0 -0
  1274. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/text3d.wrl +0 -0
  1275. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/text_bitmap.wrl +0 -0
  1276. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/text_simple.wrl +0 -0
  1277. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/text_simple_r.wrl +0 -0
  1278. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/texture_luminance.wrl +0 -0
  1279. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/texture_repeat.wrl +0 -0
  1280. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/texture_transparency.wrl +0 -0
  1281. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/texture_transparency2.wrl +0 -0
  1282. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/timesensor.wrl +0 -0
  1283. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/transparency_multiple.wrl +0 -0
  1284. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/viewpoints.wrl +0 -0
  1285. {openglcontext-3.0.0a2 → openglcontext-3.0.0a4}/tests/wrls/yingyang.png +0 -0
@@ -0,0 +1,183 @@
1
+ '''A 3D engine on PyOpenGL: scenes, a renderer, and a window to put it in
2
+
3
+ OpenGLContext renders 3D scenes with PyOpenGL, in a window belonging to
4
+ whichever GUI toolkit the application already uses. GLFW, GLUT, Pygame,
5
+ Tkinter, wxPython and Qt/PySide are all supported; GLFW is the one to reach
6
+ for with the core profile, and Tkinter the one that needs nothing installed.
7
+ A context can own the whole window or sit as one canvas inside a larger
8
+ application.
9
+
10
+ from OpenGLContext.viewer import ViewerContext, ViewerOptions
11
+
12
+ class MyViewer(ViewerContext):
13
+ options = ViewerOptions(source='model.glb')
14
+
15
+ MyViewer.ContextMainLoop()
16
+
17
+ What it holds:
18
+
19
+ scenegraph VRML97-style nodes, plus the metallic/roughness material
20
+ and mesh the glTF loader produces
21
+ loaders glTF 2.0/GLB, VRML97, Wavefront OBJ and streamed 3D Tiles
22
+ passes The core-profile and compatibility render passes, physically
23
+ based rendering, image-based lighting, shadows, instancing
24
+ move Walking, flying, swimming and mouse-look, with collision
25
+ physics Rigid bodies, colliders, gravity zones and triggers
26
+ audio Sound placed in the scene and heard from where you stand
27
+ ui Panels, widgets and a settings screen over the live frame
28
+ viewer The embeddable viewer that `oglc-view` is a command line for
29
+
30
+ It is also the primary suite of test cases PyOpenGL is verified against.
31
+
32
+ Documentation is under `docs/`, indexed by `docs/documentation.html`.
33
+ '''
34
+
35
+ __version__ = "3.0.0a4"
36
+ __author__ = "Michael Colin Fletcher"
37
+ __license__ = "BSD-Style, see license.txt for details and exceptions"
38
+
39
+ from OpenGLContext.plugins import Context,InteractiveContext,VRMLContext,Loader,Node,Adapter
40
+
41
+ Context( 'pygame', 'OpenGLContext.pygamecontext.PygameContext' )
42
+ Context( 'wx', 'OpenGLContext.wxcontext.wxContext' )
43
+ Context( 'glut', 'OpenGLContext.glutcontext.GLUTContext' )
44
+ Context( 'glfw', 'OpenGLContext.glfwcontext.GLFWContext' )
45
+ Context( 'tk', 'OpenGLContext.tkcontext.TkContext' )
46
+ # Offscreen: no window, no display server. One class fills the interactive slot
47
+ # too, because a context nothing can click on has no separate interactive form.
48
+ # One per platform -- EGL on Linux, WGL pbuffers on Windows -- and both are
49
+ # registered everywhere, since which one a machine can actually create is a
50
+ # question its answer already gives.
51
+ Context( 'egl', 'OpenGLContext.eglcontext.EGLContext' )
52
+ Context( 'wgl', 'OpenGLContext.wglcontext.WGLContext' )
53
+ InteractiveContext( 'pygame', 'OpenGLContext.pygameinteractivecontext.PygameInteractiveContext' )
54
+ InteractiveContext( 'wx', 'OpenGLContext.wxinteractivecontext.wxInteractiveContext' )
55
+ InteractiveContext( 'glut', 'OpenGLContext.glutinteractivecontext.GLUTInteractiveContext' )
56
+ InteractiveContext( 'glfw', 'OpenGLContext.glfwinteractivecontext.GLFWInteractiveContext' )
57
+ InteractiveContext( 'tk', 'OpenGLContext.tkinteractivecontext.TkInteractiveContext' )
58
+ InteractiveContext( 'egl', 'OpenGLContext.eglcontext.EGLContext' )
59
+ InteractiveContext( 'wgl', 'OpenGLContext.wglcontext.WGLContext' )
60
+ VRMLContext( 'pygame', 'OpenGLContext.pygamevrmlcontext.VRMLContext' )
61
+ VRMLContext( 'wx', 'OpenGLContext.wxvrmlcontext.VRMLContext' )
62
+ VRMLContext( 'glut', 'OpenGLContext.glutvrmlcontext.VRMLContext' )
63
+ VRMLContext( 'glfw', 'OpenGLContext.glfwvrmlcontext.VRMLContext' )
64
+ VRMLContext( 'tk', 'OpenGLContext.tkvrmlcontext.VRMLContext' )
65
+ VRMLContext( 'egl', 'OpenGLContext.eglvrmlcontext.VRMLContext' )
66
+ VRMLContext( 'wgl', 'OpenGLContext.wglvrmlcontext.VRMLContext' )
67
+
68
+ # Imported for its side effect: the package registers the Qt backend with the
69
+ # registries above as it loads. Absent unless the separate OpenGLContext-qt
70
+ # distribution is installed, which is the whole of what makes qt selectable.
71
+ try:
72
+ import OpenGLContext_qt # noqa: F401
73
+ except ImportError:
74
+ pass
75
+
76
+ Loader( 'vrml97', 'OpenGLContext.loaders.vrml97.defaultHandler', ['.wrl','.wrz','.vrml','model/vrml','x-world/x-vrml','.wrl.gz'] )
77
+ Loader( 'obj', 'OpenGLContext.loaders.obj.defaultHandler', ['.obj'] )
78
+
79
+ # What `oglc-view` can open, keyed by file suffix and content type. One viewer
80
+ # serves every format; the adapter is chosen from the source itself.
81
+ Adapter( 'gltf', 'OpenGLContext.viewer.adapters.gltf.GLTFAdapter', ['.gltf','.glb','model/gltf+json','model/gltf-binary'] )
82
+ Adapter( 'vrml97', 'OpenGLContext.viewer.adapters.vrml.VRMLAdapter', ['.wrl','.wrz','.vrml','.wrl.gz','model/vrml','x-world/x-vrml'] )
83
+ Adapter( 'obj', 'OpenGLContext.viewer.adapters.obj.OBJAdapter', ['.obj','.obj.gz','model/obj'] )
84
+ # A tileset is any .json, so the registry only claims the conventional name; a
85
+ # document under another name is recognised by its content (adapters._sniff).
86
+ Adapter( 'tiles3d', 'OpenGLContext.viewer.adapters.tiles.TilesAdapter', ['tileset.json'] )
87
+
88
+ Node( 'Anchor', 'vrml.vrml97.basenodes.Anchor' )
89
+ Node( 'Appearance', 'OpenGLContext.scenegraph.appearance.Appearance' )
90
+ Node( 'AudioEmitter', 'OpenGLContext.scenegraph.audio.AudioEmitter' )
91
+ Node( 'AudioSource', 'OpenGLContext.scenegraph.audio.AudioSource' )
92
+ Node( 'AudioClip', 'vrml.vrml97.basenodes.AudioClip' )
93
+ Node( 'Background', 'OpenGLContext.scenegraph.background.Background' )
94
+ Node( 'Billboard', 'OpenGLContext.scenegraph.billboard.Billboard' )
95
+ Node( 'Box', 'OpenGLContext.scenegraph.box.Box' )
96
+ Node( 'Collision', 'OpenGLContext.scenegraph.collision.Collision' )
97
+ Node( 'Color', 'vrml.vrml97.basenodes.Color' )
98
+ Node( 'ColorInterpolator', 'OpenGLContext.scenegraph.interpolators.ColorInterpolator' )
99
+ Node( 'Cone', 'OpenGLContext.scenegraph.quadrics.Cone' )
100
+ Node( 'Coordinate', 'OpenGLContext.scenegraph.coordinate.Coordinate' )
101
+ Node( 'CoordinateInterpolator', 'OpenGLContext.scenegraph.interpolators.CoordinateInterpolator' )
102
+ Node( 'Cylinder', 'OpenGLContext.scenegraph.quadrics.Cylinder' )
103
+ Node( 'CylinderSensor', 'vrml.vrml97.basenodes.CylinderSensor' )
104
+ Node( 'DirectionalLight', 'OpenGLContext.scenegraph.light.DirectionalLight' )
105
+ Node( 'ElevationGrid', 'vrml.vrml97.basenodes.ElevationGrid' )
106
+ Node( 'Extrusion', 'OpenGLContext.scenegraph.extrusions.Extrusion' )
107
+ Node( 'Fog', 'OpenGLContext.scenegraph.fog.Fog' )
108
+ Node( 'FontStyle', 'OpenGLContext.scenegraph.text.fontstyle3d.FontStyle' )
109
+ Node( 'Gear', 'OpenGLContext.scenegraph.gear.Gear' )
110
+ Node( 'Group', 'OpenGLContext.scenegraph.group.Group' )
111
+ Node( 'ImageTexture', 'OpenGLContext.scenegraph.imagetexture.ImageTexture' )
112
+ Node( 'IndexedFaceSet', 'OpenGLContext.scenegraph.indexedfaceset.IndexedFaceSet' )
113
+ Node( 'IndexedLineSet', 'OpenGLContext.scenegraph.indexedlineset.IndexedLineSet' )
114
+ Node( 'Inline', 'OpenGLContext.scenegraph.inline.Inline' )
115
+ Node( 'LOD', 'OpenGLContext.scenegraph.lod.LOD' )
116
+ Node( 'Material', 'OpenGLContext.scenegraph.material.Material' )
117
+ Node( 'MouseOver', 'OpenGLContext.scenegraph.mouseover.MouseOver' )
118
+ Node( 'MovieTexture', 'vrml.vrml97.basenodes.MovieTexture' )
119
+ Node( 'NavigationInfo', 'vrml.vrml97.basenodes.NavigationInfo' )
120
+ Node( 'Normal', 'vrml.vrml97.basenodes.Normal' )
121
+ Node( 'NormalInterpolator', 'vrml.vrml97.basenodes.NormalInterpolator' )
122
+ Node( 'OrientationInterpolator', 'OpenGLContext.scenegraph.interpolators.OrientationInterpolator' )
123
+ Node( 'PixelTexture', 'OpenGLContext.scenegraph.imagetexture.PixelTexture' )
124
+ Node( 'PlaneSensor', 'vrml.vrml97.basenodes.PlaneSensor' )
125
+ Node( 'PolyCone', 'OpenGLContext.scenegraph.extrusions.PolyCone' )
126
+ Node( 'PolyCylinder', 'OpenGLContext.scenegraph.extrusions.PolyCylinder' )
127
+ Node( 'PointLight', 'OpenGLContext.scenegraph.light.PointLight' )
128
+ Node( 'ParticleEmitter', 'OpenGLContext.scenegraph.particles.ParticleEmitter' )
129
+ Node( 'PointSet', 'OpenGLContext.scenegraph.pointset.PointSet' )
130
+ Node( 'PositionInterpolator', 'OpenGLContext.scenegraph.interpolators.PositionInterpolator' )
131
+ Node( 'ProximitySensor', 'vrml.vrml97.basenodes.ProximitySensor' )
132
+ Node( 'ScalarInterpolator', 'OpenGLContext.scenegraph.interpolators.ScalarInterpolator' )
133
+ Node( 'Shape', 'OpenGLContext.scenegraph.shape.Shape' )
134
+ Node( 'Sound', 'OpenGLContext.scenegraph.audio.Sound' )
135
+ Node( 'Sphere', 'OpenGLContext.scenegraph.quadrics.Sphere' )
136
+ Node( 'SphereSensor', 'vrml.vrml97.basenodes.SphereSensor' )
137
+ Node( 'SpotLight', 'OpenGLContext.scenegraph.light.SpotLight' )
138
+ Node( 'Switch', 'OpenGLContext.scenegraph.switch.Switch' )
139
+ Node( 'Teapot', 'OpenGLContext.scenegraph.teapot.Teapot' )
140
+ Node( 'Text', 'OpenGLContext.scenegraph.text.text.Text' )
141
+ Node( 'TextureCoordinate', 'vrml.vrml97.basenodes.TextureCoordinate' )
142
+ Node( 'TextureTransform', 'OpenGLContext.scenegraph.texturetransform.TextureTransform' )
143
+ Node( 'TimeSensor', 'OpenGLContext.scenegraph.timesensor.TimeSensor' )
144
+ Node( 'TouchSensor', 'vrml.vrml97.basenodes.TouchSensor' )
145
+ Node( 'Transform', 'OpenGLContext.scenegraph.transform.Transform' )
146
+ Node( 'Viewpoint', 'OpenGLContext.scenegraph.viewpoint.Viewpoint' )
147
+ Node( 'VisibilitySensor', 'vrml.vrml97.basenodes.VisibilitySensor' )
148
+ Node( 'WorldInfo', 'vrml.vrml97.basenodes.WorldInfo' )
149
+ Node( 'sceneGraph', 'OpenGLContext.scenegraph.scenegraph.SceneGraph' )
150
+ Node( 'IndexedPolygons', 'OpenGLContext.scenegraph.indexedpolygons.IndexedPolygons' )
151
+ Node( 'FontStyle3D', 'OpenGLContext.scenegraph.text.fontstyle3d.FontStyle3D' )
152
+ Node( 'SimpleBackground', 'OpenGLContext.scenegraph.simplebackground.SimpleBackground' )
153
+ Node( 'CubeBackground', 'OpenGLContext.scenegraph.cubebackground.CubeBackground' )
154
+ Node( 'SphereBackground', 'OpenGLContext.scenegraph.spherebackground.SphereBackground' )
155
+ Node( 'MMImageTexture', 'OpenGLContext.scenegraph.imagetexture.MMImageTexture' )
156
+ Node( 'Contour2D', 'OpenGLContext.scenegraph.nurbs.Contour2D' )
157
+ Node( 'NurbsCurve', 'OpenGLContext.scenegraph.nurbs.NurbsCurve' )
158
+ Node( 'NurbsCurve2D', 'OpenGLContext.scenegraph.nurbs.NurbsCurve2D' )
159
+ Node( 'NurbsDomainDistanceSample', 'OpenGLContext.scenegraph.nurbs.NurbsDomainDistanceSample' )
160
+ Node( 'NurbsSurface', 'OpenGLContext.scenegraph.nurbs.NurbsSurface' )
161
+ Node( 'NurbsToleranceSample', 'OpenGLContext.scenegraph.nurbs.NurbsToleranceSample' )
162
+ Node( 'Polyline2D', 'OpenGLContext.scenegraph.nurbs.Polyline2D' )
163
+ Node( 'TrimmedSurface', 'OpenGLContext.scenegraph.nurbs.TrimmedSurface' )
164
+
165
+ for suffix in ('1f','2f','3f','4f','m2','m3','m4','m2x3','m3x2','m2x4','m4x2','m3x4','m4x3'):
166
+ Node( 'FloatUniform'+suffix,'OpenGLContext.scenegraph.shaders.FloatUniform'+suffix )
167
+ for suffix in ('1i','2i','3i','4i'):
168
+ Node( 'IntUniform'+suffix,'OpenGLContext.scenegraph.shaders.IntUniform'+suffix )
169
+ Node( 'TextureUniform','OpenGLContext.scenegraph.shaders.TextureUniform' )
170
+ Node( 'TextureBufferUniform','OpenGLContext.scenegraph.shaders.TextureBufferUniform' )
171
+ Node( 'GLSLShader','OpenGLContext.scenegraph.shaders.GLSLShader' )
172
+ Node( 'GLSLObject','OpenGLContext.scenegraph.shaders.GLSLObject' )
173
+ Node( 'GLSLImport','OpenGLContext.scenegraph.shaders.GLSLImport' )
174
+
175
+ Node( 'ShaderAttribute','OpenGLContext.scenegraph.shaders.ShaderAttribute' )
176
+ Node( 'ShaderBuffer','OpenGLContext.scenegraph.shaders.ShaderBuffer' )
177
+ Node( 'ShaderIndexBuffer','OpenGLContext.scenegraph.shaders.ShaderIndexBuffer' )
178
+ Node( 'ShaderSlice','OpenGLContext.scenegraph.shaders.ShaderSlice' )
179
+ Node( 'ShaderGeometry','OpenGLContext.scenegraph.shaders.ShaderGeometry' )
180
+
181
+ Node( 'Shader','OpenGLContext.scenegraph.shaders.Shader' )
182
+ Node( 'ROUTE','vrml.route.ROUTE' )
183
+ Node( 'IS','vrml.route.IS' )
@@ -0,0 +1,18 @@
1
+ """PyInstaller hooks for OpenGLContext
2
+
3
+ PyInstaller finds these through the ``pyinstaller40`` entry point declared in
4
+ ``pyproject.toml``: it calls :func:`get_hook_dirs` and reads every
5
+ ``hook-*.py`` in the directory returned. An application freezing itself needs
6
+ to do nothing to switch them on, and nothing here is imported when the engine
7
+ is merely used.
8
+
9
+ What an application does choose is in :mod:`OpenGLContext.packaging`.
10
+ """
11
+
12
+ import os
13
+ from typing import List
14
+
15
+
16
+ def get_hook_dirs() -> List[str]:
17
+ """Directories PyInstaller should read hooks from"""
18
+ return [os.path.dirname(__file__)]
@@ -0,0 +1,54 @@
1
+ """What a frozen application needs from the engine beyond its import statements
2
+
3
+ Three sets of things the engine reaches by name rather than by importing:
4
+
5
+ * the plug-in registries (:mod:`OpenGLContext.plugins`) -- the windowing
6
+ backends, the format loaders, the viewer's adapters and every scenegraph node,
7
+ each declared as a string and imported when a scene asks for it,
8
+ * the generated resource and font-atlas modules, loaded by name from a
9
+ ``res://`` URL and from the size a piece of text is drawn at, and
10
+ * the files the engine opens by path: the GLSL sources the render passes are
11
+ built from, and the environment maps a default background is lit by.
12
+
13
+ Each is reported from the source the running engine uses, so a node or a shader
14
+ added to the engine reaches a frozen application without an edit here.
15
+
16
+ The whole registry is reported, PyOpenGL's own entries included: an application
17
+ built on the engine imports both, and naming a module twice costs nothing.
18
+ Modules for a toolkit that is not installed are reported too and end up as
19
+ missing-import notes in the build log rather than as failures -- the backend
20
+ reports itself unavailable at run time, which is what a bundle wants. To leave
21
+ an unwanted toolkit out altogether, pass
22
+ :func:`OpenGLContext.packaging.unused_backend_modules` to ``excludes``.
23
+ """
24
+
25
+ from typing import List
26
+
27
+ from PyInstaller import isolated
28
+ from PyInstaller.utils.hooks import collect_data_files, collect_submodules
29
+
30
+
31
+ @isolated.decorate
32
+ def _plugin_modules() -> List[str]:
33
+ """Modules the plug-in registries would import, the engine's own included"""
34
+ import OpenGLContext # noqa: F401 -- imported for its registrations
35
+ from OpenGL import plugins
36
+
37
+ modules: List[str] = plugins.registered_modules()
38
+ return modules
39
+
40
+
41
+ hiddenimports = (
42
+ _plugin_modules()
43
+ # `res://` URLs and the text renderer name these modules at run time; they
44
+ # are generated Python holding the bytes of an icon, a shader or a font
45
+ # atlas, so they travel as code rather than as data files.
46
+ + collect_submodules('OpenGLContext.resources')
47
+ + collect_submodules('OpenGLContext.scenegraph.text.fonts')
48
+ )
49
+
50
+ # The shaders, the environment maps and the atlas images beside their generated
51
+ # modules: everything in the package that is not Python. It is under half a
52
+ # megabyte all together, so it is collected wholesale rather than by a list of
53
+ # patterns that would go stale as passes are added.
54
+ datas = collect_data_files('OpenGLContext')
@@ -0,0 +1,17 @@
1
+ """The GLFW shared library, which its bindings open by path
2
+
3
+ ``glfw`` is the backend the engine recommends for the core profile, and the
4
+ one an application on this stack normally freezes. Its bindings load the
5
+ library with ``ctypes`` from a path they work out at run time -- including,
6
+ already, the paths a frozen application has -- so all that is missing is the
7
+ file itself, which no import statement mentions.
8
+
9
+ The Linux wheels carry a build for X11 and one for Wayland and choose between
10
+ them from the session type, so both travel: which one a machine wants is not
11
+ known when the bundle is built. PyInstaller ships no hook for ``glfw``, so
12
+ this one lives with the engine that asks for it.
13
+ """
14
+
15
+ from PyInstaller.utils.hooks import collect_dynamic_libs
16
+
17
+ binaries = collect_dynamic_libs('glfw')
@@ -0,0 +1,302 @@
1
+ """Texture atlas implementation"""
2
+ import math
3
+ import weakref
4
+ import logging
5
+ from typing import Any, Dict, List, Optional, Sequence, Tuple
6
+
7
+ from OpenGL.GL import *
8
+ from OpenGLContext.arrays import zeros, array, dot, ArrayType
9
+ from OpenGLContext import texture
10
+ from vrml.vrml97 import transformmatrix
11
+
12
+ log = logging.getLogger( __name__ )
13
+
14
+ class _Strip( object ):
15
+ """Strip within the atlas which takes particular set of images"""
16
+ def __init__( self, atlas: 'Atlas', height: int, yoffset: int ) -> None:
17
+ """Sets up the strip to receive images"""
18
+ self.atlas = atlas
19
+ self.height = height
20
+ self.width = 0
21
+ self.yoffset = yoffset
22
+ self.maps: List['weakref.ref[Map]'] = []
23
+ def start_coord( self, x: int ) -> int:
24
+ """Do we have an empty space sufficient to fit image of width x?
25
+
26
+ return starting coordinate or -1 if not enough space...
27
+ """
28
+ last = 0
29
+ for mapRef in self.maps:
30
+ referenced = mapRef()
31
+ if referenced is not None:
32
+ if referenced.offset[0]-last >= x:
33
+ return last
34
+ else:
35
+ last = referenced.offset[0]+referenced.size[0]
36
+ if self.atlas.max_size-last >= x:
37
+ return last
38
+ return -1
39
+ def add( self, image: Any, start: Optional[int] = None ) -> 'Map':
40
+ """Add the given PIL image to our atlas' image"""
41
+ x,y = image.size
42
+ if start is None:
43
+ start = self.start_coord( x )
44
+ offset = (start,self.yoffset)
45
+ result = Map( self.atlas, offset, (x,y), image )
46
+ self.maps.append( weakref.ref( result, self.onRemove ) )
47
+ self.atlas.need_updates.append( weakref.ref(result) )
48
+ return result
49
+ def onRemove( self, *args: Any, **named: Any ) -> None:
50
+ """Drop the maps that have been released (a weakref-release callback)
51
+
52
+ Rebuilt rather than removed from in place: a released map is found by
53
+ scanning, and removing during that scan skips the entry after it.
54
+ """
55
+ self.maps[:] = [ ref for ref in self.maps if ref() is not None ]
56
+
57
+ class AtlasError( Exception ):
58
+ """Raised when we can't/shouldn't append to this atlas"""
59
+
60
+ class Atlas( object ):
61
+ """Collection of textures packed into a single texture
62
+
63
+ Texture atlases allow the rendering engine to reduce the
64
+ number of state-changes which occur during the rendering
65
+ process. They pack a large number of small textures into
66
+ a single large texture, producing offset/scale matrices to
67
+ use for modifying texture coordinates to map from the
68
+ original to the packed coordinates.
69
+ """
70
+ _size: Optional[Tuple[int, int, int]] = None
71
+ def __init__( self, components: int = 4, dataType: str = 'B',
72
+ max_size: int = 4096 ) -> None:
73
+ self.components = components
74
+ self.dataType = dataType
75
+ self.strips: List[_Strip] = []
76
+ self.max_size = max_size
77
+ self.need_updates: List['weakref.ref[Map]'] = []
78
+ self.texture: Optional[texture.Texture] = None
79
+ log.info(
80
+ 'Allocating a %s-component texture atlas of size %sx%s',
81
+ components,
82
+ max_size,max_size,
83
+ )
84
+
85
+ def add( self, image: Any ) -> 'Map':
86
+ """Insert a PIL image of values as a sub-texture
87
+
88
+ Has to find a place within the atlas to insert the
89
+ sub-texture and then return the offset/scale factors...
90
+ """
91
+ max_x = max_y = self.max_size
92
+ x,y = image.size
93
+ strip,start = self.choose_strip( max_x, max_y, x, y )
94
+ return strip.add( image, start=start )
95
+ def choose_strip( self, max_x: int, max_y: int,
96
+ x: int, y: int ) -> Tuple['_Strip', int]:
97
+ """Find the strip to which we should be added"""
98
+ candidates = [
99
+ s
100
+ for s in self.strips
101
+ if (
102
+ s.height >= y
103
+ )
104
+ ]
105
+ for strip in candidates:
106
+ if strip.height == y:
107
+ start = strip.start_coord( x )
108
+ if start > -1:
109
+ return strip, start
110
+ for strip in candidates:
111
+ strip_mag = math.floor(math.log( strip.height, 2 ))
112
+ img_mag = math.floor(math.log( y, 2 ))
113
+ if strip_mag == img_mag:
114
+ start = strip.start_coord( x )
115
+ if start > -1:
116
+ return strip, start
117
+ if self.strips:
118
+ last = self.strips[-1]
119
+ current_height = last.yoffset + last.height
120
+ else:
121
+ current_height = 0
122
+ if current_height + y > max_y:
123
+ raise AtlasError( """Insufficient space to store in this atlas""" )
124
+ strip = _Strip( self, height=y, yoffset= current_height )
125
+ self.strips.append( strip )
126
+ start = strip.start_coord( x )
127
+ return strip, start
128
+
129
+ def size( self ) -> Tuple[int, int, int]:
130
+ """The atlas texture's width, height and component count"""
131
+ if self._size is None:
132
+ x = y = self.max_size
133
+ self._size = (x,y,self.components)
134
+ return self._size
135
+
136
+ def render( self ) -> texture.Texture:
137
+ """Render this texture to the context"""
138
+ if self.texture is None:
139
+ format = [0, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_RGBA ][self.components]
140
+ self.texture = texture.Texture(format=format)
141
+ x,y,d = self.size()
142
+ self.texture.store(
143
+ d,
144
+ format,
145
+ x,y,
146
+ None
147
+ )
148
+ # Bound rather than enabled: the sub-image uploads below need the
149
+ # binding, and the fixed-function texture unit does not exist in core.
150
+ self.texture.bind()
151
+ needs = self.need_updates[:]
152
+ del self.need_updates[:len(needs)]
153
+ for reference in needs:
154
+ need = reference()
155
+ if need is not None:
156
+ need.update( self.texture )
157
+ return self.texture
158
+ def cached( self, mode: Any ) -> texture.Texture:
159
+ """Get cached version of this texture
160
+
161
+ Note: currently we do *not* properly use mode-level caching
162
+ for the texture object
163
+ """
164
+ return self.render()
165
+ def debugImageTexture( self, mode: Any ) -> Any:
166
+ """Create a debugging image texture for this texture atlas
167
+ """
168
+ from OpenGLContext.scenegraph.imagetexture import ImageTexture,Image
169
+ from OpenGLContext.texture import NumpyAdapter
170
+ format = NumpyAdapter.shapeToMode( self.components )
171
+ instance = ImageTexture(
172
+ image = Image.new(format, (1,1)),
173
+ )
174
+ mode.cache.holder(instance, self.texture)
175
+ return instance
176
+
177
+ class Map( object ):
178
+ """Object representing a sub-texture within a texture atlas
179
+
180
+ A Map object is a dependent version of an OpenGLContext.texture.Texture
181
+ object, i.e. it tries to offer the same API, but with support for
182
+ Atlas-based maps instead of stand-alone ones.
183
+ """
184
+ _matrix: Any = None
185
+ _coords: Any = None
186
+ _uploaded = False
187
+ def __init__( self, atlas: 'Atlas', offset: Tuple[int, int],
188
+ size: Tuple[int, int], image: Any ) -> None:
189
+ self.atlas = atlas
190
+ self.offset = offset
191
+ self.size = size
192
+ self.image = image
193
+ self.components = self.atlas.components
194
+ def matrix( self ) -> Any:
195
+ """Calculate a 4x4 transform matrix for texcoords
196
+
197
+ To manipulate texture coordinates with this matrix
198
+ they need to be in homogenous coordinates, i.e. a
199
+ "regular" 2d coordinate of (x,y) becomes (x,y,0.0,1.0)
200
+ so that it can pick up the translations.
201
+
202
+ dot( coord, matrix ) produces the transformed
203
+ coordinate for processing.
204
+
205
+ returns 4x4 translation matrix
206
+ """
207
+ if self._matrix is None:
208
+ # translate by self.offset/atlas.size
209
+ # scale by self.size/atlas.size
210
+ width,height,_depth = self.atlas.size()
211
+ tx,ty = float(width),float(height)
212
+ x,y = self.offset
213
+ sx,sy = self.size
214
+ self._matrix = transformmatrix.transformMatrix (
215
+ translation = (x/tx,y/ty,0),
216
+ scale = (sx/tx,sy/ty,1),
217
+ )
218
+ return self._matrix
219
+ def coords( self ) -> Any:
220
+ """Return our bottom-left and top-right coordinate pairs"""
221
+ if self._coords is None:
222
+ width,height,_depth = self.atlas.size()
223
+ tx,ty = float(width),float(height)
224
+ x,y = self.offset
225
+ sx,sy = self.size
226
+ self._coords = array( ((x/tx,y/ty),((x+sx)/tx,(y+sy)/ty)), 'f')
227
+ return self._coords
228
+
229
+ def replace( self, image: Any ) -> None:
230
+ """Replace our current image with given (PIL) image"""
231
+ self._uploaded = False
232
+ self.image = image
233
+ self.atlas.need_updates.append( weakref.ref(self) )
234
+ def update( self, target: Any ) -> None:
235
+ """Update the atlas texture with (new) data in self.image
236
+
237
+ This just calls the texture's update with our metadata
238
+ in order to do the actual copy of the data-pointer.
239
+ """
240
+ target.update(
241
+ self.offset, self.size,
242
+ target.pilAsString( self.image),
243
+ )
244
+ self._uploaded = True
245
+ @property
246
+ def texture( self ) -> Any:
247
+ """Retrieve our texture"""
248
+ return self.atlas.cached( None )
249
+ def __call__( self ) -> None:
250
+ """Enable/call our texture"""
251
+ self.atlas.render()
252
+ # should also load our texture-transform matrix.
253
+ glMatrixMode( GL_TEXTURE )
254
+ glLoadMatrixd( self.matrix() )
255
+ glMatrixMode( GL_MODELVIEW )
256
+
257
+ class AtlasManager( object ):
258
+ """Collection of atlases within the renderer"""
259
+ def __init__( self, max_size: Optional[int] = 4096,
260
+ max_child_size: int = 128 ) -> None:
261
+ self.components: Dict[int, List[Atlas]] = {}
262
+ self.max_size = max_size
263
+ self.max_child_size = max_child_size
264
+ FORMAT_MAPPING = {
265
+ 'L':(1,GL_LUMINANCE),
266
+ 'LA':(2,GL_LUMINANCE_ALPHA),
267
+ 'RGB':(3,GL_RGB),
268
+ 'RGBA':(4,GL_RGBA),
269
+ }
270
+ def formatToComponents( self, format: str ) -> int:
271
+ """Convert PIL format to component count"""
272
+ return self.FORMAT_MAPPING[ format ][0]
273
+ def add( self, image: Any ) -> 'Map':
274
+ """Add the given image to the texture atlas"""
275
+ if isinstance( image, ArrayType ):
276
+ image = texture.NumpyAdapter( image )
277
+ x,y = image.size
278
+ if x > self.max_child_size:
279
+ raise AtlasError( """X size (%s) > %s"""%( x,self.max_child_size ) )
280
+ if y > self.max_child_size:
281
+ raise AtlasError( """Y size (%s) > %s"""%( y,self.max_child_size ) )
282
+ d = self.formatToComponents( image.mode )
283
+ atlases = self.components.setdefault( d, [])
284
+ for atlas in atlases:
285
+ try:
286
+ return atlas.add( image )
287
+ except AtlasError:
288
+ pass
289
+ atlas = Atlas( d, max_size=self.max_size or self.calculate_max_size() )
290
+ atlases.append( atlas )
291
+ return atlas.add( image )
292
+ _MAX_MAX_SIZE = 4096
293
+ def calculate_max_size( self ) -> int:
294
+ """Calculate the maximum size of a texture
295
+
296
+ Note that this might, for instance, assume a
297
+ single-component texture or some similarly inappropriate
298
+ value...
299
+ """
300
+ self.max_size = min( int(glGetIntegerv(GL_MAX_TEXTURE_SIZE)),
301
+ self._MAX_MAX_SIZE )
302
+ return self.max_size