OpenGLContext 3.0.0a6__tar.gz → 3.0.0a7__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.
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/__init__.py +1 -1
- openglcontext-3.0.0a7/OpenGLContext/shaders/pose_blend.comp +253 -0
- openglcontext-3.0.0a7/OpenGLContext/shaders/skeleton_palette.comp +72 -0
- openglcontext-3.0.0a7/OpenGLContext/shaders/skeleton_world.comp +82 -0
- openglcontext-3.0.0a7/OpenGLContext/shaders/vrml97_wide_line.geom +72 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/video/__init__.py +1 -1
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/video/clock.py +6 -2
- openglcontext-3.0.0a7/OpenGLContext/video/codecs.py +32 -0
- openglcontext-3.0.0a7/OpenGLContext/video/commandline.py +137 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/video/recorder.py +122 -9
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext.egg-info/PKG-INFO +3 -3
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext.egg-info/SOURCES.txt +6 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/PKG-INFO +3 -3
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/README.md +2 -2
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/capturing.rst +4 -4
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/documentation.rst +4 -4
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/index.rst +3 -2
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/recording.rst +101 -4
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/structure.rst +2 -2
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/viewer.rst +2 -1
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/pyproject.toml +2 -2
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/MANIFEST.in +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/__pyinstaller/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/__pyinstaller/hook-OpenGLContext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/__pyinstaller/hook-glfw.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/arrays.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/atlas.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/atomicfiles.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/audio/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/audio/acoustics.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/audio/areas.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/audio/scene.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/audio/settings.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/audio/vehicle.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/audio/x3dgraph.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/audio_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/character_sheet.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/choosecontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/choosefonts.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/cover_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/deformer_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/gltest.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/gltf_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/gltf_regression.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/lod_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/lorentz.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/mirrorhall.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/mirrors_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/physics_cook.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/physics_events_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/profile_view.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/terrain_view.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/ui_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/view.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/vrml_view.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_gallery.x3d +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_geospatial_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_layering.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_layering.x3d +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_materials.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_movie.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_movie.x3d +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_movie_film.x3d +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_nurbs.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_nurbs.x3d +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_particles.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_particles.x3d +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_regression.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_rigidbody.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_rigidbody.x3d +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_shaders.x3d +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_shaders_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_shaders_stripes.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_sound.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_sound.x3d +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_sound_stress.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_sound_stress.x3d +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_splats.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_volume.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/x3d_volume.x3d +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/bin/zones_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/capture.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/character/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/character/attachment.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/character/clip.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/character/crowd.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/character/gpuskeleton.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/character/hanim.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/character/humanoid.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/character/levels.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/character/mixer.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/character/model.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/character/rig.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/character/wander.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/contactsheet.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/contentpacks/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/contentpacks/application.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/contentpacks/archive.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/contentpacks/bundletags.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/contentpacks/catalog.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/contentpacks/fetch.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/contentpacks/pack.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/contentpacks/publish.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/contentpacks/store.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/context.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/contextconfig.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/contextdefinition.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/contextresources.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/debug/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/debug/bufferimage.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/debug/leaks.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/debug/logcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/debug/logs.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/debug/state.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/demos/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/demos/packaging/README.md +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/demos/packaging/build-deb.sh +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/demos/packaging/deb-project/pyproject.toml +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/demos/packaging/entry.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/demos/packaging/viewer-demos.spec +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/demos/tk_viewer.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/demos/wx_viewer.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/displaylist.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/doinchildmatrix.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/drawcube.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/edit/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/edit/controlnet.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/edit/gizmo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/edit/maptools.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/edit/mapview.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/edit/orbitview.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/edit/relief.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/edit/surface.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/edit/tools.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/eglcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/eglvrmlcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/entropy.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/event.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/eventhandlermixin.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/eventmanager.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/framestep.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/glfwevents.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/glutevents.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/inputstate.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/internaltime.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/keyboardevents.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/loadwait.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/mouseevents.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/pygameevents.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/renderqueue.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/synthetic.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/systemtime.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/timeeventgeneratormanager.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/timeevents.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/timer.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/tkevents.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/wheel.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/events/wxevents.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/extensionmanager.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/framecounter.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/frustum.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/glfwcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/glfwinteractivecontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/glfwvrmlcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/glutcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/glutinteractivecontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/gluttestingcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/glutvrmlcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/glutvrmltestingcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/hud.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/interactivecontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/lighting.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/assets.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/background.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/base.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/basisu.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/cc0.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/documentvalues.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/formats.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/accessors.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/animation.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/draco.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/environment_sky.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/fastdecode.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/hooks.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/imagebased.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/loader.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/lod.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/lodasset.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/materials.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/meshes.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/meshopt.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/notices.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/samples.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/scene.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/shapes.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/splats.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/textures.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/transforms.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/variants.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/writer.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf/zoning.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/gltf_demos.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/hdr.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/hdri.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/loader.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/meshfiles.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/notices.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/obj.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/panorama.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/readers.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/resolver.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/sceneloader.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/textureimages.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/boundingvolume.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/dem.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/fetch.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/foliage.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/frustum.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/generated.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/geomorph.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/gltf_uploader.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/loadmanager.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/manifest.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/physics_colliders.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/procedural.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/props.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/reader.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/residency.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/runtime.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/sample.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/scatter.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/screenspaceerror.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/tileprocess.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/tileset.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/traversal.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/tiles3d/vegetation.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/vrml97.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/loaders/x3d.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/looptrace.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/bindingstore.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/direct.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/dragwatcher.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/examinemanager.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/followcam.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/modes.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/movementmanager.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/navigation.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/navigationdefinition.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/navigationinfo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/orbit.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/physicsplatform.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/physicswalk.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/smooth.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/terrainfollow.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/terrainwalk.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/trackball.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/viewplatform.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/move/viewplatformmixin.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/multiview/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/multiview/cameras.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/multiview/gestures.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/multiview/grid.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/multiview/layers.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/multiview/mixin.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/multiview/navigation.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/multiview/quad.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/multiview/strategy.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/multiview/viewpoints.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/multiview/views.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/multiview/viewset.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/nav/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/nav/navmesh.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/noise.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/outline.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/packaging/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/packaging/appdir.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/packaging/deb.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/packaging/multicall.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/packs.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/_flat.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/asyncpick.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/bloom.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/clippass.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/clipscope.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/disposal.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/fixedprojectors.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/flatcompat.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/flatcore.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/flateffects.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/framestate.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/generatedtextures.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/glstate.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/gputimer.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/ibl.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/instancing.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/layerguard.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/layerpass.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/lightscope.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/localfog.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/multiviewpass.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/oit.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/pbrpass.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/projectorpass.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/quality.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/reflection.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/reflectionatlas.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/reflectionpass.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/reflectionplanner.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/reflectiontiles.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/renderfailures.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/renderpass.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/renderstats.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/scatter.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/selection.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/selectionbuffers.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/shaderpass.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/shaderpass_shadow.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/shadersource.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/shading.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/shadowcaps.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/shadowmap.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/shadowmath.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/shadowmixin.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/shadowpool.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/texturelayerpass.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/tonemapping.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/transmission.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/viewpointbinding.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/volumepass.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/zonebake.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/zonelayers.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/zonepass.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/passes/zoneprobes.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/physics/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/physics/debugdraw.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/physics/demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/physics/events.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/physics/gltf_world.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/physics/heightfield.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/physics/manager.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/physics/props.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/physics/road.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/physics/threaded.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/physics/x3dcollision.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/physics/x3drigid.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/physics/zones.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/plugins.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/processexit.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/py.typed +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/pygamecontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/pygameinteractivecontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/pygametestingcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/pygamevrmlcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/quaternion.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/renderoptions.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/available_contexts.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/available_contexts_txt.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/context_icon_png.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/context_icon_small_png.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/disk_icon_hi_png.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/disk_icon_png.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/pimbackground_BK.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/pimbackground_DN.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/pimbackground_FR.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/pimbackground_LF.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/pimbackground_RT.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/pimbackground_UP.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/studio_BK.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/studio_DN.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/studio_FR.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/studio_LF.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/studio_RT.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/studio_UP.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/studiobright_BK.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/studiobright_DN.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/studiobright_FR.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/studiobright_LF.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/studiobright_RT.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/environment/studiobright_UP.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/green_arrow_right_png.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/legacy_lighting.vert.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/legacy_lighting_vert_txt.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/lights.vert.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/lights_vert_txt.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/phongprecalc_vert.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/phongweights_frag.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/pygame_icon_png.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/red_arrow_right_png.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/simpleshader.frag.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/simpleshader.vert.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/simpleshader_frag_txt.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/resources/simpleshader_vert_txt.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/_basenodes_stub.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/anchor.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/appearance.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/arraygeometry.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/atlasmesh.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/audio.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/background.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/basenodes.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/basenodes.pyi +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/billboard.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/bindable.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/boundingvolume.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/box.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/collision.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/composedgeometry.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/coordinate.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/coordinatebounded.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/coordinatedeform.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/coordinatedeformer.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/coordinates.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/cubebackground.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/cubemaptexture.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/drawproperties.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/environmentlight.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/extrusions.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/fog.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/fogcoordinate.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/framed.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/frommesh.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/gantry.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/gaussiansplats.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/gear.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/generatedtiles.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/geometry2d.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/geometryarrays.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/geospatial.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/group.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/grouping.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/hanim.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/hdrbackground.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/ifscompiler.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/imagebasedlight.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/imagedata.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/imagetexture.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/indexedfaceset.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/indexedlineset.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/indexedpolygons.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/inline.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/inlinegeometry.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/instancedgl.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/instancedshape.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/interpolators.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/layering.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/layout.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/light.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/lightgrid.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/lod.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/material.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/material_fields.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/materialextensions.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/meshdata.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/meshgeometry.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/mirrorhooks.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/mouseover.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/movietexture.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/multitexture.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/natural.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/nodepath.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/nurbs.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/nurbseval.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/nurbsinterpolators.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/nurbssampling.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/nurbstess.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/nurbstrim.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/nurbsx3d.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/octahedral.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/particlehooks.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/particles.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/particlesim.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/pbrmesh.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/physicalmaterial.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/physicsbody.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/pickgeometry.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/pointset.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/polygon.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/polygonsort.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/polygontessellator.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/props.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/quadrics.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/reflector.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/renderedtexture.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/rendermodes.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/road.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/roadcourse.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/roadsigns.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/roadworks.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/rockfield.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/rockground.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/rockwork.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/sampler.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/scenegraph.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/shadergeometry.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/shaders.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/shape.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/simplebackground.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/skinning.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/specularglossiness.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/spherebackground.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/splatmath.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/surfaces.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/switch.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/teapot.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/teapot_nurbs.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/teapot_nurbs_data.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/terrain/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/terrain/control.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/terrain/ground.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/terrain/heightfield.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/terrain/holes.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/terrain/relief.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/terrain/splat.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/tessellationlod.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/texgen.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/_toolsfont.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/font.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/fontlibrary.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/fontprovider.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/fonts/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/fonts/font_atlas_10.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/fonts/font_atlas_12.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/fonts/font_atlas_14.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/fonts/font_atlas_16.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/fonts/font_atlas_18.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/fonts/font_atlas_20.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/fonts/font_atlas_24.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/fonts/font_atlas_28.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/fonts/font_atlas_32.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/fontstyle3d.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/glutfont.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/pillowfont.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/pillowtext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/pygamefont.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/shaderfont.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/shadertext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/snippetatlas.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/text.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/toolsfont.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/ttfregistry.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/wglfont.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/wglfontprovider.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/text/wxfont.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/texture3d.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/texturebackground.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/texturelayers.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/texturemapping.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/textureprojector.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/texturetransform.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/tilesterrain.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/timesensor.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/transform.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/unlitmaterial.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/varied.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/vegetation/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/vegetation/base.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/vegetation/billboards.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/vegetation/clumps.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/vegetation/cover.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/vegetation/field.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/vegetation/grid.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/vegetation/nearmesh.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/vegetation/streaming.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/vertex.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/vertexsemantics.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/viewpoint.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/viewpointgroup.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/volumedata.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/volumestyles.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/walk.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/water/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/water/gltf.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/water/medium.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/water/submersion.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/water/surface.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/water/volumes.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/winding.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/x3dglsl.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/x3dgroups.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/x3dparticles.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/x3dpicking.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/x3dpointing.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/x3drigidbody.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/x3druntime.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/x3dsensors.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/x3dshaders.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/x3dsound.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/zone.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/scenegraph/zones.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/screenshot.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_brdf_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_clipplane_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_common_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_cubemap_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_displayed_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_fill_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_layers_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_lights_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_multiview_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_objectid_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_oit_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_phong_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_pointsize_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_projectors_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_shadow_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_skinning_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_texgen_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_tonemap_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_untoned_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_viewer_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_wave_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_x3d_fog_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/_zone_inc.glsl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/background_faces.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/background_faces.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/gaussian_splat.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/gaussian_splat.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/hdr_background.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/hdr_background.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/ibl_brdf.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/ibl_env.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/ibl_equirect.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/ibl_fullscreen.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/ibl_irradiance.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/ibl_prefilter.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/ibl_resample.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/particle.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/particle.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/pbr.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/pbr.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/shadow_depth.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/shadow_depth.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/terrain_splat.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/terrain_splat.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/veg_billboard.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/veg_billboard.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/veg_clump.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/veg_depth.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/veg_mesh.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/veg_mesh.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/volume.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/volume.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/vrml97_background.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/vrml97_background.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/vrml97_lighting.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/vrml97_lighting.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/vrml97_line.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/vrml97_line.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/vrml97_point.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/vrml97_point.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/vrml97_unlit.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/vrml97_unlit.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/vrml97_vertex_color.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/vrml97_vertex_color.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/shaders/vrml97_wide_line.frag +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/stalltrace.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/swapcontrol.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/telemetry/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/telemetry/__main__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/telemetry/journal.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/telemetry/record.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/telemetry/recorder.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/telemetry/replay.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/telemetry/report.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/telemetry/stretches.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/display.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/event_injector.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/framebuffer_comparison.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/gl_env.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/glcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/glfwteardown.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/layers.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/memo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/mirrored.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/network.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/openaudit.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/paths.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/plugin.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/process_exit.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/renderregression.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/report_generator.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/scaling.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/scenes.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/stillframe.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testing/subprocess_runner.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/testingcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/tests/test_atlas.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/tests/test_configs.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/tests/test_polygonsort.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/tests/test_utilities.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/tests/test_viewplatform.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/texture.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/texturecache.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/tkcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/tkinteractivecontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/tktestingcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/tkvrmlcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/triangleutilities.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/bindings.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/console.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/contentscreen.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/debugoverlay.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/dialogs.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/draw.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/gallery.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/generate.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/geometry.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/hudwidgets.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/layout.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/menu.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/metrics.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/overlay.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/panel.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/pictures.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/screen.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/scroll.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/session.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/settings.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/skin.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/toolpalette.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/tooltip.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/viewchrome.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/ui/widgets.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/userpaths.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/utilities.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/vectorutilities.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/video/playback.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/adapters/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/adapters/base.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/adapters/gltf.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/adapters/meshfiles.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/adapters/obj.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/adapters/scenegraph.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/adapters/tiles.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/adapters/vrml.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/adapters/x3d.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/caption.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/capture.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/commentary.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/debug.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/environment.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/flythrough.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/framing.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/library.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/menu.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/options.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/sceneviewer.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/screens.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/viewer/source.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/visitor.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/vrmlcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/wglcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/wglvrmlcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/windowsystem/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/windowsystem/base.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/windowsystem/egl.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/windowsystem/glfw.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/windowsystem/glut.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/windowsystem/pygame.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/windowsystem/tk.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/windowsystem/wgl.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/windowsystem/wx.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/wxcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/wxinteractivecontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/wxtestingcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext/wxvrmlcontext.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext.egg-info/dependency_links.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext.egg-info/entry_points.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext.egg-info/requires.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/OpenGLContext.egg-info/top_level.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/build-docs.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docbuild/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docbuild/markup.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docbuild/surface_swatches.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docbuild/tutorials.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/_ext/oglc_gallery.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/_ext/oglc_sidebar.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/_ext/oglc_tutorials.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/_static/gallery.css +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/_static/gallery.js +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/_static/oglc.css +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/_templates/components/edit-this-page.html +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/_templates/sidebar/badges.html +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/audio-internals.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/audio.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/backends.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/baking.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/characters.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/checks.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/conf.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/contentpacks.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/editing.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/embedding.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/environment.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/eventmodel.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/extensions/OGLC_hook.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/extensions/OGLC_zone.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/extensions/examples/OGLC_zone-2.0.gltf +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/extensions/examples/OGLC_zone-2.1.gltf +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/extensions/schema/OGLC_hook.schema.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/extensions/schema/node.OGLC_zone.schema.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/extrusions.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/flat.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/glisteel-editor.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/glisteel.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/glslversions.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/gltf.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/hud.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/ATTRIBUTION.md +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/beautiful-game.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/context-icon-small.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/context_logo.gif +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/context_logo_icon.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/bake_demo.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/bake_demo.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/crowd_demo.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/crowd_demo.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/editing_demo.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/editing_demo.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/gallery.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/gallery.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/hud_demo.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/hud_demo.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/instancing_batched.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/instancing_batched.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/mirrors_demo.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/mirrors_demo.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/molehill_edit.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/molehill_edit.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/multiview_quad.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/multiview_quad.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/navmesh_demo.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/navmesh_demo.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/particles_effects.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/particles_effects.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/recording_demo.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/recording_demo.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/roads_demo.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/roads_demo.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/telemetry_demo.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/telemetry_demo.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/water_demo.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/water_demo.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/x3d_demo.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/x3d_geospatial.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/x3d_geospatial.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/x3d_materials.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/x3d_materials.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/x3d_particles.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/x3d_shaders.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/x3d_shaders.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/x3d_splats.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/x3d_splats.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/x3d_volume.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/demos/x3d_volume.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/diagrams/audio-1.svg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/diagrams/audio-2.svg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/diagrams/particles-1.svg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/diagrams/pbr-1.svg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/diagrams/shadows-1.svg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/diagrams/shadows-2.svg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/diagrams/shadows-3.svg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/diagrams/shadows-4.svg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/doc_icon.gif +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/curves.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/fig_caps.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/fig_contours.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/fig_curve_sampling.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/fig_lathe.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/fig_polycone.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/fig_preprocessing.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/fig_scale_twist.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/fig_screw.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/fig_spiral.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/fig_texture_caps.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/fig_texture_modes.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/fig_texture_parameter.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/joins.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/normals.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/shapes.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/tessellation.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/extrusions/vrml97.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/editing.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/editing.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/extrusions.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/extrusions.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/hud.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/hud.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/navmesh.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/navmesh.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/nurbs.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/nurbs.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/particles.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/particles.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/roads.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/roads.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/terrain.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/terrain.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/text.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/text.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/water.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/features/water.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/flighthelmet.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/forest-instancing.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/forest-instancing.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/ABeautifulGame.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/ABeautifulGame.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/AntiqueCamera.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/AntiqueCamera.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/BarramundiFish.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/BarramundiFish.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/BoomBox.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/BoomBox.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/CarConcept.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/CarConcept.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/ChronographWatch.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/ChronographWatch.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/ClearCoatCarPaint.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/ClearCoatCarPaint.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/CommercialRefrigerator.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/CommercialRefrigerator.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/Corset.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/Corset.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/FlightHelmet.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/FlightHelmet.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/GlamVelvetSofa.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/GlamVelvetSofa.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/GlassHurricaneCandleHolder.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/GlassHurricaneCandleHolder.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/GlassVaseFlowers.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/GlassVaseFlowers.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/IridescentDishWithOlives.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/IridescentDishWithOlives.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/Lantern.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/Lantern.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/MaterialsVariantsShoe.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/MaterialsVariantsShoe.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/MetalRoughSpheres.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/MetalRoughSpheres.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/MosquitoInAmber.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/MosquitoInAmber.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/SciFiHelmet.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/SciFiHelmet.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/SheenWoodLeatherSofa.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/SheenWoodLeatherSofa.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/StainedGlassLamp.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/StainedGlassLamp.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/SunglassesKhronos.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/SunglassesKhronos.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/ToyCar.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/ToyCar.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/WaterBottle.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/conformance/WaterBottle.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/chess.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/chess.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/church-interior.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/church-interior.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/crowd.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/crowd.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/flight-helmet.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/flight-helmet.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/forest-walk.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/forest-walk.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/glisteel-forest-road.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/glisteel-forest-road.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/glisteel-viaduct.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/glisteel-viaduct.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/marble-board.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/marble-board.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/modern-bedroom.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/modern-bedroom.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/parthenon-look-out.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/parthenon-look-out.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/parthenon.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/parthenon.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/tiles-toronto.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/tiles-toronto.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/track-editor.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/track-editor.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/vintage-living-room.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gallery/showcase/vintage-living-room.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gltf/BarramundiFish.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gltf/BoomBox.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gltf/DamagedHelmet.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gltf/Duck.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gltf/IridescentDishWithOlives.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gltf/MetalRoughSpheres.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/gltf/WaterBottle.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/greypinstripe.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/manifest.toml +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/nurbs/deformer.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/nurbs/surfaces.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/nurbs/trimmed.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/nurbs/x3d_nurbs.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/parthenon/1-east-approach.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/parthenon/10-aerial.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/parthenon/2-steps-foot.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/parthenon/3-steps-top.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/parthenon/4-pronaos-door.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/parthenon/5-naos-entering.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/parthenon/6-naos-look-out.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/parthenon/7-west-chamber.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/parthenon/8-north-flank.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/parthenon/9-ne-corner.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/project_icon.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/pyopengl_icon.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/shadow_demo.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/surfaces.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/surfaces.json +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/text_simple.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/toronto-3dtiles.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/x3d/x3d_layering.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/x3d/x3d_movie.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/images/x3d/x3d_rigidbody.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/instancing.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/loading.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/lod.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/multiview.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/navigation.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/navmesh.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/numeric_arrays.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/nurbs.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/offscreen.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/osmcity.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/overlayui.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/packaging.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/particles.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/pbr.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/physics.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/profiles.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/reflections.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/renderpasses.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/roads.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/shadows.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/surfaces.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/telemetry.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/terrain.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tessellation.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/testing.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/text.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tiles3d.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/audio_spatial.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/bake_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/cover_meadow.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/crowd_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/editing_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/extrusions_curves.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/extrusions_gallery.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/extrusions_joins.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/extrusions_normals.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/extrusions_preprocessing.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/extrusions_shapes.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/extrusions_tessellation.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/extrusions_vrml97.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/glelathe.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/hud_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/instancing_batched.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/lightobject.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/lightobject.py-screen-0002.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/lightobject.py-screen-0003.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/lod_hall.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/mirrors_room.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/molehill.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/molehill_edit.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/multiview_quad.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/navmesh_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/nehe1.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/nehe2.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/nehe3.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/nehe4.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/nehe5.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/nehe6.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/nehe6_multi.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/nehe6_timer.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/nehe7.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/nehe7.py-screen-0002.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/nehe8.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/nehe8.py-screen-0002.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/nehe8.py-screen-0003.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/nurbsobject.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/particles_effects.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/particles_simple.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/particles_simple.py-screen-0002.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/particles_simple.py-screen-0003.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/physics_bounce.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/physics_cook_view.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/physics_events.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/physics_friction.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/physics_getting_started.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/physics_gravity_zones.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/physics_joints.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/physics_navigate.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/physics_room_drop.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/physics_stress.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/physics_triggers.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/recording_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/roads_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shader_1.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shader_10.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shader_11.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shader_12.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shader_2.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shader_3.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shader_4.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shader_4.py-screen-0002.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shader_5.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shader_5.py-screen-0002.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shader_6.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shader_7.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shader_8.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shader_9.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shader_instanced.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shadow_1.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shadow_2.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/shadow_3.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/solid_font.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/telemetry_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/transforms_1.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/transforms_1.py-screen-0002.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/transforms_1.py-screen-0003.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/transforms_1.py-screen-0004.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/transforms_1.py-screen-0005.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/transforms_1.py-screen-0006.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/transforms_1.py-screen-0007.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/transforms_1.py-screen-0008.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/transforms_1.py-screen-0009.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/transforms_1.py-screen-0010.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/transforms_1.py-screen-0011.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/using_animation.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/using_clips.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/using_collisions.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/using_console.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/using_gltf_model.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/using_level_select.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/using_npc.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/using_obj.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/using_physics.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/using_selection.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/using_settings.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/using_ui.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/using_vrml97.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/water_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/x3d_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/x3d_geospatial.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/x3d_layering.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/x3d_materials.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/x3d_movie.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/x3d_shaders.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/x3d_sound.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/x3d_splats.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/x3d_volume.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/tutorials/zones_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/typing.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/ubershader.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/untrusted.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/vegetation.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/vrml97.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/water.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/x3d.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/zones-internals.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/docs/zones.rst +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/license.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/setup.cfg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/__init__.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/_bitmap_font.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/_ceramic_textures.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/_fontstyles.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/_gltf_toggle_driver.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/_particle.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/_shader_tut_lightprecalc.vert +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/addnodes.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/arbocclusionquery.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/arbpointparameters.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/arbsync.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/arbwindowpos.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/audio_spatial.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/backgroundobject.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/bake_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/conftest.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/cover_meadow.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/crowd_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/cubeback_rot.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/cubebackgroundobject.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/dek_surf.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/dek_texturesurf.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/editing_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/extrusions_curves.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/extrusions_gallery.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/extrusions_joins.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/extrusions_normals.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/extrusions_preprocessing.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/extrusions_shapes.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/extrusions_tessellation.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/extrusions_vrml97.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/feedback_mode.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/flower_geometry.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/frust_test_module.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/gearobject.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/geometry.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/getteximage.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glarrayelement.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/gldrawarrays.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/gldrawarrays_string.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/gldrawelements.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/gldrawelements_list.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/gldrawelements_string.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/gldrawpixels.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/gldrawpixels.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/gldrawpixelssynth.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glelathe.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glget.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glget_with_fonts.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glgetlight.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glgetmaterial.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glgetpixelmap.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glgetpolygonstipple.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glhistogram.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glinterleavedarrays.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glprint.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glu_tess.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glu_tess2.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glugetstring.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glut_bitmap_font.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glut_font.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glut_fullscreen.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glutbitmapcharacter.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glutmousewheel.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/glvertex.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/heightmap.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/heightmap.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/hud_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/ilsstrategies.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/indexedfaceset_lit_npf.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/indexedfaceset_lit_npv.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/indexedlinesetobject.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/instancing_batched.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/keyboardevents.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/lightmap.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/lightmap1.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/lightobject.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/line_stipple.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/lod_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/lod_hall.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/marbleface.jpeg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/mirrors_room.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/molehill.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/molehill_edit.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/mouseover.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/multitexture_1.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/multiview_quad.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/navmesh_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nehe1.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nehe2.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nehe3.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nehe4.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nehe5.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nehe6.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nehe6_compressed.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nehe6_convolve.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nehe6_multi.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nehe6_timer.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nehe7.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nehe8.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nehe_crate.bmp +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nehe_glass.bmp +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nehe_wall.bmp +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/node_modify.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/nurbsobject.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/particles_effects.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/particles_simple.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/pbodemo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/physics_bounce.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/physics_cook_view.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/physics_events.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/physics_friction.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/physics_gravity_zones.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/physics_joints.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/physics_navigate.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/physics_room_drop.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/physics_stress.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/physics_triggers.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/pimbackground_BK.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/pimbackground_DN.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/pimbackground_FR.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/pimbackground_LF.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/pimbackground_RT.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/pimbackground_UP.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/point_and_click.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/pointsetobject.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/pygame_font.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/pygame_textureatlas.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/readpixelsleak.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/recording_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/redbook_alpha.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/redbook_alpha3D.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/redbook_surface.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/redbook_surface_cb.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/redbook_trim.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/resources/3Dlabs-License.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/resources/CH18-mandel.frag.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/resources/CH18-mandel.vert.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/resources/discard.frag.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/resources/grid.frag.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/resources/oblongimage.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/resources/simpletexture.frag.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/resources/test_context_set.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/resources/test_vrml_set.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/resources/toon.frag.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/resources/toon.vert.txt +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/roads_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/run_core_tests.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/run_teapot_regression.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/runalltests.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/saveimage.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/selectrendermode.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/selectrendermode_threads.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_1.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_10.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_11.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_12.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_2.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_2_c_void_p.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_3.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_4.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_4_subset.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_5.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_6.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_7.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_8.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_9.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_binary.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_instanced.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_instanced_mapped.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_intro.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_ng.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_sphere.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shader_spike.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shadergeometry.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shaderobjects.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shaders.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shadow_1.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shadow_2.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shadow_3.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shadow_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/shadow_spot.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/simplerotate.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/solid_font.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/spherebackgroundobject.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/starfield.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/teapot_ceramic.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/teapot_nurbs.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/telemetry_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/test_all_scripts.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/test_gltf_demo_background.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/test_gltf_demo_model_selection.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/tiles_landscape.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/tiles_terrain.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/tiles_vegetation.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/tiles_walk.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/timesensorobject.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/transforms_1.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/transparentsorted.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/using_clips.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/using_collisions.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/using_console.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/using_level_select.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/using_npc.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/using_obj.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/using_physics.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/using_selection.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/using_settings.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/using_ui.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/using_vrml97.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/water_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wgl_bitmap_font.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wgl_font.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wglpixelformatarb.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/3shapes.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/3spheres.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/axis.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/bad_pngs.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/box.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/box_shadow.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/clear wood flooring.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/colorinterpolator.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/coordinterpolator.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/degenerate1.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/degenerate2.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/indexedpolygons.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/instanced_lattice.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/irradiation.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/light1.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/light2.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/logoinstaller.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/luminance.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/luminance_alpha.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/nurbscurve.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/pixeltexture.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/plane_shadow.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/positioninterpolator.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/proto_is_simple.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/pyramid.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/simple_occlude.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/simple_plane.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/simple_scene01.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/simple_texturea.jpg +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/simple_texturergb.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/simple_texturergba.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/sphere2.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/sphere3.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/sphere4.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/tessellate01.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/tessellate4ptcoplanar.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/tessellatewcombine.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/tessellatewcombine_shell.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/text.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/text3d.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/text_bitmap.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/text_simple.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/text_simple_r.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/texture_luminance.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/texture_repeat.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/texture_transparency.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/texture_transparency2.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/timesensor.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/transparency_multiple.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/viewpoints.wrl +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wrls/yingyang.png +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wx_font.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wx_multiple_contexts.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/wx_with_controls.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/x3d_demo.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/x3d_geospatial.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/x3d_layering.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/x3d_materials.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/x3d_movie.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/x3d_shaders.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/x3d_sound.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/x3d_splats.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/x3d_volume.py +0 -0
- {openglcontext-3.0.0a6 → openglcontext-3.0.0a7}/tests/zones_demo.py +0 -0
|
@@ -32,7 +32,7 @@ It is also the primary suite of test cases PyOpenGL is verified against.
|
|
|
32
32
|
Documentation is under `docs/`, indexed by `docs/documentation.rst`.
|
|
33
33
|
'''
|
|
34
34
|
|
|
35
|
-
__version__ = "3.0.
|
|
35
|
+
__version__ = "3.0.0a7"
|
|
36
36
|
__author__ = "Michael Colin Fletcher"
|
|
37
37
|
__license__ = "BSD-Style, see license.txt for details and exceptions"
|
|
38
38
|
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
#version 330 core
|
|
2
|
+
#extension GL_ARB_compute_shader : require
|
|
3
|
+
#extension GL_ARB_shader_storage_buffer_object : require
|
|
4
|
+
// readonly/writeonly are reserved words until GLSL 4.20; the memory
|
|
5
|
+
// qualifiers a storage buffer is declared with come from this extension,
|
|
6
|
+
// so a #version 330 shader that uses them has to ask for it. A permissive
|
|
7
|
+
// compiler takes them without; a strict one rejects the whole shader.
|
|
8
|
+
#extension GL_ARB_shader_image_load_store : require
|
|
9
|
+
|
|
10
|
+
// One thread per joint of every figure: sample whatever clips that figure is
|
|
11
|
+
// playing, blend them layer by layer, and write the joint's translation,
|
|
12
|
+
// rotation and scale into the pose the skeleton pass reads.
|
|
13
|
+
//
|
|
14
|
+
// **Layers, in order, each masked to the joints it may move.** A figure runs on
|
|
15
|
+
// its base layer and fires on an upper one masked to its arms; each layer is a
|
|
16
|
+
// weighted **mean** of its own tracks -- two clips at full weight give the
|
|
17
|
+
// midpoint between them and not twice either -- blended over the pose built so
|
|
18
|
+
// far, and where a layer's weights do not reach one the shortfall is taken from
|
|
19
|
+
// underneath it. That is the same arithmetic the processor-side blend does, and
|
|
20
|
+
// the test for this file is that the two agree.
|
|
21
|
+
//
|
|
22
|
+
// What is *not* here: additive layers and morph weights. A figure using either
|
|
23
|
+
// is blended on the processor instead.
|
|
24
|
+
|
|
25
|
+
layout(local_size_x = 64) in;
|
|
26
|
+
|
|
27
|
+
layout(std430, binding = 0) writeonly buffer Pose {
|
|
28
|
+
vec4 pose[]; // three per joint: translation, rotation, scale
|
|
29
|
+
};
|
|
30
|
+
layout(std430, binding = 1) readonly buffer Rest {
|
|
31
|
+
vec4 rest[]; // the same three, where the model rests
|
|
32
|
+
};
|
|
33
|
+
layout(std430, binding = 2) readonly buffer ChannelIndex {
|
|
34
|
+
// (clip * joints + slot) * 3 + path -> a channel, or -1 for a joint this
|
|
35
|
+
// clip does not move.
|
|
36
|
+
int channelOf[];
|
|
37
|
+
};
|
|
38
|
+
layout(std430, binding = 3) readonly buffer Channels {
|
|
39
|
+
// keyCount, first key time, first key value, interpolation (0 step,
|
|
40
|
+
// 1 linear, 2 cubic).
|
|
41
|
+
ivec4 channels[];
|
|
42
|
+
};
|
|
43
|
+
layout(std430, binding = 4) readonly buffer Times {
|
|
44
|
+
float keyTimes[];
|
|
45
|
+
};
|
|
46
|
+
layout(std430, binding = 5) readonly buffer Values {
|
|
47
|
+
vec4 keyValues[];
|
|
48
|
+
};
|
|
49
|
+
layout(std430, binding = 6) readonly buffer Tracks {
|
|
50
|
+
// clip, time, weight, unused -- one per clip playing on a layer.
|
|
51
|
+
vec4 tracks[];
|
|
52
|
+
};
|
|
53
|
+
layout(std430, binding = 7) readonly buffer FigureLayers {
|
|
54
|
+
ivec4 figureLayers[]; // first layer, how many, unused, unused
|
|
55
|
+
};
|
|
56
|
+
layout(std430, binding = 8) readonly buffer Layers {
|
|
57
|
+
// first track, how many, which mask (-1 for none), the layer's weight.
|
|
58
|
+
vec4 layers[];
|
|
59
|
+
};
|
|
60
|
+
layout(std430, binding = 9) readonly buffer Masks {
|
|
61
|
+
uint maskWords[]; // maskStride words per mask, a bit per joint
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
uniform int jointsPerFigure;
|
|
65
|
+
uniform int figures;
|
|
66
|
+
uniform int maskStride;
|
|
67
|
+
|
|
68
|
+
const int STEP = 0;
|
|
69
|
+
const int LINEAR = 1;
|
|
70
|
+
const int CUBIC = 2;
|
|
71
|
+
|
|
72
|
+
vec4 normalizeRotation(vec4 q) {
|
|
73
|
+
float n = dot(q, q);
|
|
74
|
+
return n > 0.0 ? q * inversesqrt(n) : vec4(0.0, 0.0, 0.0, 1.0);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
vec4 slerp(vec4 a, vec4 b, float u) {
|
|
78
|
+
a = normalizeRotation(a);
|
|
79
|
+
b = normalizeRotation(b);
|
|
80
|
+
float d = dot(a, b);
|
|
81
|
+
if (d < 0.0) { // the shorter arc: -q is the same rotation
|
|
82
|
+
b = -b;
|
|
83
|
+
d = -d;
|
|
84
|
+
}
|
|
85
|
+
if (d > 0.9995) { // where the sin denominator underflows
|
|
86
|
+
return normalizeRotation(a + u * (b - a));
|
|
87
|
+
}
|
|
88
|
+
float theta0 = acos(clamp(d, -1.0, 1.0));
|
|
89
|
+
float sin0 = sin(theta0);
|
|
90
|
+
float theta = theta0 * u;
|
|
91
|
+
return normalizeRotation(a * (sin(theta0 - theta) / sin0)
|
|
92
|
+
+ b * (sin(theta) / sin0));
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Which keyframe segment `t` falls in, and how far along it. Held at either
|
|
96
|
+
// end, as a clip is outside its own range.
|
|
97
|
+
void segmentOf(int first, int count, float t, out int index, out float fraction) {
|
|
98
|
+
index = 0;
|
|
99
|
+
fraction = 0.0;
|
|
100
|
+
if (count < 2 || t <= keyTimes[first]) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (t >= keyTimes[first + count - 1]) {
|
|
104
|
+
index = count - 1;
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
int low = 0;
|
|
108
|
+
int high = count - 1;
|
|
109
|
+
while (low + 1 < high) { // the last segment starting at or before t
|
|
110
|
+
int mid = (low + high) / 2;
|
|
111
|
+
if (keyTimes[first + mid] <= t) {
|
|
112
|
+
low = mid;
|
|
113
|
+
} else {
|
|
114
|
+
high = mid;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
index = low;
|
|
118
|
+
float span = keyTimes[first + low + 1] - keyTimes[first + low];
|
|
119
|
+
fraction = span > 0.0 ? (t - keyTimes[first + low]) / span : 0.0;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
vec4 keyValue(int channel, int interpolation, int key) {
|
|
123
|
+
ivec4 entry = channels[channel];
|
|
124
|
+
int offset = interpolation == CUBIC ? 3 * key + 1 : key;
|
|
125
|
+
return keyValues[entry.z + offset];
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
vec4 sampleChannel(int channel, float t, bool rotation) {
|
|
129
|
+
ivec4 entry = channels[channel];
|
|
130
|
+
int count = entry.x;
|
|
131
|
+
int interpolation = entry.w;
|
|
132
|
+
if (count <= 0) {
|
|
133
|
+
return vec4(0.0);
|
|
134
|
+
}
|
|
135
|
+
int index;
|
|
136
|
+
float fraction;
|
|
137
|
+
segmentOf(entry.y, count, t, index, fraction);
|
|
138
|
+
if (interpolation == CUBIC) {
|
|
139
|
+
if (count == 1 || t <= keyTimes[entry.y]) {
|
|
140
|
+
return keyValues[entry.z + 1];
|
|
141
|
+
}
|
|
142
|
+
if (t >= keyTimes[entry.y + count - 1]) {
|
|
143
|
+
return keyValues[entry.z + 3 * (count - 1) + 1];
|
|
144
|
+
}
|
|
145
|
+
int following = min(index + 1, count - 1);
|
|
146
|
+
float span = keyTimes[entry.y + following] - keyTimes[entry.y + index];
|
|
147
|
+
vec4 v0 = keyValues[entry.z + 3 * index + 1];
|
|
148
|
+
vec4 b0 = keyValues[entry.z + 3 * index + 2];
|
|
149
|
+
vec4 v1 = keyValues[entry.z + 3 * following + 1];
|
|
150
|
+
vec4 a1 = keyValues[entry.z + 3 * following];
|
|
151
|
+
float u = fraction;
|
|
152
|
+
float u2 = u * u;
|
|
153
|
+
float u3 = u2 * u;
|
|
154
|
+
vec4 out4 = (2.0 * u3 - 3.0 * u2 + 1.0) * v0
|
|
155
|
+
+ (u3 - 2.0 * u2 + u) * span * b0
|
|
156
|
+
+ (-2.0 * u3 + 3.0 * u2) * v1
|
|
157
|
+
+ (u3 - u2) * span * a1;
|
|
158
|
+
return rotation ? normalizeRotation(out4) : out4;
|
|
159
|
+
}
|
|
160
|
+
if (count == 1 || fraction == 0.0 || interpolation == STEP) {
|
|
161
|
+
return keyValue(channel, interpolation, index);
|
|
162
|
+
}
|
|
163
|
+
vec4 a = keyValue(channel, interpolation, index);
|
|
164
|
+
vec4 b = keyValue(channel, interpolation, min(index + 1, count - 1));
|
|
165
|
+
return rotation ? slerp(a, b, fraction) : a + (b - a) * fraction;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
bool movesThisJoint(int mask, int slot) {
|
|
169
|
+
if (mask < 0) {
|
|
170
|
+
return true; // an unmasked layer moves the whole model
|
|
171
|
+
}
|
|
172
|
+
uint word = maskWords[mask * maskStride + (slot >> 5)];
|
|
173
|
+
return (word & (1u << uint(slot & 31))) != 0u;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
void main() {
|
|
177
|
+
int index = int(gl_GlobalInvocationID.x);
|
|
178
|
+
if (index >= figures * jointsPerFigure) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
int figure = index / jointsPerFigure;
|
|
182
|
+
int slot = index - figure * jointsPerFigure;
|
|
183
|
+
int restBase = slot * 3;
|
|
184
|
+
|
|
185
|
+
vec4 value[3];
|
|
186
|
+
for (int path = 0; path < 3; ++path) {
|
|
187
|
+
value[path] = rest[restBase + path];
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
ivec4 stack = figureLayers[figure];
|
|
191
|
+
for (int step = 0; step < stack.y; ++step) {
|
|
192
|
+
vec4 layer = layers[stack.x + step];
|
|
193
|
+
if (!movesThisJoint(int(layer.z), slot)) {
|
|
194
|
+
continue; // this layer leaves the joint as it found it
|
|
195
|
+
}
|
|
196
|
+
vec4 blended[3];
|
|
197
|
+
float total[3];
|
|
198
|
+
bool touched[3];
|
|
199
|
+
for (int path = 0; path < 3; ++path) {
|
|
200
|
+
blended[path] = vec4(0.0);
|
|
201
|
+
total[path] = 0.0;
|
|
202
|
+
touched[path] = false;
|
|
203
|
+
}
|
|
204
|
+
int first = int(layer.x);
|
|
205
|
+
int count = int(layer.y);
|
|
206
|
+
for (int k = 0; k < count; ++k) {
|
|
207
|
+
vec4 track = tracks[first + k];
|
|
208
|
+
int clip = int(track.x);
|
|
209
|
+
float t = track.y;
|
|
210
|
+
float weight = track.z;
|
|
211
|
+
if (weight <= 0.0) {
|
|
212
|
+
continue;
|
|
213
|
+
}
|
|
214
|
+
for (int path = 0; path < 3; ++path) {
|
|
215
|
+
int channel = channelOf[(clip * jointsPerFigure + slot) * 3 + path];
|
|
216
|
+
if (channel < 0) {
|
|
217
|
+
continue;
|
|
218
|
+
}
|
|
219
|
+
bool rotation = (path == 1);
|
|
220
|
+
vec4 sampled = sampleChannel(channel, t, rotation);
|
|
221
|
+
if (!touched[path]) {
|
|
222
|
+
blended[path] = sampled;
|
|
223
|
+
} else {
|
|
224
|
+
float fraction = weight / (total[path] + weight);
|
|
225
|
+
blended[path] = rotation
|
|
226
|
+
? slerp(blended[path], sampled, fraction)
|
|
227
|
+
: blended[path] + (sampled - blended[path]) * fraction;
|
|
228
|
+
}
|
|
229
|
+
total[path] += weight;
|
|
230
|
+
touched[path] = true;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
for (int path = 0; path < 3; ++path) {
|
|
234
|
+
if (!touched[path]) {
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
237
|
+
float strength = layer.w * min(1.0, total[path]);
|
|
238
|
+
if (strength >= 1.0) {
|
|
239
|
+
value[path] = blended[path];
|
|
240
|
+
} else if (path == 1) {
|
|
241
|
+
value[path] = slerp(value[path], blended[path], strength);
|
|
242
|
+
} else {
|
|
243
|
+
value[path] = value[path]
|
|
244
|
+
+ (blended[path] - value[path]) * strength;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
int base = index * 3;
|
|
250
|
+
for (int path = 0; path < 3; ++path) {
|
|
251
|
+
pose[base + path] = value[path];
|
|
252
|
+
}
|
|
253
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
#version 330 core
|
|
2
|
+
#extension GL_ARB_compute_shader : require
|
|
3
|
+
#extension GL_ARB_shader_storage_buffer_object : require
|
|
4
|
+
// readonly/writeonly are reserved words until GLSL 4.20; the memory
|
|
5
|
+
// qualifiers a storage buffer is declared with come from this extension,
|
|
6
|
+
// so a #version 330 shader that uses them has to ask for it. A permissive
|
|
7
|
+
// compiler takes them without; a strict one rejects the whole shader.
|
|
8
|
+
#extension GL_ARB_shader_image_load_store : require
|
|
9
|
+
|
|
10
|
+
// One thread per joint of every skin of every figure: turn a world matrix into
|
|
11
|
+
// the matrix the skinning vertex shader multiplies a vertex by.
|
|
12
|
+
//
|
|
13
|
+
// palette[j] = inverseBind[j] * world[joint j] * inverse(world[mesh node])
|
|
14
|
+
//
|
|
15
|
+
// in row-vector terms; the inverse of the mesh node's own transform is what
|
|
16
|
+
// cancels the modelview the mesh will be drawn with, so the skin lives in the
|
|
17
|
+
// space the vertices were modelled in. Written straight into the buffer the
|
|
18
|
+
// vertex shader reads as a texture buffer, so nothing crosses the bus.
|
|
19
|
+
|
|
20
|
+
layout(local_size_x = 64) in;
|
|
21
|
+
|
|
22
|
+
layout(std430, binding = 2) readonly buffer World {
|
|
23
|
+
mat4 world[];
|
|
24
|
+
};
|
|
25
|
+
layout(std430, binding = 3) readonly buffer Joints {
|
|
26
|
+
int jointSlot[]; // rig slot of each joint, per skin, run together
|
|
27
|
+
};
|
|
28
|
+
layout(std430, binding = 4) readonly buffer InverseBind {
|
|
29
|
+
mat4 inverseBind[]; // one per entry of jointSlot
|
|
30
|
+
};
|
|
31
|
+
layout(std430, binding = 5) readonly buffer Targets {
|
|
32
|
+
// Per (figure, skin) that wants a palette written:
|
|
33
|
+
// x = figure, y = first joint of the skin in jointSlot/inverseBind,
|
|
34
|
+
// z = how many joints, w = where the palette range starts.
|
|
35
|
+
ivec4 targets[];
|
|
36
|
+
};
|
|
37
|
+
layout(std430, binding = 6) readonly buffer MeshSlots {
|
|
38
|
+
int meshSlot[]; // rig slot of each target's mesh node, or -1
|
|
39
|
+
};
|
|
40
|
+
layout(std430, binding = 7) writeonly buffer Palette {
|
|
41
|
+
mat4 palette[];
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
uniform int jointsPerFigure;
|
|
45
|
+
uniform int targetCount;
|
|
46
|
+
uniform int jointsPerTarget; // the widest skin, so the grid is rectangular
|
|
47
|
+
|
|
48
|
+
void main() {
|
|
49
|
+
int index = int(gl_GlobalInvocationID.x);
|
|
50
|
+
int target = index / jointsPerTarget;
|
|
51
|
+
if (target >= targetCount) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
int joint = index - target * jointsPerTarget;
|
|
55
|
+
ivec4 entry = targets[target];
|
|
56
|
+
if (joint >= entry.z) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
int figure = entry.x;
|
|
60
|
+
int slot = jointSlot[entry.y + joint];
|
|
61
|
+
mat4 jointWorld = slot >= 0
|
|
62
|
+
? world[figure * jointsPerFigure + slot]
|
|
63
|
+
: mat4(1.0);
|
|
64
|
+
int mesh = meshSlot[target];
|
|
65
|
+
mat4 nodeInverse = mesh >= 0
|
|
66
|
+
? inverse(world[figure * jointsPerFigure + mesh])
|
|
67
|
+
: mat4(1.0);
|
|
68
|
+
// Row-vector `ib * jointWorld * nodeInverse`, which in the transposed
|
|
69
|
+
// matrices a GLSL mat4 holds reads the other way about.
|
|
70
|
+
palette[entry.w + joint] =
|
|
71
|
+
nodeInverse * jointWorld * inverseBind[entry.y + joint];
|
|
72
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
#version 330 core
|
|
2
|
+
#extension GL_ARB_compute_shader : require
|
|
3
|
+
#extension GL_ARB_shader_storage_buffer_object : require
|
|
4
|
+
// readonly/writeonly are reserved words until GLSL 4.20; the memory
|
|
5
|
+
// qualifiers a storage buffer is declared with come from this extension,
|
|
6
|
+
// so a #version 330 shader that uses them has to ask for it. A permissive
|
|
7
|
+
// compiler takes them without; a strict one rejects the whole shader.
|
|
8
|
+
#extension GL_ARB_shader_image_load_store : require
|
|
9
|
+
|
|
10
|
+
// One thread per joint of every figure: compose that joint's local transform
|
|
11
|
+
// and every ancestor's, and multiply them into a world matrix.
|
|
12
|
+
//
|
|
13
|
+
// Walking to the root per joint rather than composing a generation at a time
|
|
14
|
+
// costs each thread as many small matrix products as the skeleton is deep --
|
|
15
|
+
// a dozen for a humanoid -- and buys the whole pass: no second dispatch, no
|
|
16
|
+
// barrier, and no intermediate buffer of local matrices to write and read
|
|
17
|
+
// back. A GPU has far more threads than a skeleton has joints, so the work
|
|
18
|
+
// that is repeated is work that would otherwise have sat idle.
|
|
19
|
+
//
|
|
20
|
+
// Matrices are stored the way the rest of the renderer means them: row-vector,
|
|
21
|
+
// `p * M`, `world = local * parent`. A GLSL mat4 holds the transpose of that
|
|
22
|
+
// (its columns are the row-vector matrix's rows), which is why the products
|
|
23
|
+
// below read right to left.
|
|
24
|
+
|
|
25
|
+
layout(local_size_x = 64) in;
|
|
26
|
+
|
|
27
|
+
layout(std430, binding = 0) readonly buffer Pose {
|
|
28
|
+
// Three vec4 per joint: translation.xyz, rotation (x,y,z,w), scale.xyz.
|
|
29
|
+
vec4 pose[];
|
|
30
|
+
};
|
|
31
|
+
layout(std430, binding = 1) readonly buffer Hierarchy {
|
|
32
|
+
int parent[]; // parent slot of each joint, -1 at a root
|
|
33
|
+
};
|
|
34
|
+
layout(std430, binding = 2) writeonly buffer World {
|
|
35
|
+
mat4 world[];
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
uniform int jointsPerFigure;
|
|
39
|
+
uniform int figures;
|
|
40
|
+
|
|
41
|
+
mat3 rotationOf(vec4 q) {
|
|
42
|
+
float x = q.x, y = q.y, z = q.z, w = q.w;
|
|
43
|
+
float n = x * x + y * y + z * z + w * w;
|
|
44
|
+
if (n > 0.0) {
|
|
45
|
+
float s = inversesqrt(n);
|
|
46
|
+
x *= s; y *= s; z *= s; w *= s;
|
|
47
|
+
} else {
|
|
48
|
+
x = 0.0; y = 0.0; z = 0.0; w = 1.0;
|
|
49
|
+
}
|
|
50
|
+
return mat3(
|
|
51
|
+
1.0 - 2.0 * (y * y + z * z), 2.0 * (x * y + w * z), 2.0 * (x * z - w * y),
|
|
52
|
+
2.0 * (x * y - w * z), 1.0 - 2.0 * (x * x + z * z), 2.0 * (y * z + w * x),
|
|
53
|
+
2.0 * (x * z + w * y), 2.0 * (y * z - w * x), 1.0 - 2.0 * (x * x + y * y));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
mat4 localOf(int figure, int slot) {
|
|
57
|
+
int base = (figure * jointsPerFigure + slot) * 3;
|
|
58
|
+
vec3 translation = pose[base].xyz;
|
|
59
|
+
vec4 rotation = pose[base + 1];
|
|
60
|
+
vec3 scale = pose[base + 2].xyz;
|
|
61
|
+
mat3 r = rotationOf(rotation);
|
|
62
|
+
return mat4(vec4(scale.x * r[0], 0.0),
|
|
63
|
+
vec4(scale.y * r[1], 0.0),
|
|
64
|
+
vec4(scale.z * r[2], 0.0),
|
|
65
|
+
vec4(translation, 1.0));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
void main() {
|
|
69
|
+
int index = int(gl_GlobalInvocationID.x);
|
|
70
|
+
if (index >= figures * jointsPerFigure) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
int figure = index / jointsPerFigure;
|
|
74
|
+
int slot = index - figure * jointsPerFigure;
|
|
75
|
+
mat4 composed = localOf(figure, slot);
|
|
76
|
+
int up = parent[slot];
|
|
77
|
+
while (up >= 0) {
|
|
78
|
+
composed = localOf(figure, up) * composed;
|
|
79
|
+
up = parent[up];
|
|
80
|
+
}
|
|
81
|
+
world[index] = composed;
|
|
82
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
#version 330 core
|
|
2
|
+
|
|
3
|
+
// A line segment as a quad lineWidth pixels across, facing the screen, for
|
|
4
|
+
// X3D's LineProperties. Each output vertex carries how far along the
|
|
5
|
+
// polyline it is in pixels, for the dash pattern: the segment's distance
|
|
6
|
+
// along the polyline (vAlong) scaled to its length on screen.
|
|
7
|
+
|
|
8
|
+
layout(lines) in;
|
|
9
|
+
layout(triangle_strip, max_vertices = 4) out;
|
|
10
|
+
|
|
11
|
+
in vec3 vColor[];
|
|
12
|
+
in vec3 vEyePosition[];
|
|
13
|
+
in float vAlong[];
|
|
14
|
+
|
|
15
|
+
uniform vec2 viewportSize; // pixels
|
|
16
|
+
uniform float lineWidth; // pixels
|
|
17
|
+
|
|
18
|
+
out vec3 gColor;
|
|
19
|
+
out vec3 gEyePosition;
|
|
20
|
+
out float gAlong; // pixels along the polyline
|
|
21
|
+
|
|
22
|
+
// A clip-space point in front of the near plane, so it has a screen position
|
|
23
|
+
const float NEAR_W = 1e-4;
|
|
24
|
+
|
|
25
|
+
void emit(vec4 position, vec2 offset, int corner, float along) {
|
|
26
|
+
gl_Position = position + vec4(offset * position.w, 0.0, 0.0);
|
|
27
|
+
// The ClipPlanes' distances at the segment's end, from the vertex stage
|
|
28
|
+
// (_clipplane_inc.glsl), with constant indices as GLSL 3.30 asks
|
|
29
|
+
gl_ClipDistance[0] = gl_in[corner].gl_ClipDistance[0];
|
|
30
|
+
gl_ClipDistance[1] = gl_in[corner].gl_ClipDistance[1];
|
|
31
|
+
gl_ClipDistance[2] = gl_in[corner].gl_ClipDistance[2];
|
|
32
|
+
gl_ClipDistance[3] = gl_in[corner].gl_ClipDistance[3];
|
|
33
|
+
gl_ClipDistance[4] = gl_in[corner].gl_ClipDistance[4];
|
|
34
|
+
gl_ClipDistance[5] = gl_in[corner].gl_ClipDistance[5];
|
|
35
|
+
gl_ClipDistance[6] = gl_in[corner].gl_ClipDistance[6];
|
|
36
|
+
gl_ClipDistance[7] = gl_in[corner].gl_ClipDistance[7];
|
|
37
|
+
gColor = vColor[corner];
|
|
38
|
+
gEyePosition = vEyePosition[corner];
|
|
39
|
+
gAlong = along;
|
|
40
|
+
EmitVertex();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
void main() {
|
|
44
|
+
vec4 start = gl_in[0].gl_Position;
|
|
45
|
+
vec4 end = gl_in[1].gl_Position;
|
|
46
|
+
if (start.w < NEAR_W && end.w < NEAR_W) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
// The part of the segment in front of the viewer
|
|
50
|
+
if (start.w < NEAR_W) {
|
|
51
|
+
start = mix(start, end, (NEAR_W - start.w) / (end.w - start.w));
|
|
52
|
+
} else if (end.w < NEAR_W) {
|
|
53
|
+
end = mix(end, start, (NEAR_W - end.w) / (start.w - end.w));
|
|
54
|
+
}
|
|
55
|
+
vec2 halfViewport = 0.5 * viewportSize;
|
|
56
|
+
vec2 first = start.xy / start.w * halfViewport;
|
|
57
|
+
vec2 second = end.xy / end.w * halfViewport;
|
|
58
|
+
vec2 along = second - first;
|
|
59
|
+
float pixels = length(along);
|
|
60
|
+
vec2 direction = pixels > 0.0 ? along / pixels : vec2(1.0, 0.0);
|
|
61
|
+
// Half the width either side, in normalised device units
|
|
62
|
+
vec2 offset = vec2(-direction.y, direction.x) * (0.5 * lineWidth) / halfViewport;
|
|
63
|
+
float distance = vAlong[1] - vAlong[0];
|
|
64
|
+
float scale = distance > 0.0 ? pixels / distance : 0.0;
|
|
65
|
+
float startAlong = vAlong[0] * scale;
|
|
66
|
+
float endAlong = startAlong + pixels;
|
|
67
|
+
emit(start, offset, 0, startAlong);
|
|
68
|
+
emit(start, -offset, 0, startAlong);
|
|
69
|
+
emit(end, offset, 1, endAlong);
|
|
70
|
+
emit(end, -offset, 1, endAlong);
|
|
71
|
+
EndPrimitive();
|
|
72
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Recording what the engine draws.
|
|
2
2
|
|
|
3
3
|
:class:`~OpenGLContext.video.recorder.VideoRecorder` takes the frame a context
|
|
4
|
-
has just drawn and writes it to an H.264
|
|
4
|
+
has just drawn and writes it to an MP4 video file (H.264, HEVC, VP9 or AV1), with the frame going
|
|
5
5
|
straight from the framebuffer to the GPU's video encoder.
|
|
6
6
|
|
|
7
7
|
Recording needs the ``video`` extra::
|
|
@@ -54,8 +54,9 @@ class FixedStepClock:
|
|
|
54
54
|
denominator)`` pair. The pair is what keeps a long recording at 29.97
|
|
55
55
|
from drifting: the step is 1001/30000 of a second, not a rounding of it.
|
|
56
56
|
start -- the time the first frame happens at. By default the clock this one
|
|
57
|
-
replaces is asked, so a recording continues
|
|
58
|
-
restarting it
|
|
57
|
+
replaces is asked when this one is installed, so a recording continues
|
|
58
|
+
the world's time rather than restarting it, and one that waited to be
|
|
59
|
+
installed does not set the world back by the wait.
|
|
59
60
|
|
|
60
61
|
Installed by using it as a context manager, or with :meth:`install` and
|
|
61
62
|
:meth:`restore`. Nothing advances it: call :meth:`advance` once per frame
|
|
@@ -77,6 +78,7 @@ class FixedStepClock:
|
|
|
77
78
|
self.step = denominator / numerator
|
|
78
79
|
#: Frames finished since the clock started.
|
|
79
80
|
self.frames = 0
|
|
81
|
+
self._start_given = start is not None
|
|
80
82
|
self.start = systemtime.systemTime() if start is None else float(start)
|
|
81
83
|
self._previous: Any = None
|
|
82
84
|
self._installed = False
|
|
@@ -112,6 +114,8 @@ class FixedStepClock:
|
|
|
112
114
|
def install(self) -> "FixedStepClock":
|
|
113
115
|
"""Take over as the engine's time source."""
|
|
114
116
|
if not self._installed:
|
|
117
|
+
if not self._start_given and not self.frames:
|
|
118
|
+
self.start = systemtime.systemTime()
|
|
115
119
|
self._previous = systemtime.setTimeSource(self)
|
|
116
120
|
self._installed = True
|
|
117
121
|
return self
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"""The codecs a recording can be written in, and the names they are asked for by.
|
|
2
|
+
|
|
3
|
+
A recording is H.264, HEVC, VP9 or AV1, all stored in an MP4 file. Which of them
|
|
4
|
+
a machine produces is up to its GPU's encoder; this module only names them, so a
|
|
5
|
+
command line can check a spelling before any window opens or any encoder
|
|
6
|
+
package is imported.
|
|
7
|
+
"""
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
__all__ = ['CODECS', 'canonical']
|
|
11
|
+
|
|
12
|
+
#: The codecs a recording takes, in the names the encoder package uses.
|
|
13
|
+
CODECS = ('h264', 'hevc', 'vp9', 'av1')
|
|
14
|
+
|
|
15
|
+
_ALIASES = {
|
|
16
|
+
'avc': 'h264', 'h.264': 'h264', 'x264': 'h264',
|
|
17
|
+
'h265': 'hevc', 'h.265': 'hevc', 'x265': 'hevc',
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def canonical(name: str) -> str:
|
|
22
|
+
"""The name in :data:`CODECS` that `name` spells, whatever its case.
|
|
23
|
+
|
|
24
|
+
``'h265'`` is HEVC and ``'avc'`` is H.264. Raises :class:`ValueError`
|
|
25
|
+
listing the codecs there are for any other name.
|
|
26
|
+
"""
|
|
27
|
+
lowered = name.strip().lower()
|
|
28
|
+
lowered = _ALIASES.get(lowered, lowered)
|
|
29
|
+
if lowered not in CODECS:
|
|
30
|
+
raise ValueError('%r is not a recording codec; the codecs are %s'
|
|
31
|
+
% (name, ', '.join(CODECS)))
|
|
32
|
+
return lowered
|