OpenGLContext 3.0.0a7__tar.gz → 3.0.0a8__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.0a7 → openglcontext-3.0.0a8}/OpenGLContext/__init__.py +1 -1
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/contextdefinition.py +21 -1
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/frustum.py +8 -1
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/tileprocess.py +39 -9
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/noise.py +34 -14
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/_flat.py +35 -5
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/framestate.py +7 -2
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/pbrpass.py +82 -30
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/shadowmath.py +28 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/shadowmixin.py +69 -11
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/renderoptions.py +3 -1
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/instancedgl.py +14 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/shape.py +7 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/vegetation/base.py +18 -1
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/vegetation/billboards.py +24 -6
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/vegetation/clumps.py +34 -11
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/vegetation/cover.py +120 -57
- openglcontext-3.0.0a8/OpenGLContext/scenegraph/vegetation/coverprocess.py +148 -0
- openglcontext-3.0.0a8/OpenGLContext/scenegraph/vegetation/gpucull.py +322 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/vegetation/grid.py +15 -1
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/vegetation/nearmesh.py +32 -5
- openglcontext-3.0.0a8/OpenGLContext/scenegraph/vegetation/viewcull.py +236 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/pbr.frag +7 -6
- openglcontext-3.0.0a8/OpenGLContext/shaders/veg_cull.comp +84 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/debugoverlay.py +17 -1
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8/OpenGLContext.egg-info}/PKG-INFO +1 -1
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext.egg-info/SOURCES.txt +4 -0
- {openglcontext-3.0.0a7/OpenGLContext.egg-info → openglcontext-3.0.0a8}/PKG-INFO +1 -1
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/contentpacks.rst +17 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/environment.rst +21 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/hud.rst +3 -1
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/overlayui.rst +11 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/physics.rst +6 -3
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/shadows.rst +19 -1
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tiles3d.rst +4 -1
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/ubershader.rst +37 -7
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/vegetation.rst +68 -6
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/using_physics.py +618 -198
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/MANIFEST.in +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/__pyinstaller/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/__pyinstaller/hook-OpenGLContext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/__pyinstaller/hook-glfw.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/arrays.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/atlas.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/atomicfiles.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/audio/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/audio/acoustics.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/audio/areas.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/audio/scene.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/audio/settings.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/audio/vehicle.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/audio/x3dgraph.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/audio_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/character_sheet.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/choosecontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/choosefonts.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/cover_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/deformer_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/gltest.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/gltf_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/gltf_regression.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/lod_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/lorentz.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/mirrorhall.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/mirrors_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/physics_cook.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/physics_events_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/profile_view.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/terrain_view.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/ui_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/view.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/vrml_view.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_gallery.x3d +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_geospatial_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_layering.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_layering.x3d +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_materials.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_movie.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_movie.x3d +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_movie_film.x3d +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_nurbs.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_nurbs.x3d +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_particles.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_particles.x3d +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_regression.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_rigidbody.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_rigidbody.x3d +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_shaders.x3d +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_shaders_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_shaders_stripes.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_sound.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_sound.x3d +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_sound_stress.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_sound_stress.x3d +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_splats.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_volume.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/x3d_volume.x3d +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/bin/zones_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/capture.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/character/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/character/attachment.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/character/clip.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/character/crowd.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/character/gpuskeleton.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/character/hanim.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/character/humanoid.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/character/levels.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/character/mixer.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/character/model.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/character/rig.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/character/wander.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/contactsheet.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/contentpacks/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/contentpacks/application.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/contentpacks/archive.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/contentpacks/bundletags.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/contentpacks/catalog.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/contentpacks/fetch.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/contentpacks/pack.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/contentpacks/publish.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/contentpacks/store.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/context.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/contextconfig.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/contextresources.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/debug/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/debug/bufferimage.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/debug/leaks.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/debug/logcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/debug/logs.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/debug/state.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/demos/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/demos/packaging/README.md +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/demos/packaging/build-deb.sh +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/demos/packaging/deb-project/pyproject.toml +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/demos/packaging/entry.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/demos/packaging/viewer-demos.spec +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/demos/tk_viewer.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/demos/wx_viewer.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/displaylist.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/doinchildmatrix.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/drawcube.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/edit/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/edit/controlnet.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/edit/gizmo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/edit/maptools.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/edit/mapview.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/edit/orbitview.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/edit/relief.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/edit/surface.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/edit/tools.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/eglcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/eglvrmlcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/entropy.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/event.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/eventhandlermixin.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/eventmanager.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/framestep.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/glfwevents.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/glutevents.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/inputstate.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/internaltime.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/keyboardevents.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/loadwait.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/mouseevents.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/pygameevents.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/renderqueue.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/synthetic.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/systemtime.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/timeeventgeneratormanager.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/timeevents.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/timer.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/tkevents.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/wheel.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/events/wxevents.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/extensionmanager.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/framecounter.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/glfwcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/glfwinteractivecontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/glfwvrmlcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/glutcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/glutinteractivecontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/gluttestingcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/glutvrmlcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/glutvrmltestingcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/hud.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/interactivecontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/lighting.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/assets.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/background.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/base.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/basisu.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/cc0.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/documentvalues.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/formats.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/accessors.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/animation.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/draco.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/environment_sky.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/fastdecode.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/hooks.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/imagebased.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/loader.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/lod.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/lodasset.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/materials.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/meshes.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/meshopt.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/notices.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/samples.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/scene.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/shapes.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/splats.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/textures.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/transforms.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/variants.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/writer.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf/zoning.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/gltf_demos.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/hdr.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/hdri.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/loader.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/meshfiles.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/notices.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/obj.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/panorama.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/readers.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/resolver.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/sceneloader.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/textureimages.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/boundingvolume.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/dem.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/fetch.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/foliage.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/frustum.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/generated.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/geomorph.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/gltf_uploader.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/loadmanager.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/manifest.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/physics_colliders.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/procedural.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/props.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/reader.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/residency.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/runtime.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/sample.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/scatter.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/screenspaceerror.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/tileset.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/traversal.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/vegetation.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/vrml97.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/x3d.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/looptrace.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/bindingstore.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/direct.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/dragwatcher.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/examinemanager.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/followcam.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/modes.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/movementmanager.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/navigation.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/navigationdefinition.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/navigationinfo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/orbit.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/physicsplatform.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/physicswalk.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/smooth.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/terrainfollow.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/terrainwalk.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/trackball.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/viewplatform.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/move/viewplatformmixin.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/multiview/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/multiview/cameras.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/multiview/gestures.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/multiview/grid.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/multiview/layers.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/multiview/mixin.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/multiview/navigation.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/multiview/quad.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/multiview/strategy.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/multiview/viewpoints.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/multiview/views.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/multiview/viewset.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/nav/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/nav/navmesh.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/outline.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/packaging/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/packaging/appdir.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/packaging/deb.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/packaging/multicall.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/packs.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/asyncpick.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/bloom.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/clippass.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/clipscope.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/disposal.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/fixedprojectors.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/flatcompat.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/flatcore.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/flateffects.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/generatedtextures.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/glstate.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/gputimer.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/ibl.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/instancing.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/layerguard.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/layerpass.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/lightscope.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/localfog.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/multiviewpass.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/oit.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/projectorpass.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/quality.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/reflection.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/reflectionatlas.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/reflectionpass.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/reflectionplanner.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/reflectiontiles.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/renderfailures.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/renderpass.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/renderstats.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/scatter.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/selection.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/selectionbuffers.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/shaderpass.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/shaderpass_shadow.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/shadersource.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/shading.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/shadowcaps.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/shadowmap.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/shadowpool.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/texturelayerpass.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/tonemapping.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/transmission.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/viewpointbinding.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/volumepass.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/zonebake.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/zonelayers.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/zonepass.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/passes/zoneprobes.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/physics/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/physics/debugdraw.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/physics/demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/physics/events.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/physics/gltf_world.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/physics/heightfield.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/physics/manager.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/physics/props.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/physics/road.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/physics/threaded.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/physics/x3dcollision.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/physics/x3drigid.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/physics/zones.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/plugins.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/processexit.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/py.typed +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/pygamecontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/pygameinteractivecontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/pygametestingcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/pygamevrmlcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/quaternion.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/available_contexts.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/available_contexts_txt.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/context_icon_png.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/context_icon_small_png.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/disk_icon_hi_png.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/disk_icon_png.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/pimbackground_BK.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/pimbackground_DN.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/pimbackground_FR.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/pimbackground_LF.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/pimbackground_RT.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/pimbackground_UP.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/studio_BK.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/studio_DN.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/studio_FR.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/studio_LF.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/studio_RT.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/studio_UP.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/studiobright_BK.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/studiobright_DN.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/studiobright_FR.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/studiobright_LF.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/studiobright_RT.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/environment/studiobright_UP.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/green_arrow_right_png.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/legacy_lighting.vert.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/legacy_lighting_vert_txt.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/lights.vert.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/lights_vert_txt.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/phongprecalc_vert.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/phongweights_frag.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/pygame_icon_png.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/red_arrow_right_png.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/simpleshader.frag.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/simpleshader.vert.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/simpleshader_frag_txt.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/resources/simpleshader_vert_txt.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/_basenodes_stub.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/anchor.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/appearance.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/arraygeometry.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/atlasmesh.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/audio.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/background.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/basenodes.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/basenodes.pyi +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/billboard.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/bindable.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/boundingvolume.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/box.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/collision.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/composedgeometry.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/coordinate.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/coordinatebounded.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/coordinatedeform.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/coordinatedeformer.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/coordinates.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/cubebackground.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/cubemaptexture.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/drawproperties.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/environmentlight.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/extrusions.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/fog.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/fogcoordinate.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/framed.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/frommesh.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/gantry.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/gaussiansplats.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/gear.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/generatedtiles.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/geometry2d.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/geometryarrays.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/geospatial.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/group.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/grouping.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/hanim.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/hdrbackground.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/ifscompiler.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/imagebasedlight.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/imagedata.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/imagetexture.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/indexedfaceset.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/indexedlineset.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/indexedpolygons.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/inline.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/inlinegeometry.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/instancedshape.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/interpolators.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/layering.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/layout.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/light.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/lightgrid.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/lod.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/material.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/material_fields.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/materialextensions.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/meshdata.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/meshgeometry.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/mirrorhooks.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/mouseover.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/movietexture.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/multitexture.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/natural.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/nodepath.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/nurbs.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/nurbseval.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/nurbsinterpolators.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/nurbssampling.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/nurbstess.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/nurbstrim.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/nurbsx3d.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/octahedral.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/particlehooks.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/particles.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/particlesim.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/pbrmesh.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/physicalmaterial.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/physicsbody.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/pickgeometry.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/pointset.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/polygon.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/polygonsort.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/polygontessellator.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/props.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/quadrics.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/reflector.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/renderedtexture.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/rendermodes.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/road.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/roadcourse.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/roadsigns.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/roadworks.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/rockfield.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/rockground.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/rockwork.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/sampler.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/scenegraph.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/shadergeometry.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/shaders.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/simplebackground.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/skinning.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/specularglossiness.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/spherebackground.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/splatmath.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/surfaces.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/switch.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/teapot.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/teapot_nurbs.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/teapot_nurbs_data.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/terrain/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/terrain/control.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/terrain/ground.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/terrain/heightfield.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/terrain/holes.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/terrain/relief.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/terrain/splat.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/tessellationlod.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/texgen.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/_toolsfont.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/font.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/fontlibrary.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/fontprovider.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/fonts/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/fonts/font_atlas_10.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/fonts/font_atlas_12.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/fonts/font_atlas_14.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/fonts/font_atlas_16.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/fonts/font_atlas_18.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/fonts/font_atlas_20.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/fonts/font_atlas_24.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/fonts/font_atlas_28.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/fonts/font_atlas_32.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/fontstyle3d.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/glutfont.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/pillowfont.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/pillowtext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/pygamefont.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/shaderfont.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/shadertext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/snippetatlas.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/text.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/toolsfont.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/ttfregistry.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/wglfont.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/wglfontprovider.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/text/wxfont.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/texture3d.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/texturebackground.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/texturelayers.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/texturemapping.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/textureprojector.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/texturetransform.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/tilesterrain.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/timesensor.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/transform.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/unlitmaterial.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/varied.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/vegetation/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/vegetation/field.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/vegetation/streaming.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/vertex.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/vertexsemantics.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/viewpoint.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/viewpointgroup.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/volumedata.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/volumestyles.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/walk.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/water/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/water/gltf.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/water/medium.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/water/submersion.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/water/surface.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/water/volumes.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/winding.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/x3dglsl.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/x3dgroups.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/x3dparticles.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/x3dpicking.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/x3dpointing.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/x3drigidbody.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/x3druntime.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/x3dsensors.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/x3dshaders.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/x3dsound.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/zone.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/scenegraph/zones.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/screenshot.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_brdf_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_clipplane_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_common_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_cubemap_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_displayed_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_fill_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_layers_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_lights_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_multiview_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_objectid_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_oit_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_phong_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_pointsize_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_projectors_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_shadow_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_skinning_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_texgen_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_tonemap_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_untoned_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_viewer_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_wave_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_x3d_fog_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/_zone_inc.glsl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/background_faces.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/background_faces.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/gaussian_splat.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/gaussian_splat.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/hdr_background.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/hdr_background.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/ibl_brdf.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/ibl_env.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/ibl_equirect.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/ibl_fullscreen.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/ibl_irradiance.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/ibl_prefilter.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/ibl_resample.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/particle.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/particle.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/pbr.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/pose_blend.comp +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/shadow_depth.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/shadow_depth.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/skeleton_palette.comp +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/skeleton_world.comp +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/terrain_splat.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/terrain_splat.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/veg_billboard.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/veg_billboard.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/veg_clump.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/veg_depth.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/veg_mesh.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/veg_mesh.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/volume.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/volume.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/vrml97_background.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/vrml97_background.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/vrml97_lighting.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/vrml97_lighting.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/vrml97_line.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/vrml97_line.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/vrml97_point.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/vrml97_point.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/vrml97_unlit.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/vrml97_unlit.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/vrml97_vertex_color.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/vrml97_vertex_color.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/vrml97_wide_line.frag +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/shaders/vrml97_wide_line.geom +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/stalltrace.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/swapcontrol.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/telemetry/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/telemetry/__main__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/telemetry/journal.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/telemetry/record.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/telemetry/recorder.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/telemetry/replay.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/telemetry/report.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/telemetry/stretches.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/display.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/event_injector.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/framebuffer_comparison.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/gl_env.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/glcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/glfwteardown.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/layers.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/memo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/mirrored.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/network.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/openaudit.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/paths.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/plugin.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/process_exit.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/renderregression.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/report_generator.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/scaling.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/scenes.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/stillframe.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testing/subprocess_runner.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/testingcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/tests/test_atlas.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/tests/test_configs.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/tests/test_polygonsort.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/tests/test_utilities.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/tests/test_viewplatform.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/texture.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/texturecache.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/tkcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/tkinteractivecontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/tktestingcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/tkvrmlcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/triangleutilities.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/bindings.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/console.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/contentscreen.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/dialogs.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/draw.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/gallery.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/generate.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/geometry.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/hudwidgets.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/layout.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/menu.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/metrics.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/overlay.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/panel.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/pictures.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/screen.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/scroll.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/session.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/settings.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/skin.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/toolpalette.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/tooltip.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/viewchrome.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/ui/widgets.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/userpaths.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/utilities.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/vectorutilities.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/video/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/video/clock.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/video/codecs.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/video/commandline.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/video/playback.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/video/recorder.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/adapters/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/adapters/base.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/adapters/gltf.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/adapters/meshfiles.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/adapters/obj.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/adapters/scenegraph.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/adapters/tiles.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/adapters/vrml.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/adapters/x3d.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/caption.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/capture.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/commentary.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/debug.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/environment.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/flythrough.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/framing.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/library.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/menu.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/options.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/sceneviewer.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/screens.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/viewer/source.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/visitor.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/vrmlcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/wglcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/wglvrmlcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/windowsystem/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/windowsystem/base.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/windowsystem/egl.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/windowsystem/glfw.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/windowsystem/glut.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/windowsystem/pygame.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/windowsystem/tk.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/windowsystem/wgl.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/windowsystem/wx.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/wxcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/wxinteractivecontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/wxtestingcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/wxvrmlcontext.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext.egg-info/dependency_links.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext.egg-info/entry_points.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext.egg-info/requires.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext.egg-info/top_level.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/README.md +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/build-docs.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docbuild/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docbuild/markup.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docbuild/surface_swatches.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docbuild/tutorials.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/_ext/oglc_gallery.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/_ext/oglc_sidebar.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/_ext/oglc_tutorials.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/_static/gallery.css +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/_static/gallery.js +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/_static/oglc.css +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/_templates/components/edit-this-page.html +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/_templates/sidebar/badges.html +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/audio-internals.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/audio.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/backends.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/baking.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/capturing.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/characters.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/checks.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/conf.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/documentation.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/editing.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/embedding.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/eventmodel.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/extensions/OGLC_hook.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/extensions/OGLC_zone.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/extensions/examples/OGLC_zone-2.0.gltf +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/extensions/examples/OGLC_zone-2.1.gltf +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/extensions/schema/OGLC_hook.schema.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/extensions/schema/node.OGLC_zone.schema.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/extrusions.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/flat.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/glisteel-editor.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/glisteel.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/glslversions.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/gltf.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/ATTRIBUTION.md +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/beautiful-game.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/context-icon-small.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/context_logo.gif +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/context_logo_icon.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/bake_demo.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/bake_demo.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/crowd_demo.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/crowd_demo.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/editing_demo.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/editing_demo.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/gallery.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/gallery.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/hud_demo.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/hud_demo.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/instancing_batched.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/instancing_batched.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/mirrors_demo.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/mirrors_demo.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/molehill_edit.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/molehill_edit.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/multiview_quad.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/multiview_quad.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/navmesh_demo.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/navmesh_demo.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/particles_effects.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/particles_effects.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/recording_demo.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/recording_demo.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/roads_demo.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/roads_demo.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/telemetry_demo.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/telemetry_demo.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/water_demo.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/water_demo.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/x3d_demo.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/x3d_geospatial.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/x3d_geospatial.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/x3d_materials.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/x3d_materials.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/x3d_particles.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/x3d_shaders.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/x3d_shaders.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/x3d_splats.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/x3d_splats.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/x3d_volume.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/demos/x3d_volume.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/diagrams/audio-1.svg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/diagrams/audio-2.svg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/diagrams/particles-1.svg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/diagrams/pbr-1.svg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/diagrams/shadows-1.svg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/diagrams/shadows-2.svg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/diagrams/shadows-3.svg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/diagrams/shadows-4.svg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/doc_icon.gif +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/curves.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/fig_caps.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/fig_contours.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/fig_curve_sampling.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/fig_lathe.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/fig_polycone.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/fig_preprocessing.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/fig_scale_twist.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/fig_screw.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/fig_spiral.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/fig_texture_caps.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/fig_texture_modes.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/fig_texture_parameter.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/joins.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/normals.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/shapes.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/tessellation.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/extrusions/vrml97.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/editing.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/editing.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/extrusions.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/extrusions.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/hud.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/hud.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/navmesh.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/navmesh.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/nurbs.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/nurbs.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/particles.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/particles.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/roads.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/roads.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/terrain.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/terrain.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/text.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/text.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/water.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/features/water.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/flighthelmet.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/forest-instancing.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/forest-instancing.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/ABeautifulGame.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/ABeautifulGame.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/AntiqueCamera.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/AntiqueCamera.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/BarramundiFish.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/BarramundiFish.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/BoomBox.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/BoomBox.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/CarConcept.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/CarConcept.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/ChronographWatch.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/ChronographWatch.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/ClearCoatCarPaint.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/ClearCoatCarPaint.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/CommercialRefrigerator.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/CommercialRefrigerator.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/Corset.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/Corset.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/FlightHelmet.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/FlightHelmet.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/GlamVelvetSofa.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/GlamVelvetSofa.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/GlassHurricaneCandleHolder.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/GlassHurricaneCandleHolder.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/GlassVaseFlowers.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/GlassVaseFlowers.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/IridescentDishWithOlives.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/IridescentDishWithOlives.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/Lantern.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/Lantern.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/MaterialsVariantsShoe.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/MaterialsVariantsShoe.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/MetalRoughSpheres.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/MetalRoughSpheres.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/MosquitoInAmber.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/MosquitoInAmber.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/SciFiHelmet.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/SciFiHelmet.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/SheenWoodLeatherSofa.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/SheenWoodLeatherSofa.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/StainedGlassLamp.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/StainedGlassLamp.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/SunglassesKhronos.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/SunglassesKhronos.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/ToyCar.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/ToyCar.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/WaterBottle.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/conformance/WaterBottle.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/chess.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/chess.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/church-interior.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/church-interior.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/crowd.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/crowd.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/flight-helmet.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/flight-helmet.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/forest-walk.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/forest-walk.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/glisteel-forest-road.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/glisteel-forest-road.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/glisteel-viaduct.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/glisteel-viaduct.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/marble-board.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/marble-board.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/modern-bedroom.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/modern-bedroom.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/parthenon-look-out.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/parthenon-look-out.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/parthenon.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/parthenon.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/tiles-toronto.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/tiles-toronto.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/track-editor.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/track-editor.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/vintage-living-room.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gallery/showcase/vintage-living-room.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gltf/BarramundiFish.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gltf/BoomBox.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gltf/DamagedHelmet.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gltf/Duck.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gltf/IridescentDishWithOlives.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gltf/MetalRoughSpheres.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/gltf/WaterBottle.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/greypinstripe.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/manifest.toml +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/nurbs/deformer.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/nurbs/surfaces.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/nurbs/trimmed.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/nurbs/x3d_nurbs.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/parthenon/1-east-approach.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/parthenon/10-aerial.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/parthenon/2-steps-foot.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/parthenon/3-steps-top.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/parthenon/4-pronaos-door.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/parthenon/5-naos-entering.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/parthenon/6-naos-look-out.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/parthenon/7-west-chamber.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/parthenon/8-north-flank.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/parthenon/9-ne-corner.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/project_icon.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/pyopengl_icon.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/shadow_demo.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/surfaces.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/surfaces.json +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/text_simple.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/toronto-3dtiles.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/x3d/x3d_layering.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/x3d/x3d_movie.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/images/x3d/x3d_rigidbody.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/index.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/instancing.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/loading.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/lod.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/multiview.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/navigation.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/navmesh.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/numeric_arrays.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/nurbs.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/offscreen.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/osmcity.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/packaging.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/particles.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/pbr.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/profiles.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/recording.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/reflections.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/renderpasses.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/roads.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/structure.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/surfaces.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/telemetry.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/terrain.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tessellation.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/testing.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/text.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/audio_spatial.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/bake_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/cover_meadow.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/crowd_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/editing_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/extrusions_curves.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/extrusions_gallery.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/extrusions_joins.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/extrusions_normals.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/extrusions_preprocessing.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/extrusions_shapes.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/extrusions_tessellation.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/extrusions_vrml97.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/glelathe.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/hud_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/instancing_batched.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/lightobject.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/lightobject.py-screen-0002.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/lightobject.py-screen-0003.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/lod_hall.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/mirrors_room.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/molehill.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/molehill_edit.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/multiview_quad.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/navmesh_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/nehe1.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/nehe2.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/nehe3.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/nehe4.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/nehe5.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/nehe6.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/nehe6_multi.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/nehe6_timer.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/nehe7.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/nehe7.py-screen-0002.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/nehe8.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/nehe8.py-screen-0002.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/nehe8.py-screen-0003.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/nurbsobject.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/particles_effects.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/particles_simple.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/particles_simple.py-screen-0002.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/particles_simple.py-screen-0003.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/physics_bounce.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/physics_cook_view.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/physics_events.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/physics_friction.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/physics_getting_started.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/physics_gravity_zones.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/physics_joints.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/physics_navigate.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/physics_room_drop.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/physics_stress.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/physics_triggers.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/recording_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/roads_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shader_1.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shader_10.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shader_11.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shader_12.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shader_2.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shader_3.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shader_4.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shader_4.py-screen-0002.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shader_5.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shader_5.py-screen-0002.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shader_6.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shader_7.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shader_8.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shader_9.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shader_instanced.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shadow_1.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shadow_2.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/shadow_3.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/solid_font.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/telemetry_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/transforms_1.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/transforms_1.py-screen-0002.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/transforms_1.py-screen-0003.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/transforms_1.py-screen-0004.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/transforms_1.py-screen-0005.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/transforms_1.py-screen-0006.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/transforms_1.py-screen-0007.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/transforms_1.py-screen-0008.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/transforms_1.py-screen-0009.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/transforms_1.py-screen-0010.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/transforms_1.py-screen-0011.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/using_animation.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/using_clips.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/using_collisions.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/using_console.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/using_gltf_model.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/using_level_select.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/using_npc.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/using_obj.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/using_physics.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/using_selection.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/using_settings.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/using_ui.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/using_vrml97.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/water_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/x3d_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/x3d_geospatial.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/x3d_layering.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/x3d_materials.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/x3d_movie.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/x3d_shaders.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/x3d_sound.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/x3d_splats.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/x3d_volume.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/tutorials/zones_demo.py-screen-0001.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/typing.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/untrusted.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/viewer.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/vrml97.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/water.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/x3d.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/zones-internals.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/docs/zones.rst +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/license.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/pyproject.toml +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/setup.cfg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/__init__.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/_bitmap_font.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/_ceramic_textures.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/_fontstyles.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/_gltf_toggle_driver.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/_particle.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/_shader_tut_lightprecalc.vert +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/addnodes.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/arbocclusionquery.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/arbpointparameters.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/arbsync.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/arbwindowpos.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/audio_spatial.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/backgroundobject.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/bake_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/conftest.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/cover_meadow.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/crowd_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/cubeback_rot.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/cubebackgroundobject.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/dek_surf.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/dek_texturesurf.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/editing_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/extrusions_curves.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/extrusions_gallery.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/extrusions_joins.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/extrusions_normals.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/extrusions_preprocessing.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/extrusions_shapes.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/extrusions_tessellation.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/extrusions_vrml97.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/feedback_mode.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/flower_geometry.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/frust_test_module.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/gearobject.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/geometry.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/getteximage.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glarrayelement.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/gldrawarrays.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/gldrawarrays_string.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/gldrawelements.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/gldrawelements_list.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/gldrawelements_string.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/gldrawpixels.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/gldrawpixels.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/gldrawpixelssynth.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glelathe.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glget.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glget_with_fonts.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glgetlight.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glgetmaterial.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glgetpixelmap.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glgetpolygonstipple.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glhistogram.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glinterleavedarrays.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glprint.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glu_tess.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glu_tess2.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glugetstring.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glut_bitmap_font.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glut_font.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glut_fullscreen.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glutbitmapcharacter.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glutmousewheel.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/glvertex.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/heightmap.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/heightmap.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/hud_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/ilsstrategies.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/indexedfaceset_lit_npf.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/indexedfaceset_lit_npv.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/indexedlinesetobject.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/instancing_batched.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/keyboardevents.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/lightmap.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/lightmap1.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/lightobject.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/line_stipple.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/lod_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/lod_hall.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/marbleface.jpeg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/mirrors_room.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/molehill.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/molehill_edit.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/mouseover.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/multitexture_1.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/multiview_quad.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/navmesh_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nehe1.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nehe2.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nehe3.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nehe4.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nehe5.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nehe6.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nehe6_compressed.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nehe6_convolve.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nehe6_multi.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nehe6_timer.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nehe7.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nehe8.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nehe_crate.bmp +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nehe_glass.bmp +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nehe_wall.bmp +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/node_modify.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/nurbsobject.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/particles_effects.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/particles_simple.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/pbodemo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/physics_bounce.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/physics_cook_view.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/physics_events.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/physics_friction.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/physics_gravity_zones.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/physics_joints.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/physics_navigate.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/physics_room_drop.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/physics_stress.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/physics_triggers.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/pimbackground_BK.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/pimbackground_DN.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/pimbackground_FR.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/pimbackground_LF.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/pimbackground_RT.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/pimbackground_UP.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/point_and_click.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/pointsetobject.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/pygame_font.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/pygame_textureatlas.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/readpixelsleak.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/recording_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/redbook_alpha.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/redbook_alpha3D.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/redbook_surface.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/redbook_surface_cb.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/redbook_trim.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/resources/3Dlabs-License.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/resources/CH18-mandel.frag.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/resources/CH18-mandel.vert.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/resources/discard.frag.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/resources/grid.frag.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/resources/oblongimage.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/resources/simpletexture.frag.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/resources/test_context_set.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/resources/test_vrml_set.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/resources/toon.frag.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/resources/toon.vert.txt +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/roads_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/run_core_tests.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/run_teapot_regression.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/runalltests.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/saveimage.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/selectrendermode.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/selectrendermode_threads.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_1.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_10.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_11.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_12.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_2.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_2_c_void_p.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_3.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_4.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_4_subset.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_5.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_6.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_7.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_8.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_9.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_binary.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_instanced.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_instanced_mapped.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_intro.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_ng.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_sphere.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shader_spike.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shadergeometry.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shaderobjects.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shaders.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shadow_1.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shadow_2.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shadow_3.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shadow_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/shadow_spot.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/simplerotate.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/solid_font.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/spherebackgroundobject.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/starfield.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/teapot_ceramic.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/teapot_nurbs.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/telemetry_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/test_all_scripts.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/test_gltf_demo_background.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/test_gltf_demo_model_selection.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/tiles_landscape.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/tiles_terrain.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/tiles_vegetation.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/tiles_walk.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/timesensorobject.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/transforms_1.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/transparentsorted.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/using_clips.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/using_collisions.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/using_console.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/using_level_select.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/using_npc.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/using_obj.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/using_selection.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/using_settings.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/using_ui.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/using_vrml97.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/water_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wgl_bitmap_font.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wgl_font.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wglpixelformatarb.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/3shapes.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/3spheres.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/axis.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/bad_pngs.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/box.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/box_shadow.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/clear wood flooring.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/colorinterpolator.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/coordinterpolator.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/degenerate1.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/degenerate2.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/indexedpolygons.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/instanced_lattice.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/irradiation.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/light1.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/light2.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/logoinstaller.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/luminance.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/luminance_alpha.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/nurbscurve.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/pixeltexture.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/plane_shadow.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/positioninterpolator.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/proto_is_simple.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/pyramid.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/simple_occlude.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/simple_plane.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/simple_scene01.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/simple_texturea.jpg +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/simple_texturergb.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/simple_texturergba.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/sphere2.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/sphere3.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/sphere4.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/tessellate01.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/tessellate4ptcoplanar.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/tessellatewcombine.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/tessellatewcombine_shell.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/text.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/text3d.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/text_bitmap.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/text_simple.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/text_simple_r.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/texture_luminance.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/texture_repeat.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/texture_transparency.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/texture_transparency2.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/timesensor.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/transparency_multiple.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/viewpoints.wrl +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wrls/yingyang.png +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wx_font.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wx_multiple_contexts.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/wx_with_controls.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/x3d_demo.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/x3d_geospatial.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/x3d_layering.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/x3d_materials.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/x3d_movie.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/x3d_shaders.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/x3d_sound.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/x3d_splats.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/tests/x3d_volume.py +0 -0
- {openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/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.0a8"
|
|
36
36
|
__author__ = "Michael Colin Fletcher"
|
|
37
37
|
__license__ = "BSD-Style, see license.txt for details and exceptions"
|
|
38
38
|
|
|
@@ -217,6 +217,13 @@ class ContextDefinition( node.Node ):
|
|
|
217
217
|
#: (env: OPENGLCONTEXT_SHADOW_DISTANCE).
|
|
218
218
|
shadowDistance = field.newField( "shadowDistance", "SFFloat", 1,
|
|
219
219
|
lambda: float(renderoptions.env_number('OPENGLCONTEXT_SHADOW_DISTANCE', 0.0)))
|
|
220
|
+
#: Frames between draws of each cascade beyond the nearest. 1 draws every cascade every
|
|
221
|
+
#: frame. Above 1, those cascades are fitted with room to spare, drawn in turn, and used
|
|
222
|
+
#: again while the slice of the view each serves stays inside it, which saves their depth
|
|
223
|
+
#: draws at the cost of a shadow that lags the camera by a frame or two at distance
|
|
224
|
+
#: (env: OPENGLCONTEXT_SHADOW_FAR_INTERVAL).
|
|
225
|
+
shadowFarInterval = field.newField( "shadowFarInterval", "SFInt32", 1,
|
|
226
|
+
lambda: int(renderoptions.env_number('OPENGLCONTEXT_SHADOW_FAR_INTERVAL', 1, integer=True)))
|
|
220
227
|
#: Lights the shader will bind in one frame. Lower is faster in a scene
|
|
221
228
|
#: with many lights; the shader's own ceiling still applies.
|
|
222
229
|
#: (env: OPENGLCONTEXT_MAXIMUM_LIGHTS)
|
|
@@ -295,6 +302,16 @@ class ContextDefinition( node.Node ):
|
|
|
295
302
|
planarReflections = field.newField( "planarReflections", "SFBool", 1,
|
|
296
303
|
lambda: renderoptions.env_flag(
|
|
297
304
|
'OPENGLCONTEXT_PLANAR_REFLECTIONS', True))
|
|
305
|
+
#: The optional parts the PBR program is compiled with: "all" (the default),
|
|
306
|
+
#: "none", or a comma-separated list of clearcoat, sheen, transmission,
|
|
307
|
+
#: extension-textures, texture-layers, planar-reflection, zone-probes and
|
|
308
|
+
#: volume-scatter (env: OPENGLCONTEXT_SHADER_FEATURES). Each part left out
|
|
309
|
+
#: lightens every pixel's shading; a scene that draws one it left out
|
|
310
|
+
#: draws without it. A window-creation setting: it takes effect when the
|
|
311
|
+
#: program is compiled, at the first frame. See OpenGLContext.passes.pbrpass.
|
|
312
|
+
shaderFeatures = field.newField( "shaderFeatures", "SFString", 1,
|
|
313
|
+
lambda: renderoptions.env_text(
|
|
314
|
+
'OPENGLCONTEXT_SHADER_FEATURES', 'all'))
|
|
298
315
|
#: The most mirror views drawn in one frame. 0 takes the strategy's own:
|
|
299
316
|
#: 16 where one submission reaches several views, 2 where each costs a
|
|
300
317
|
#: draw of the scene (env: OPENGLCONTEXT_REFLECTION_VIEWS).
|
|
@@ -433,6 +450,8 @@ class ContextDefinition( node.Node ):
|
|
|
433
450
|
'maximum': 4, 'step': 1},
|
|
434
451
|
'shadowDistance': {'label': 'Shadow distance', 'minimum': 0.0,
|
|
435
452
|
'maximum': 1000.0, 'step': 10.0},
|
|
453
|
+
'shadowFarInterval': {'label': 'Far shadow interval', 'minimum': 1,
|
|
454
|
+
'maximum': 4, 'step': 1},
|
|
436
455
|
'maximumLights': {'label': 'Lights', 'minimum': 0, 'maximum': 8,
|
|
437
456
|
'step': 1},
|
|
438
457
|
'bloom': {'label': 'Bloom'},
|
|
@@ -499,7 +518,8 @@ class ContextDefinition( node.Node ):
|
|
|
499
518
|
#: Fields a settings screen shows under "Rendering", in the order they
|
|
500
519
|
#: should read: the expensive things first, the diagnostics last.
|
|
501
520
|
RENDERING_FIELDS = (
|
|
502
|
-
'shadows', 'shadowsSoft', 'shadowCascades', 'shadowDistance', '
|
|
521
|
+
'shadows', 'shadowsSoft', 'shadowCascades', 'shadowDistance', 'shadowFarInterval',
|
|
522
|
+
'maximumLights',
|
|
503
523
|
'bloom', 'toneMapping', 'exposure', 'colorSpace', 'shading',
|
|
504
524
|
'orderIndependentTransparency', 'primitiveQuality', 'textureQuality', 'ibl', 'iblIntensity', 'iblStudioFill', 'transmission', 'planarReflections',
|
|
505
525
|
'reflectionViews', 'reflectionBounces', 'zoneCaptureFaces', 'instancing',
|
|
@@ -61,7 +61,8 @@ def boxes_outside(centres: Any, halves: Any, matrices: Any, planes: Any) -> Any:
|
|
|
61
61
|
Box ``i`` is ``centres[i]`` plus or minus ``halves[i]`` along each axis of
|
|
62
62
|
its own space, placed by the row-vector ``matrices[i]`` (a point ``p``
|
|
63
63
|
lands at ``p @ M``). ``centres`` and ``halves`` may be one ``(3,)`` box for
|
|
64
|
-
every matrix. ``
|
|
64
|
+
every matrix. ``matrices`` of None says the boxes are already in the space
|
|
65
|
+
of the planes. ``planes`` are ``(a, b, c, d)`` rows with the kept side where
|
|
65
66
|
``a*x + b*y + c*z + d >= 0``.
|
|
66
67
|
|
|
67
68
|
The decision is the one testing the eight corners makes: a box is outside
|
|
@@ -70,6 +71,12 @@ def boxes_outside(centres: Any, halves: Any, matrices: Any, planes: Any) -> Any:
|
|
|
70
71
|
where the corner furthest in front of it is the centre's distance plus
|
|
71
72
|
the half-extents along the absolute normal.
|
|
72
73
|
"""
|
|
74
|
+
if matrices is None:
|
|
75
|
+
planes = np.asarray(planes, 'd')
|
|
76
|
+
normals = planes[:, :3].T
|
|
77
|
+
nearest = (np.reshape(centres, (-1, 3)) @ normals + planes[:, 3]
|
|
78
|
+
+ np.reshape(halves, (-1, 3)) @ np.abs(normals))
|
|
79
|
+
return (nearest < 0).any(axis=1)
|
|
73
80
|
matrices = np.asarray(matrices)
|
|
74
81
|
planes = np.asarray(planes, matrices.dtype)
|
|
75
82
|
count = len(matrices)
|
{openglcontext-3.0.0a7 → openglcontext-3.0.0a8}/OpenGLContext/loaders/tiles3d/tileprocess.py
RENAMED
|
@@ -38,10 +38,14 @@ from collections.abc import Callable
|
|
|
38
38
|
from importlib import import_module
|
|
39
39
|
from typing import Any
|
|
40
40
|
|
|
41
|
-
__all__ = ['TileProcesses', 'TileProcessError']
|
|
41
|
+
__all__ = ['TileProcesses', 'TileProcessError', 'TileProcessInterrupted']
|
|
42
42
|
|
|
43
43
|
#: Seconds a child has to start, import its factory and connect.
|
|
44
44
|
START_TIMEOUT = 60.0
|
|
45
|
+
#: Seconds a child whose connection broke is given to be seen ending.
|
|
46
|
+
EXIT_GRACE = 0.5
|
|
47
|
+
#: The status a child ends with when an interrupt stopped it: 128 and SIGINT's number.
|
|
48
|
+
INTERRUPTED = 130
|
|
45
49
|
_LENGTH = struct.Struct('!Q')
|
|
46
50
|
|
|
47
51
|
|
|
@@ -50,6 +54,11 @@ class TileProcessError(RuntimeError):
|
|
|
50
54
|
traceback), or the child stopped."""
|
|
51
55
|
|
|
52
56
|
|
|
57
|
+
class TileProcessInterrupted(TileProcessError):
|
|
58
|
+
"""A child ended on an interrupt. A terminal's Ctrl-C reaches every process of its group, so
|
|
59
|
+
the application is ending too, and this is not a fault in the child."""
|
|
60
|
+
|
|
61
|
+
|
|
53
62
|
def _send(sock: socket.socket, message: Any) -> None:
|
|
54
63
|
data = pickle.dumps(message, protocol=pickle.HIGHEST_PROTOCOL)
|
|
55
64
|
sock.sendall(_LENGTH.pack(len(data)))
|
|
@@ -130,6 +139,13 @@ class _Child:
|
|
|
130
139
|
raise TileProcessError(result)
|
|
131
140
|
return result
|
|
132
141
|
|
|
142
|
+
def interrupted(self) -> bool:
|
|
143
|
+
"""Whether the child ended on an interrupt."""
|
|
144
|
+
try:
|
|
145
|
+
return self.process.wait(timeout=EXIT_GRACE) == INTERRUPTED
|
|
146
|
+
except subprocess.TimeoutExpired:
|
|
147
|
+
return False
|
|
148
|
+
|
|
133
149
|
def kill(self) -> None:
|
|
134
150
|
sock = getattr(self, 'sock', None)
|
|
135
151
|
if sock is not None:
|
|
@@ -192,9 +208,12 @@ class TileProcesses:
|
|
|
192
208
|
self._children.append(child)
|
|
193
209
|
return child.make(key)
|
|
194
210
|
except (OSError, EOFError) as err:
|
|
211
|
+
interrupted = child is not None and child.interrupted()
|
|
195
212
|
if child is not None:
|
|
196
213
|
self._forget(child)
|
|
197
214
|
child = None
|
|
215
|
+
if interrupted:
|
|
216
|
+
raise TileProcessInterrupted('a tile process was interrupted while making %r' % (key,)) from err
|
|
198
217
|
raise TileProcessError('a tile process stopped while making %r: %s' % (key, err)) from err
|
|
199
218
|
except TileProcessError:
|
|
200
219
|
raise
|
|
@@ -221,9 +240,23 @@ def _close_weakly(ref: "weakref.ref[TileProcesses]") -> None:
|
|
|
221
240
|
processes.close()
|
|
222
241
|
|
|
223
242
|
|
|
224
|
-
def _serve() ->
|
|
243
|
+
def _serve() -> int:
|
|
225
244
|
"""The child's end: connect, build the maker, and make a payload for each key until the
|
|
226
|
-
socket closes.
|
|
245
|
+
socket closes. The exit status: :data:`INTERRUPTED` when an interrupt stopped it, else 0.
|
|
246
|
+
|
|
247
|
+
The parent closing the socket, or ending, is how a child is told to stop, so a connection
|
|
248
|
+
that fails is an ending and prints nothing.
|
|
249
|
+
"""
|
|
250
|
+
try:
|
|
251
|
+
_converse()
|
|
252
|
+
except KeyboardInterrupt:
|
|
253
|
+
return INTERRUPTED
|
|
254
|
+
except (EOFError, OSError):
|
|
255
|
+
pass
|
|
256
|
+
return 0
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
def _converse() -> None:
|
|
227
260
|
host, port, token = sys.stdin.readline().split()
|
|
228
261
|
sock = socket.create_connection((host, int(port)))
|
|
229
262
|
_send(sock, token)
|
|
@@ -231,15 +264,12 @@ def _serve() -> None:
|
|
|
231
264
|
sys.path.extend(p for p in paths if p not in sys.path)
|
|
232
265
|
try:
|
|
233
266
|
maker = _factory(factory)(*args)
|
|
234
|
-
except
|
|
267
|
+
except Exception:
|
|
235
268
|
_send(sock, traceback.format_exc())
|
|
236
269
|
return
|
|
237
270
|
_send(sock, None)
|
|
238
271
|
while True:
|
|
239
|
-
|
|
240
|
-
key = _receive(sock)
|
|
241
|
-
except (EOFError, OSError):
|
|
242
|
-
return
|
|
272
|
+
key = _receive(sock)
|
|
243
273
|
if key is None:
|
|
244
274
|
return
|
|
245
275
|
try:
|
|
@@ -250,4 +280,4 @@ def _serve() -> None:
|
|
|
250
280
|
|
|
251
281
|
|
|
252
282
|
if __name__ == '__main__': # pragma: no cover - runs in the child
|
|
253
|
-
_serve()
|
|
283
|
+
sys.exit(_serve())
|
|
@@ -11,22 +11,35 @@ One unit of ``x``/``z`` is one feature of the coarsest octave, so a caller
|
|
|
11
11
|
working in metres divides by the size it wants the features to be.
|
|
12
12
|
"""
|
|
13
13
|
import numpy as np
|
|
14
|
+
from numpy.typing import NDArray
|
|
14
15
|
|
|
15
|
-
__all__ = ['fbm', 'ridged', 'smoothstep', 'value_noise']
|
|
16
|
+
__all__ = ['FUSED_POINTS', 'fbm', 'ridged', 'smoothstep', 'value_noise']
|
|
16
17
|
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
#: The offsets of a lattice cell's four corners from its lowest one, along the first axis of
|
|
20
|
+
#: the arrays :func:`_hash01` is given.
|
|
21
|
+
_CORNER_X = np.array([0, 1, 0, 1], dtype=np.int64)
|
|
22
|
+
_CORNER_Z = np.array([0, 0, 1, 1], dtype=np.int64)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
#: How many points :func:`value_noise` hashes the four corners of together: more than this and the
|
|
26
|
+
#: arrays outgrow the processor's cache, and one corner at a time is quicker.
|
|
27
|
+
FUSED_POINTS = 2048
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def _hash01(ix: NDArray[np.int64], iz: NDArray[np.int64], seed: int) -> NDArray[np.float64]:
|
|
19
31
|
"""A value in [0, 1] for each integer lattice point, fixed by ``seed``.
|
|
20
32
|
|
|
21
|
-
|
|
22
|
-
|
|
33
|
+
``ix`` and ``iz`` are integer arrays of at least one dimension. The hash wraps in 64
|
|
34
|
+
bits, which is what mixes the bits; NumPy reports a wrap in a scalar and not in an
|
|
35
|
+
array, so the arrays need no ``errstate``, which costs more than the hash.
|
|
23
36
|
"""
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return
|
|
37
|
+
h = ix * np.int64(374761393) + iz * np.int64(668265263) + np.int64(seed) * np.int64(1013904223)
|
|
38
|
+
h ^= h >> np.int64(13)
|
|
39
|
+
h *= np.int64(1274126177)
|
|
40
|
+
h ^= h >> np.int64(16)
|
|
41
|
+
h &= np.int64(0xFFFFFF)
|
|
42
|
+
return h.astype(np.float64) / float(0xFFFFFF)
|
|
30
43
|
|
|
31
44
|
|
|
32
45
|
def smoothstep(t: np.ndarray) -> np.ndarray:
|
|
@@ -40,10 +53,17 @@ def value_noise(x: np.ndarray, z: np.ndarray, seed: int) -> np.ndarray:
|
|
|
40
53
|
z0 = np.floor(z).astype(np.int64)
|
|
41
54
|
fx = smoothstep(x - x0)
|
|
42
55
|
fz = smoothstep(z - z0)
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
56
|
+
if x0.size <= FUSED_POINTS:
|
|
57
|
+
# The four corners of every cell, hashed as one array with the corner along the first
|
|
58
|
+
# axis: a handful of NumPy calls however few points there are.
|
|
59
|
+
where = (4,) + (1,) * x0.ndim
|
|
60
|
+
v00, v10, v01, v11 = _hash01(x0 + _CORNER_X.reshape(where), z0 + _CORNER_Z.reshape(where),
|
|
61
|
+
seed)
|
|
62
|
+
else:
|
|
63
|
+
v00 = _hash01(x0, z0, seed)
|
|
64
|
+
v10 = _hash01(x0 + 1, z0, seed)
|
|
65
|
+
v01 = _hash01(x0, z0 + 1, seed)
|
|
66
|
+
v11 = _hash01(x0 + 1, z0 + 1, seed)
|
|
47
67
|
top = v00 * (1 - fx) + v10 * fx
|
|
48
68
|
bot = v01 * (1 - fx) + v11 * fx
|
|
49
69
|
return np.asarray(top * (1 - fz) + bot * fz)
|
|
@@ -1050,18 +1050,24 @@ class FlatPass( _FlatEffectsMixin, VolumePassMixin, LayeringPassMixin, Multiview
|
|
|
1050
1050
|
self.matrix = mvmatrix
|
|
1051
1051
|
self.renderPath = path
|
|
1052
1052
|
|
|
1053
|
+
# A geometry that draws with a program of its own reads none of what is set
|
|
1054
|
+
# here for this one: it is drawn where `self.matrix` says.
|
|
1055
|
+
own = getattr(getattr(node, 'geometry', None), 'drawsOwnProgram', False)
|
|
1056
|
+
|
|
1053
1057
|
# Set matrices for this object (pass the program to avoid a per-draw
|
|
1054
1058
|
# glGetIntegerv(GL_CURRENT_PROGRAM) round-trip).
|
|
1055
|
-
|
|
1059
|
+
if not own:
|
|
1060
|
+
shader.set_matrices(mvmatrix, self.projection, program=prog)
|
|
1056
1061
|
|
|
1057
1062
|
# Set object ID for MRT selection buffer (stable per-path id; the
|
|
1058
1063
|
# persistent map is maintained by _objectIdFor, not rebuilt here).
|
|
1059
1064
|
# A non-pickable shape masks the id attachment instead, reading
|
|
1060
1065
|
# through to whatever is behind it.
|
|
1061
1066
|
masked = self._writeShapeId(shader, path, node, prog, id_map)
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1067
|
+
if not own:
|
|
1068
|
+
self.applyLightGrid(shader, node, tmatrix, bvolume, prog)
|
|
1069
|
+
self.applyZones(shader, path, tmatrix, bvolume, prog)
|
|
1070
|
+
self.applyPlanarReflection(shader, record, prog)
|
|
1065
1071
|
|
|
1066
1072
|
try:
|
|
1067
1073
|
node.Render(mode=self)
|
|
@@ -1321,7 +1327,31 @@ class FlatPass( _FlatEffectsMixin, VolumePassMixin, LayeringPassMixin, Multiview
|
|
|
1321
1327
|
from OpenGLContext.passes import tonemapping # noqa: PLC0415 contextdefinition imports it first
|
|
1322
1328
|
if not self.toneMapped:
|
|
1323
1329
|
return tonemapping.ENGINE
|
|
1324
|
-
|
|
1330
|
+
state = self.frameState
|
|
1331
|
+
if state is not None and state.display is not None:
|
|
1332
|
+
held: 'tonemapping.Display' = state.display
|
|
1333
|
+
return held
|
|
1334
|
+
shown = tonemapping.display( self, getattr( self, 'scene', None ) )
|
|
1335
|
+
if state is not None:
|
|
1336
|
+
state.display = shown
|
|
1337
|
+
return shown
|
|
1338
|
+
|
|
1339
|
+
def frameFog( self ) -> Any:
|
|
1340
|
+
"""The ``(mode, density, colour)`` the bound Fog fogs the frame's layers by, or None where
|
|
1341
|
+
the scene binds none.
|
|
1342
|
+
|
|
1343
|
+
Worked out once for each layer drawn in a frame, since every layer that draws with its
|
|
1344
|
+
own program asks and each is told the same.
|
|
1345
|
+
"""
|
|
1346
|
+
state = self.frameState
|
|
1347
|
+
layer = self.drawingLayer() if hasattr( self, 'drawingLayer' ) else None
|
|
1348
|
+
if state is not None and layer in state.fogs:
|
|
1349
|
+
return state.fogs[layer]
|
|
1350
|
+
path = self.currentFog()
|
|
1351
|
+
found = None if path is None else path[-1].fogParameters( path.transformMatrix() )
|
|
1352
|
+
if state is not None:
|
|
1353
|
+
state.fogs[layer] = found
|
|
1354
|
+
return found
|
|
1325
1355
|
|
|
1326
1356
|
def _weightingRuns( self, transparent: list ) -> list[tuple[bool, list]]:
|
|
1327
1357
|
"""``transparent``, farthest first, as runs of ``(weighted, records)``
|
|
@@ -14,7 +14,7 @@ from __future__ import annotations
|
|
|
14
14
|
|
|
15
15
|
import itertools
|
|
16
16
|
|
|
17
|
-
from typing import TYPE_CHECKING, Optional
|
|
17
|
+
from typing import TYPE_CHECKING, Any, Optional
|
|
18
18
|
|
|
19
19
|
if TYPE_CHECKING:
|
|
20
20
|
import numpy as np
|
|
@@ -31,13 +31,18 @@ _NUMBERS = itertools.count(1)
|
|
|
31
31
|
class FrameState:
|
|
32
32
|
"""The state one frame shares among its stages."""
|
|
33
33
|
|
|
34
|
-
__slots__ = ('gathered', 'number', 'reach', 'refusesShare')
|
|
34
|
+
__slots__ = ('display', 'fogs', 'gathered', 'number', 'reach', 'refusesShare')
|
|
35
35
|
|
|
36
36
|
def __init__(self) -> None:
|
|
37
37
|
#: This frame's place in the process's frames, counting from 1.
|
|
38
38
|
self.number = next(_NUMBERS)
|
|
39
39
|
#: This frame's walk of the scene, once it has been made.
|
|
40
40
|
self.gathered: Optional['GatheredPaths'] = None
|
|
41
|
+
#: The tone curve, colour space and exposure the frame is written with, once asked
|
|
42
|
+
#: for: every layer that draws with its own program asks, and each is told the same.
|
|
43
|
+
self.display: Any = None
|
|
44
|
+
#: The fog the frame's layers are drawn in, by the layer drawn, once asked for.
|
|
45
|
+
self.fogs: dict[Any, Any] = {}
|
|
41
46
|
#: Where each shape of the walk is and how far it reaches, the world
|
|
42
47
|
#: centres and radii of :func:`~OpenGLContext.passes.reflection.reach`,
|
|
43
48
|
#: once a mirror view has asked.
|
|
@@ -446,27 +446,50 @@ PBR_OPTIONAL_FEATURES = ('CLEARCOAT', 'SHEEN', 'TRANSMISSION')
|
|
|
446
446
|
def pbr_feature_defines(enabled: Optional[Any] = None) -> list:
|
|
447
447
|
"""USE_* defines choosing which optional lobes the PBR uber-shader includes.
|
|
448
448
|
|
|
449
|
-
FUTURE FEATURE -- not wired into compile() yet. Today the program is always
|
|
450
|
-
built with every lobe ON (see the USE_* fallbacks in pbr.frag), so the whole
|
|
451
|
-
scene keeps using one shader.
|
|
452
|
-
|
|
453
|
-
The intended use is a *per-platform / per-settings* decision made ONCE, at
|
|
454
|
-
program-compile time -- NOT per material. A constrained profile (say low-end
|
|
455
|
-
integrated graphics) could drop transmission + clearcoat to shrink the
|
|
456
|
-
uber-shader's register footprint for the entire scene, trading feature support
|
|
457
|
-
for occupancy. Because the choice is global, the scene still binds a single
|
|
458
|
-
program: this never causes per-material shader swapping.
|
|
459
|
-
|
|
460
449
|
``enabled`` is an iterable of names from PBR_OPTIONAL_FEATURES to keep; ``None``
|
|
461
|
-
keeps them all
|
|
462
|
-
|
|
463
|
-
|
|
450
|
+
keeps them all. The program is compiled with the lobes the application's
|
|
451
|
+
``shaderFeatures`` names (:func:`shader_features`), once for the whole scene,
|
|
452
|
+
so the scene still binds a single program and never swaps shaders per material.
|
|
464
453
|
"""
|
|
465
454
|
keep = set(PBR_OPTIONAL_FEATURES if enabled is None else enabled)
|
|
466
455
|
return ['#define USE_%s %d' % (f, 1 if f in keep else 0)
|
|
467
456
|
for f in PBR_OPTIONAL_FEATURES]
|
|
468
457
|
|
|
469
458
|
|
|
459
|
+
#: The optional parts of the PBR program, by the names ``ContextDefinition.shaderFeatures``
|
|
460
|
+
#: gives them. Each is compiled in where the driver has the texture units for it, and each
|
|
461
|
+
#: adds to the registers every pixel of every draw is shaded with, so a program that never
|
|
462
|
+
#: draws a mirror is faster without the mirror's code in it.
|
|
463
|
+
#:
|
|
464
|
+
#: ``clearcoat``, ``sheen`` and ``transmission`` are the lobes of
|
|
465
|
+
#: :data:`PBR_OPTIONAL_FEATURES`; ``extension-textures`` the maps of the glTF material
|
|
466
|
+
#: extensions (iridescence thickness, transmission and the like); ``texture-layers`` an
|
|
467
|
+
#: X3D appearance's texture layers and projectors; ``planar-reflection`` the reflection
|
|
468
|
+
#: atlas; ``zone-probes`` a zone's own environment probe; ``volume-scatter`` the volume
|
|
469
|
+
#: scattering buffer.
|
|
470
|
+
SHADER_FEATURES: tuple[str, ...] = (
|
|
471
|
+
'clearcoat', 'sheen', 'transmission', 'extension-textures', 'texture-layers',
|
|
472
|
+
'planar-reflection', 'zone-probes', 'volume-scatter')
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
def shader_features(text: Optional[str]) -> Optional[frozenset[str]]:
|
|
476
|
+
"""The features a ``shaderFeatures`` value names, or None for all of them.
|
|
477
|
+
|
|
478
|
+
``text`` is ``all`` (or nothing), ``none`` or a comma-separated list of
|
|
479
|
+
:data:`SHADER_FEATURES`. A name that is not one is reported and left out.
|
|
480
|
+
"""
|
|
481
|
+
words = [word.strip().lower() for word in (text or '').split(',') if word.strip()]
|
|
482
|
+
if not words or words == ['all']:
|
|
483
|
+
return None
|
|
484
|
+
if words == ['none']:
|
|
485
|
+
return frozenset()
|
|
486
|
+
unknown = [word for word in words if word not in SHADER_FEATURES]
|
|
487
|
+
if unknown:
|
|
488
|
+
log.warning("ignoring shader features %s: expected %s", ', '.join(unknown),
|
|
489
|
+
', '.join(SHADER_FEATURES))
|
|
490
|
+
return frozenset(word for word in words if word in SHADER_FEATURES)
|
|
491
|
+
|
|
492
|
+
|
|
470
493
|
#: The bit of the block's flags word saying the vertex colours are baked light
|
|
471
494
|
#: rather than a tint; the fragment shader reads it as ``bakedLightMode``.
|
|
472
495
|
BAKED_LIGHT_BIT = 64
|
|
@@ -619,6 +642,9 @@ class PBRShaderProgram(VRML97ShaderProgram):
|
|
|
619
642
|
#: and the extension maps :attr:`ext_channels` says the driver has units for.
|
|
620
643
|
texture_units: tuple[tuple[str, int], ...] = tuple(PBR_UNITS.items())
|
|
621
644
|
_ext_channels: Mapping[str, int] = MappingProxyType({})
|
|
645
|
+
#: The optional parts compiled in (:data:`SHADER_FEATURES`): None for every one the
|
|
646
|
+
#: driver can run. Read when the program compiles.
|
|
647
|
+
features: Optional[frozenset[str]] = None
|
|
622
648
|
|
|
623
649
|
@property
|
|
624
650
|
def ext_channels(self) -> Mapping[str, int]:
|
|
@@ -666,38 +692,46 @@ class PBRShaderProgram(VRML97ShaderProgram):
|
|
|
666
692
|
# Bake the driver's shadow-light budget / cube path into pbr.frag,
|
|
667
693
|
# mirroring the VRML97 program.
|
|
668
694
|
self.MAX_SHADOW_LIGHTS, self.shadow_cube_array = resolve_shadow_config()
|
|
695
|
+
# What the application declared (``shaderFeatures``); None is every
|
|
696
|
+
# feature the driver has units for.
|
|
697
|
+
wanted = self.features
|
|
698
|
+
|
|
699
|
+
def wants(name: str) -> bool:
|
|
700
|
+
return wanted is None or name in wanted
|
|
669
701
|
# Sampler-budget gate: extension textures (units 16+) only exist on a GPU
|
|
670
702
|
# reporting more than the 16-unit GL 3.3 minimum (llvmpipe reports 16).
|
|
671
703
|
self.texture_budget = int(glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS))
|
|
672
|
-
|
|
704
|
+
ext_textures = (wants('extension-textures')
|
|
705
|
+
and ext_textures_supported(self.texture_budget))
|
|
706
|
+
self.ext_channels = (ext_texture_channels(self.texture_budget)
|
|
707
|
+
if wants('extension-textures') else {})
|
|
673
708
|
# Reflections of the scene are read from a unit past the joint
|
|
674
709
|
# palette; where the fragment stage stops short of it every
|
|
675
710
|
# mirror reflects the environment probe alone.
|
|
676
711
|
self.planar_reflection_supported = (
|
|
677
|
-
self.texture_budget >= REFLECTION_UNITS_NEEDED)
|
|
712
|
+
wants('planar-reflection') and self.texture_budget >= REFLECTION_UNITS_NEEDED)
|
|
678
713
|
# A zone's own environment probe is a layer of the cube-map array
|
|
679
714
|
# the scene's probe then lives in, which needs the same GL 4.0 /
|
|
680
715
|
# ARB_texture_cube_map_array support the point-shadow cube arrays
|
|
681
716
|
# do -- and the #extension line that support already enables.
|
|
682
|
-
self.zone_probes_supported = bool(self.shadow_cube_array)
|
|
717
|
+
self.zone_probes_supported = wants('zone-probes') and bool(self.shadow_cube_array)
|
|
683
718
|
# The texture layers' cube map and 3D texture, and the texture
|
|
684
719
|
# projectors' images, where the fragment stage has samplers left.
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
self.
|
|
688
|
-
|
|
720
|
+
declared = pbr_fragment_samplers(
|
|
721
|
+
ext_textures, self.planar_reflection_supported, bool(self.shadow_cube_array),
|
|
722
|
+
self.MAX_SHADOW_LIGHTS)
|
|
723
|
+
self.layer_samplers_supported = (
|
|
724
|
+
wants('texture-layers') and declared + LAYER_SAMPLERS_NEEDED <= self.texture_budget)
|
|
689
725
|
# The volume-scatter buffer's sampler, where one is left after those.
|
|
690
|
-
self.volume_scatter_supported =
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
self.
|
|
694
|
-
else 0) + 1 <= self.texture_budget
|
|
726
|
+
self.volume_scatter_supported = (
|
|
727
|
+
wants('volume-scatter')
|
|
728
|
+
and declared + (LAYER_SAMPLERS_NEEDED if self.layer_samplers_supported else 0) + 1
|
|
729
|
+
<= self.texture_budget)
|
|
695
730
|
ext_defines = ['#define TEXTURE_LAYER_SAMPLERS %d'
|
|
696
731
|
% (1 if self.layer_samplers_supported else 0),
|
|
697
732
|
'#define TEXTURE_PROJECTORS %d'
|
|
698
733
|
% (1 if self.layer_samplers_supported else 0),
|
|
699
|
-
'#define PBR_EXT_TEXTURES %d'
|
|
700
|
-
% (1 if ext_textures_supported(self.texture_budget) else 0),
|
|
734
|
+
'#define PBR_EXT_TEXTURES %d' % (1 if ext_textures else 0),
|
|
701
735
|
'#define PBR_PLANAR_REFLECTION %d'
|
|
702
736
|
% (1 if self.planar_reflection_supported else 0),
|
|
703
737
|
'#define PBR_VOLUME_SCATTER %d'
|
|
@@ -705,6 +739,9 @@ class PBRShaderProgram(VRML97ShaderProgram):
|
|
|
705
739
|
'#define PBR_ZONE_PROBES %d'
|
|
706
740
|
% (1 if self.zone_probes_supported else 0),
|
|
707
741
|
'#define MAX_ZONE_LAYERS %d' % (MAX_ZONE_LAYERS,)]
|
|
742
|
+
if wanted is not None:
|
|
743
|
+
ext_defines += pbr_feature_defines(
|
|
744
|
+
[lobe for lobe in PBR_OPTIONAL_FEATURES if lobe.lower() in wanted])
|
|
708
745
|
# Vertex-shader skinning needs a texture unit of its own for the
|
|
709
746
|
# joint palette; a driver whose combined budget does not reach it
|
|
710
747
|
# compiles the skinning out and the deform stays on the CPU.
|
|
@@ -1542,7 +1579,11 @@ class PBRPass(flatcore.FlatPass):
|
|
|
1542
1579
|
|
|
1543
1580
|
def getShaderProgram(self) -> VRML97ShaderProgram:
|
|
1544
1581
|
if self._shader_program_instance is None:
|
|
1545
|
-
|
|
1582
|
+
program = PBRShaderProgram()
|
|
1583
|
+
program.features = shader_features(renderoptions.choice(
|
|
1584
|
+
self, 'shaderFeatures',
|
|
1585
|
+
renderoptions.env_text_once('OPENGLCONTEXT_SHADER_FEATURES', 'all')))
|
|
1586
|
+
self._shader_program_instance = program
|
|
1546
1587
|
return self._shader_program_instance
|
|
1547
1588
|
|
|
1548
1589
|
# Must match MAX_INSTANCE_MATERIALS in pbr.frag (sized to the 16 KB UBO min:
|
|
@@ -1628,7 +1669,18 @@ class PBRPass(flatcore.FlatPass):
|
|
|
1628
1669
|
memo[shape] = (made_from, stamps, key, flag)
|
|
1629
1670
|
return key, flag
|
|
1630
1671
|
|
|
1631
|
-
|
|
1672
|
+
# The pair serves one grouping, which asks a shape its key and then whether it can be
|
|
1673
|
+
# drawn instanced: the first asking answers the second.
|
|
1674
|
+
last: list[Any] = [None, None]
|
|
1675
|
+
|
|
1676
|
+
def answered(shape: Any) -> tuple[Any, bool]:
|
|
1677
|
+
if last[0] is None or last[0]() is not shape:
|
|
1678
|
+
last[1] = answer(shape)
|
|
1679
|
+
last[0] = weakref.ref(shape)
|
|
1680
|
+
found: tuple[Any, bool] = last[1]
|
|
1681
|
+
return found
|
|
1682
|
+
|
|
1683
|
+
return (lambda shape: answered(shape)[0]), (lambda shape: answered(shape)[1])
|
|
1632
1684
|
|
|
1633
1685
|
def _keyFor(self, shape: Any, collapse: bool) -> Any:
|
|
1634
1686
|
from OpenGLContext.passes.instancing import (
|
|
@@ -260,6 +260,34 @@ def directional_cascade(light_dir: Vec3, corners_world: np.ndarray,
|
|
|
260
260
|
return view.astype('f'), proj.astype('f')
|
|
261
261
|
|
|
262
262
|
|
|
263
|
+
def padded_corners(corners_world: np.ndarray, scale: float) -> np.ndarray:
|
|
264
|
+
"""``corners_world`` grown about their centre to ``scale`` times their size.
|
|
265
|
+
|
|
266
|
+
A cascade fitted to them reaches that much further than the slice it serves, so it keeps
|
|
267
|
+
serving the slice for as long as the slice moves less than the room made.
|
|
268
|
+
"""
|
|
269
|
+
corners = np.asarray(corners_world, dtype='d')
|
|
270
|
+
if scale == 1.0:
|
|
271
|
+
return corners
|
|
272
|
+
centre = corners.mean(axis=0)
|
|
273
|
+
return centre + (corners - centre) * float(scale)
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
def cascade_covers(view: Matrix4, proj: Matrix4, corners_world: np.ndarray,
|
|
277
|
+
tolerance: float = 0.01) -> bool:
|
|
278
|
+
"""Whether a cascade's light view and orthographic projection contain ``corners_world``.
|
|
279
|
+
|
|
280
|
+
A cascade is a box; a receiver in the slice is shadowed from it only where the box holds it,
|
|
281
|
+
sideways and in depth. ``tolerance`` is a share of the box's half width, which the fit's
|
|
282
|
+
snapping to texels takes from the edges.
|
|
283
|
+
"""
|
|
284
|
+
corners = np.asarray(corners_world, dtype='d')
|
|
285
|
+
homogeneous = np.concatenate([corners, np.ones((corners.shape[0], 1))], axis=1)
|
|
286
|
+
clip = homogeneous @ np.asarray(view, dtype='d') @ np.asarray(proj, dtype='d')
|
|
287
|
+
ndc = clip[:, :3] / clip[:, 3:4]
|
|
288
|
+
return bool(np.all(np.abs(ndc) <= 1.0 + tolerance))
|
|
289
|
+
|
|
290
|
+
|
|
263
291
|
def _extend_near_for_casters(caster_bounds: np.ndarray, view: Matrix4,
|
|
264
292
|
mins: np.ndarray, maxs: np.ndarray,
|
|
265
293
|
near: float) -> float:
|