ernie-renderer 0.2.0.dev145__tar.gz → 0.2.0.dev148__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.
Potentially problematic release.
This version of ernie-renderer might be problematic. Click here for more details.
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/CMakeLists.txt +1 -1
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/PKG-INFO +1 -1
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/app/viewer.cpp +3 -2
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/python/device.cpp +52 -41
- ernie_renderer-0.2.0.dev148/ernie/python/device.h +60 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/python/dlpack.cpp +14 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/python/dlpack.h +3 -0
- ernie_renderer-0.2.0.dev148/ernie/python/render.cpp +123 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/CMakeLists.txt +1 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/geometry.cpp +9 -3
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/geometry.h +2 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/instances.cpp +40 -1
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/instances.h +39 -0
- ernie_renderer-0.2.0.dev148/ernie/render/products.cpp +135 -0
- ernie_renderer-0.2.0.dev148/ernie/render/products.h +44 -0
- ernie_renderer-0.2.0.dev148/ernie/render/renderer.cpp +221 -0
- ernie_renderer-0.2.0.dev148/ernie/render/renderer.h +95 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/rt/bottom_levels.cpp +15 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/rt/bottom_levels.h +13 -0
- ernie_renderer-0.2.0.dev148/ernie/render/rt/camera_pass.cpp +157 -0
- ernie_renderer-0.2.0.dev148/ernie/render/rt/camera_pass.h +99 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/rt/ray_tracer.cpp +9 -6
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/rt/ray_tracer.h +16 -5
- ernie_renderer-0.2.0.dev148/ernie/render/rt/top_levels.cpp +162 -0
- ernie_renderer-0.2.0.dev148/ernie/render/rt/top_levels.h +71 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/geom.cpp +9 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/geom.h +4 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/render.h +14 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/shaders/CMakeLists.txt +1 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/shaders/rt/ray_tracer.slang +25 -8
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/shaders/rt/write_instances.slang +13 -6
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/shaders/sensors/camera.slang +46 -20
- ernie_renderer-0.2.0.dev148/ernie/shaders/sensors/lens.slang +83 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/python/test_device_torch.py +27 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/python/test_render.py +31 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/render/acceleration_scene_test.cpp +12 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/render/camera_pass_test.cpp +46 -21
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/render/gradients_test.cpp +55 -15
- ernie_renderer-0.2.0.dev148/tests/render/renderer_test.cpp +232 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/render/shaders_test.cpp +5 -7
- ernie_renderer-0.2.0.dev145/ernie/python/device.h +0 -13
- ernie_renderer-0.2.0.dev145/ernie/python/render.cpp +0 -48
- ernie_renderer-0.2.0.dev145/ernie/render/renderer.cpp +0 -115
- ernie_renderer-0.2.0.dev145/ernie/render/renderer.h +0 -51
- ernie_renderer-0.2.0.dev145/ernie/render/rt/camera_pass.cpp +0 -129
- ernie_renderer-0.2.0.dev145/ernie/render/rt/camera_pass.h +0 -84
- ernie_renderer-0.2.0.dev145/ernie/render/rt/top_levels.cpp +0 -121
- ernie_renderer-0.2.0.dev145/ernie/render/rt/top_levels.h +0 -57
- ernie_renderer-0.2.0.dev145/tests/render/renderer_test.cpp +0 -93
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/.clang-format +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/.clang-tidy +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/.dockerignore +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/.gersemirc +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/.gitattributes +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/.github/scripts/coverage_badge.py +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/.github/scripts/install-lavapipe-windows.sh +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/.github/workflows/ci.yml +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/.gitignore +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/.pre-commit-config.yaml +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/CMakePresets.json +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/Dockerfile +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/benchmarks/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/benchmarks/bench.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/benchmarks/device/pose_step.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/benchmarks/main.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/benchmarks/render/transform_graph.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/benchmarks/scene/extents.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/benchmarks/scene/storage.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/cmake/EmbedShader.cmake +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/cmake/ErnieConfig.cmake.in +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/cmake/ErnieFetch.cmake +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/cmake/ErnieInstall.cmake +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/cmake/ErniePackaging.cmake +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/cmake/ErnieShaders.cmake +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/cmake/ErnieTesting.cmake +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/cmake/ernie.pc.in +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/cmake/third_party/dear_imgui.cmake +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/cmake/third_party/glfw.cmake +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/cmake/third_party/googletest.cmake +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/cmake/third_party/nanobind.cmake +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/cmake/third_party/openexr.cmake +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/cmake/third_party/slang.cmake +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/cmake/third_party/tracy.cmake +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/docs/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/docs/index.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/docs/requirements.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/app/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/app/imgui_backend.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/app/imgui_backend.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/app/main.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/app/ui.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/app/ui.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/app/viewer.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/acceleration.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/acceleration.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/arena.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/arena.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/bindless.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/bindless.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/buffer.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/buffer.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/column.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/column.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/commands.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/commands.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/context.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/context.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/cuda.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/cuda.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/device.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/external.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/external.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/image.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/image.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/instance.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/instance.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/kernel.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/kernel.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/profile.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/profile.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/queue.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/queue.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/shader_compiler.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/shader_compiler.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/staging.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/staging.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/vulkan.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/device/vulkan.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/geometry/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/geometry/bounds.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/geometry/triangulation.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/geometry/triangulation.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/graph/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/graph/blackboard.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/graph/dependencies.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/graph/dependencies.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/graph/graph.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/graph/graph.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/graph/pool.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/graph/pool.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/io/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/io/ies.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/io/ies.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/io/image.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/io/image.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/io/nanovdb.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/io/nanovdb.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/io/raster.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/io/raster.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/io/texture.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/io/texture.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/astronomy.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/astronomy.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/atmosphere.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/atmosphere.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/cloud.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/cloud.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/constants.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/reflectance_library.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/reflectance_library.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/reflectance_table.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/regolith.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/regolith.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/scattering.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/scattering.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/solar.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/solar.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/solar_table.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/spectrum.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/physics/spectrum.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/python/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/python/ernie/__init__.py +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/python/module.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/python/render.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/python/scene.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/python/scene.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/device_scene.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/device_scene.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/prim_rows.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/prim_rows.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/scene_columns.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/scene_columns.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/transform_graph.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/render/transform_graph.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/animation.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/convert.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/edit_history.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/edit_history.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/extent_cache.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/extent_cache.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/holder_index.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/holder_index.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/inherit.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/json.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/json.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/json_value.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/path.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/path.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/reference.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/reference.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/scene.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/scene.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/camera.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/camera.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/collection.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/instancer.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/instancer.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/lux.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/lux.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/mesh.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/mesh.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/planet.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/planet.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/registry.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/render.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/shade.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/shade.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/vol.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema/vol.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/schema.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/storage.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/storage.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/time_samples.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/time_samples.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/tokens.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/usd_plugin.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/validate.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/value.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/view.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/view.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/xform.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/scene/xform.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/shaders/device/bindless.slang +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/shaders/device/buffer_ref.slang +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/shaders/math/affine.slang +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/shaders/math/double_float.slang +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/shaders/scene/geometry.slang +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/shaders/scene/shapes.slang +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/shaders/scene/transform.slang +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/shaders/shared.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/shaders/spectral/spectrum.slang +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/algorithm.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/bytes.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/disk_cache.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/disk_cache.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/file.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/file.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/glm.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/hash_index.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/library.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/library.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/linear_algebra.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/log.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/log.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/math.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/noise.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/noise.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/numbers.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/on_failure.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/parallel.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/profiler.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/profiler.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/random.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/tensor.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/tensor.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/text.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/version.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/version.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/ernie/util/worker_pool.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/mkdocs.yml +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/pyproject.toml +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/app/orbit_camera_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/app/shell_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/app/view_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/app/viewer_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/common.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/consumer/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/consumer/first_render.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/consumer/main.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/device/acceleration_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/device/arena_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/device/bindless_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/device/column_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/device/columns.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/device/common.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/device/context_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/device/cuda_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/device/external_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/device/kernel_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/device/pose_step.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/device/profile_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/device/vulkan_devices_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/exr/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/exr/make_exr.py +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/exr/rgb_float_zip.exr +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/exr/rgba_half_window.exr +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/exr/y_half_zips.exr +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/ies/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/ies/downlight_quadrant.ies +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/ies/floodlight_type_b.ies +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/ies/lamp.tilt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/images/grey16.png +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/ktx2/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/ktx2/quadrants_etc1s.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/ktx2/quadrants_uastc_zstd.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/ktx2/tilted_normal_etc1s.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/ktx2/tilted_normal_uastc.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/scenes/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/scenes/invalid/problems.expected +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/scenes/invalid/problems.json +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/scenes/rover.json +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/scenes/rover.saved.json +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/tiff/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/tiff/float_deflate_predictor3.tif +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/tiff/float_raw.tif +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/tiff/int16_bigtiff_bigendian.tif +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/tiff/rgb_lzw_predictor2.tif +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/tiff/rgb_planar_lzw.tif +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/tiff/rgb_planar_raw.tif +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/tiff/rgb_tiled_deflate.tif +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/volumes/cube.nvdb +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/fixtures/volumes/make_nvdb.py +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/geometry/bounds_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/geometry/triangulation_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/graph/dependencies_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/graph/graph_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/io/ies_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/io/image_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/io/nanovdb_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/io/raster_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/io/texture_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/physics/astronomy_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/physics/atmosphere_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/physics/cloud_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/physics/reflectance_library_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/physics/regolith_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/physics/scattering_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/physics/solar_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/physics/spectrum_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/python/conftest.py +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/python/test_device_dlpack.py +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/python/test_package.py +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/python/test_scene.py +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/python/test_scene_schema.py +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/render/common.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/render/device_scene_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/render/geometry_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/render/ray_tracer_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/render/scene_columns_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/render/transform_graph_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/edit_history_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/extent_cache_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/inherit_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/instancer_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/json_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/lux_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/mesh_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/path_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/planet_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/reference_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/render_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/scene_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/schema_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/shade_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/storage_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/time_samples_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/vol_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/scene/xform_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/algorithm_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/bytes_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/disk_cache_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/file_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/hash_index_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/linear_algebra_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/log_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/math_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/noise_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/parallel_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/profiler_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/random_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/tensor_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/text_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/version_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/tests/util/worker_pool_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/LICENSES/Apache-2.0.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/LICENSES/BSD-3-clause.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/LICENSES/MIT.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/NOTICE +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_astc_cfgs.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_astc_hdr_core.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_astc_helpers.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_containers.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_containers_impl.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_dds_transcoder.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_etc1_mods.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_file_headers.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_idct.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_transcoder.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_transcoder.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_transcoder_internal.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_transcoder_tables_astc.inc +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_transcoder_tables_astc_0_255.inc +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_55.inc +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_56.inc +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_alpha.inc +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_color.inc +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_5.inc +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_6.inc +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_45.inc +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_alpha_33.inc +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_transcoder_uastc.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_xbc7_decoder.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/transcoder/basisu_xbc7_decoder.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/zstd/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/zstd/zstd.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/basisu/zstd/zstd_errors.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/bc7enc/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/bc7enc/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/bc7enc/bc7decomp.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/bc7enc/bc7decomp.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/bc7enc/bc7enc.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/bc7enc/bc7enc.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/bc7enc/rgbcx.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/bc7enc/rgbcx.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/bc7enc/rgbcx_table4.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/bc7enc/rgbcx_table4_small.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/dlpack/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/dlpack/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/dlpack/include/dlpack/dlpack.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/copying.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/common.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/_features.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/_fixes.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/_noise.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/_swizzle.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/_swizzle_func.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/_vectorize.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/compute_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/compute_vector_decl.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/compute_vector_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_common.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_common_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_exponential.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_exponential_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_geometric.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_geometric_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_integer_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_matrix.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_matrix_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_packing.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_packing_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_trigonometric.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_trigonometric_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_vector_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/func_vector_relational_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/qualifier.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/setup.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_float.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_half.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_half.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat2x2.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat2x3.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat2x4.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat3x2.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat3x3.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat3x4.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat4x2.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat4x3.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat4x4.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_mat4x4_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_quat.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_quat.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_quat_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_vec1.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_vec1.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_vec2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_vec2.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_vec3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_vec3.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_vec4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_vec4.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/detail/type_vec_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/exponential.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/_matrix_vectorize.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_clip_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_clip_space.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_common.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double2x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double2x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double2x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double3x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double3x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double3x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double4x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double4x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_double4x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float2x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float2x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float2x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float3x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float3x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float3x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float4x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float4x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_float4x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int2x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int2x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int2x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int3x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int3x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int3x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int4x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int4x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_int4x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_projection.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_projection.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_transform.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint2x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint2x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint2x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint3x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint3x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint3x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint4x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint4x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/matrix_uint4x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_common.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_common_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_double.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_double_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_exponential.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_exponential.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_float.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_float_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_geometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_geometric.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_transform.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_trigonometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/quaternion_trigonometric.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_common.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_constants.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_constants.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_int_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_packing.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_reciprocal.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_reciprocal.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_uint_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_ulp.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/scalar_ulp.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_bool1.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_bool1_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_bool2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_bool2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_bool3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_bool3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_bool4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_bool4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_common.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_double1.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_double1_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_double2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_double2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_double3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_double3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_double4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_double4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_float1.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_float1_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_float2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_float2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_float3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_float3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_float4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_float4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_int1.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_int1_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_int2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_int2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_int3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_int3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_int4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_int4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_packing.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_reciprocal.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_reciprocal.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_uint1.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_uint1_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_uint2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_uint2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_uint3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_uint3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_uint4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_uint4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_ulp.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext/vector_ulp.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/ext.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/fwd.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/geometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/glm.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/bitfield.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/bitfield.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/color_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/color_space.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/constants.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/constants.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/epsilon.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/epsilon.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/integer.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/matrix_access.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/matrix_access.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/matrix_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/matrix_inverse.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/matrix_inverse.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/matrix_transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/matrix_transform.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/noise.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/noise.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/packing.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/quaternion.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/quaternion.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/quaternion_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/random.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/random.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/reciprocal.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/round.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/round.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/type_aligned.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/type_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/type_precision.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/type_ptr.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/type_ptr.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/ulp.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/ulp.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtc/vec1.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/associated_min_max.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/associated_min_max.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/bit.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/bit.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/closest_point.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/closest_point.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/color_encoding.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/color_encoding.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/color_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/color_space.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/color_space_YCoCg.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/color_space_YCoCg.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/common.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/common.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/compatibility.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/compatibility.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/component_wise.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/component_wise.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/dual_quaternion.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/dual_quaternion.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/easing.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/easing.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/euler_angles.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/euler_angles.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/extend.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/extend.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/extended_min_max.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/extended_min_max.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/exterior_product.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/exterior_product.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/fast_exponential.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/fast_exponential.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/fast_square_root.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/fast_square_root.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/fast_trigonometry.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/fast_trigonometry.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/float_normalize.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/functions.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/functions.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/gradient_paint.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/gradient_paint.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/handed_coordinate_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/handed_coordinate_space.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/hash.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/hash.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/integer.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/intersect.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/intersect.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/io.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/io.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/iteration.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/iteration.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/log_base.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/log_base.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_cross_product.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_cross_product.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_decompose.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_decompose.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_factorisation.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_factorisation.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_interpolation.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_interpolation.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_major_storage.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_major_storage.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_operation.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_operation.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_query.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_query.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_transform_2d.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/matrix_transform_2d.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/mixed_product.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/mixed_product.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/norm.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/norm.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/normal.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/normal.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/normalize_dot.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/normalize_dot.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/number_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/optimum_pow.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/optimum_pow.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/orthonormalize.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/orthonormalize.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/pca.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/pca.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/perpendicular.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/perpendicular.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/polar_coordinates.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/polar_coordinates.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/projection.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/projection.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/quaternion.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/quaternion.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/range.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/raw_data.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/raw_data.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/rotate_normalized_axis.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/rotate_normalized_axis.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/rotate_vector.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/rotate_vector.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/scalar_multiplication.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/scalar_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/scalar_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/spline.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/spline.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/std_based_type.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/std_based_type.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/string_cast.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/string_cast.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/structured_bindings.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/structured_bindings.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/texture.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/texture.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/transform.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/transform2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/transform2.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/type_aligned.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/type_aligned.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/type_trait.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/type_trait.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/vec_swizzle.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/vector_angle.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/vector_angle.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/vector_query.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/vector_query.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/wrap.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/gtx/wrap.inl +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/mat2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/mat2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/mat2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/mat3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/mat3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/mat3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/mat4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/mat4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/mat4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/matrix.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/simd/common.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/simd/exponential.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/simd/geometric.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/simd/integer.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/simd/matrix.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/simd/neon.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/simd/packing.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/simd/platform.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/simd/trigonometric.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/simd/vector_relational.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/trigonometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/vec2.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/vec3.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/vec4.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/glm/glm/vector_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/json/LICENSE.MIT +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/json/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/json/include/nlohmann/json.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/json/include/nlohmann/json_fwd.hpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/nanovdb/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/nanovdb/PNanoVDB.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/stb/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/stb/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/stb/stb_image.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/stb/stb_image_write.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/stb.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vma/LICENSE.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vma/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vma/include/vk_mem_alloc.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vma.cpp +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/volk/LICENSE.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/volk/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/volk/volk.c +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/volk/volk.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/LICENSE.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/LICENSES/Apache-2.0.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/LICENSES/MIT.txt +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/README.md +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_encode.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_encode.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_encode.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vk_video/vulkan_video_codecs_common.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vk_icd.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vk_layer.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vk_platform.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_android.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_beta.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_core.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_directfb.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_fuchsia.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_ggp.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_ios.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_macos.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_metal.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_ohos.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_screen.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_ubm.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_vi.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_wayland.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_win32.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_xcb.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_xlib.h +0 -0
- {ernie_renderer-0.2.0.dev145 → ernie_renderer-0.2.0.dev148}/third_party/vulkan_headers/include/vulkan/vulkan_xlib_xrandr.h +0 -0
|
@@ -15,7 +15,7 @@ project(
|
|
|
15
15
|
)
|
|
16
16
|
|
|
17
17
|
# Pre-release suffix such as .dev12, written by CI.
|
|
18
|
-
set(ERNIE_VERSION_SUFFIX ".
|
|
18
|
+
set(ERNIE_VERSION_SUFFIX ".dev148" CACHE STRING "Pre-release suffix of Ernie's version")
|
|
19
19
|
set(ERNIE_VERSION "${PROJECT_VERSION}${ERNIE_VERSION_SUFFIX}")
|
|
20
20
|
|
|
21
21
|
option(ERNIE_BUILD_TESTS "Build Ernie's tests" OFF)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ernie-renderer
|
|
3
|
-
Version: 0.2.0.
|
|
3
|
+
Version: 0.2.0.dev148
|
|
4
4
|
Summary: Efficient Renderer for Natural and Interplanetary Environments: a physically based, spectral Vulkan ray tracer
|
|
5
5
|
Author: Alex Maietta
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -221,10 +221,11 @@ graph::Image Viewer::AddViewportPass(graph::Graph& graph) {
|
|
|
221
221
|
CameraOutputs outputs{.colour = viewport,
|
|
222
222
|
.colourIndex = viewportImage_,
|
|
223
223
|
.background = glm::vec3(shell_->GetTheme().viewport)};
|
|
224
|
+
const glm::uvec2 size(viewport_->Description().extent);
|
|
224
225
|
camera_->Add(graph,
|
|
225
226
|
{.cameraToWorld = orbit.Transform(),
|
|
226
|
-
.
|
|
227
|
-
.
|
|
227
|
+
.size = size,
|
|
228
|
+
.lens = MakePinhole(orbit.verticalFov, size)},
|
|
228
229
|
outputs);
|
|
229
230
|
return *outputs.colour;
|
|
230
231
|
}
|
|
@@ -82,11 +82,8 @@ struct Context {
|
|
|
82
82
|
context->WaitIdle();
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
throw nb::buffer_error(("No CUDA device pairs with " + context->Info().name).c_str());
|
|
88
|
-
}
|
|
89
|
-
return *cuda;
|
|
85
|
+
Interop Pair() {
|
|
86
|
+
return {context.get(), cuda.get()};
|
|
90
87
|
}
|
|
91
88
|
Arenas& Shared() const {
|
|
92
89
|
if (!shared) {
|
|
@@ -96,43 +93,55 @@ struct Context {
|
|
|
96
93
|
}
|
|
97
94
|
};
|
|
98
95
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
96
|
+
} // namespace
|
|
97
|
+
|
|
98
|
+
CudaInterop& Interop::Cuda() const {
|
|
99
|
+
if (cuda == nullptr) {
|
|
100
|
+
throw nb::buffer_error(("No CUDA device pairs with " + context->Info().name).c_str());
|
|
101
|
+
}
|
|
102
|
+
return *cuda;
|
|
103
|
+
}
|
|
106
104
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
: owner(context), column(std::move(device)), wrapped(std::move(tensor)) {}
|
|
105
|
+
Column::Column(Interop interop, std::unique_ptr<DeviceColumn> device, std::optional<Tensor> tensor)
|
|
106
|
+
: owner(interop), owned(std::move(device)), column(owned.get()), wrapped(std::move(tensor)) {}
|
|
110
107
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
108
|
+
Column::Column(Interop interop, const DeviceColumn& device, std::vector<std::int64_t> view,
|
|
109
|
+
Ticket ready)
|
|
110
|
+
: owner(interop), column(&device), shape(std::move(view)), written(ready) {}
|
|
111
|
+
|
|
112
|
+
std::vector<std::int64_t> Column::Shape() const {
|
|
113
|
+
return shape.empty() ? column->Shape() : shape;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
nb::object Column::Dlpack(const nb::object& stream, const nb::object& maxVersion) {
|
|
117
|
+
CudaInterop& cuda = owner.Cuda();
|
|
118
|
+
// -1 asks for no synchronization.
|
|
119
|
+
if (stream.is_none() || nb::cast<std::intptr_t>(stream) != -1) {
|
|
120
|
+
for (const Queue* queue : owner.context->Queues()) {
|
|
121
|
+
cuda.Wait(ToStream(stream), queue->Last());
|
|
118
122
|
}
|
|
119
|
-
const bool versioned =
|
|
120
|
-
!maxVersion.is_none() && nb::cast<std::tuple<int, int>>(maxVersion) >=
|
|
121
|
-
std::tuple<int, int>(DLPACK_MAJOR_VERSION, 0);
|
|
122
|
-
return Capsule((wrapped ? *wrapped : cuda.View(*column)).ToDlpack(), versioned);
|
|
123
123
|
}
|
|
124
|
+
const bool versioned =
|
|
125
|
+
!maxVersion.is_none() &&
|
|
126
|
+
nb::cast<std::tuple<int, int>>(maxVersion) >= std::tuple<int, int>(DLPACK_MAJOR_VERSION, 0);
|
|
127
|
+
const Tensor view = wrapped ? *wrapped : cuda.View(*column).Reshaped(Shape());
|
|
128
|
+
return Capsule(view.ToDlpack(), versioned);
|
|
129
|
+
}
|
|
124
130
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
131
|
+
void Column::Assign(const nb::object& source, const nb::object& stream) {
|
|
132
|
+
written = owner.Cuda().Assign(*column, TakeTensor(source, stream), ToStream(stream));
|
|
133
|
+
}
|
|
128
134
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
135
|
+
Tensor Column::Read() const {
|
|
136
|
+
Readback readback(*owner.context, owner.context->Main(), column->Storage(),
|
|
137
|
+
column->Range().offset, column->Bytes(), std::span(&written, 1));
|
|
138
|
+
Tensor tensor = Tensor::Zeros(column->Type(), Shape());
|
|
139
|
+
std::ranges::copy(readback.Bytes().first(column->Bytes()),
|
|
140
|
+
static_cast<std::byte*>(tensor.Data()));
|
|
141
|
+
return tensor;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
namespace {
|
|
136
145
|
|
|
137
146
|
/// @return The allocations `ernie_cuda_malloc` made, or none without a CUDA driver: PyTorch's
|
|
138
147
|
/// allocator hook is process-wide, so they are too.
|
|
@@ -175,7 +184,7 @@ void BindDevice(nb::module_& module) {
|
|
|
175
184
|
if (shape.empty() || shape.front() < 0) {
|
|
176
185
|
throw nb::value_error("A column's shape starts with its row count");
|
|
177
186
|
}
|
|
178
|
-
return new Column(self,
|
|
187
|
+
return new Column(self.Pair(),
|
|
179
188
|
std::make_unique<DeviceColumn>(
|
|
180
189
|
self.Shared(), name, ParseType(dtype),
|
|
181
190
|
std::vector<std::int64_t>(shape.begin() + 1, shape.end()),
|
|
@@ -187,7 +196,7 @@ void BindDevice(nb::module_& module) {
|
|
|
187
196
|
"wrap",
|
|
188
197
|
[](Context& self, const nb::object& tensor, const std::string& name,
|
|
189
198
|
const nb::object& stream) {
|
|
190
|
-
CudaInterop& cuda = self.Cuda();
|
|
199
|
+
CudaInterop& cuda = self.Pair().Cuda();
|
|
191
200
|
Tensor source = TakeTensor(tensor, stream);
|
|
192
201
|
std::unique_ptr<DeviceColumn> column = cuda.Wrap(source, name);
|
|
193
202
|
if (!column) {
|
|
@@ -195,7 +204,7 @@ void BindDevice(nb::module_& module) {
|
|
|
195
204
|
"The tensor's memory cannot be shared: allocate it with "
|
|
196
205
|
"ernie.cuda_allocator(), or copy it into a column with assign()");
|
|
197
206
|
}
|
|
198
|
-
auto* wrapped = new Column(self, std::move(column), std::move(source));
|
|
207
|
+
auto* wrapped = new Column(self.Pair(), std::move(column), std::move(source));
|
|
199
208
|
wrapped->written = cuda.Signal(ToStream(stream));
|
|
200
209
|
return wrapped;
|
|
201
210
|
},
|
|
@@ -206,7 +215,7 @@ void BindDevice(nb::module_& module) {
|
|
|
206
215
|
nb::class_<Column>(module, "DeviceColumn",
|
|
207
216
|
"Rows on the device that CUDA, PyTorch and Warp read and write in place.")
|
|
208
217
|
.def_prop_ro("name", [](const Column& self) { return self.column->Name(); })
|
|
209
|
-
.def_prop_ro("shape",
|
|
218
|
+
.def_prop_ro("shape", &Column::Shape)
|
|
210
219
|
.def_prop_ro("dtype", [](const Column& self) { return TypeName(self.column->Type()); })
|
|
211
220
|
.def(
|
|
212
221
|
"__dlpack__",
|
|
@@ -234,7 +243,9 @@ void BindDevice(nb::module_& module) {
|
|
|
234
243
|
.def("assign", &Column::Assign, nb::arg("tensor"), nb::arg("stream") = nb::none(),
|
|
235
244
|
"Takes a DLPack tensor's values: in place for this column's own view, else by one "
|
|
236
245
|
"copy on the device.")
|
|
237
|
-
.def(
|
|
246
|
+
.def(
|
|
247
|
+
"read", [](const Column& self) { return ToNumpy(self.Read()); },
|
|
248
|
+
"Copies the rows to the host as a NumPy array of its shape, after pending writes.");
|
|
238
249
|
}
|
|
239
250
|
|
|
240
251
|
} // namespace ernie::python
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
/// @file device.h
|
|
3
|
+
/// @brief Binding the device to Python: columns any DLPack library shares in place.
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include "ernie/device/column.h"
|
|
7
|
+
#include "ernie/device/cuda.h"
|
|
8
|
+
#include "ernie/device/queue.h"
|
|
9
|
+
#include "ernie/util/tensor.h"
|
|
10
|
+
|
|
11
|
+
#include <nanobind/nanobind.h>
|
|
12
|
+
|
|
13
|
+
#include <cstdint>
|
|
14
|
+
#include <memory>
|
|
15
|
+
#include <optional>
|
|
16
|
+
#include <vector>
|
|
17
|
+
|
|
18
|
+
namespace ernie::python {
|
|
19
|
+
|
|
20
|
+
/// @brief A device and the CUDA device paired with it, if any.
|
|
21
|
+
struct Interop {
|
|
22
|
+
DeviceContext* context = nullptr;
|
|
23
|
+
CudaInterop* cuda = nullptr;
|
|
24
|
+
|
|
25
|
+
/// @throws nanobind::buffer_error without a paired CUDA device.
|
|
26
|
+
CudaInterop& Cuda() const;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/// @brief A column Python shares through DLPack, and the ticket of the writes, CUDA's or a
|
|
30
|
+
/// render's, Ernie or a reader has yet to wait for.
|
|
31
|
+
struct Column {
|
|
32
|
+
Interop owner;
|
|
33
|
+
/// The column, owned by this or by a renderer.
|
|
34
|
+
std::unique_ptr<DeviceColumn> owned;
|
|
35
|
+
const DeviceColumn* column = nullptr;
|
|
36
|
+
/// The tensor a wrapped column shares, which `__dlpack__` hands back as it is.
|
|
37
|
+
std::optional<Tensor> wrapped;
|
|
38
|
+
/// The shape it shows; empty for the column's own.
|
|
39
|
+
std::vector<std::int64_t> shape;
|
|
40
|
+
Ticket written;
|
|
41
|
+
/// What keeps a column another object owns alive.
|
|
42
|
+
nanobind::object keeper;
|
|
43
|
+
|
|
44
|
+
Column(Interop interop, std::unique_ptr<DeviceColumn> device,
|
|
45
|
+
std::optional<Tensor> tensor = std::nullopt);
|
|
46
|
+
/// @brief A view of a column another object owns, shown as `view`.
|
|
47
|
+
Column(Interop interop, const DeviceColumn& device, std::vector<std::int64_t> view,
|
|
48
|
+
Ticket ready);
|
|
49
|
+
|
|
50
|
+
std::vector<std::int64_t> Shape() const;
|
|
51
|
+
nanobind::object Dlpack(const nanobind::object& stream, const nanobind::object& maxVersion);
|
|
52
|
+
void Assign(const nanobind::object& source, const nanobind::object& stream);
|
|
53
|
+
/// @return The rows copied to the host after the pending writes.
|
|
54
|
+
Tensor Read() const;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
/// @brief Adds `DeviceContext` and `DeviceColumn` to the module.
|
|
58
|
+
void BindDevice(nanobind::module_& module);
|
|
59
|
+
|
|
60
|
+
} // namespace ernie::python
|
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
/// @brief DLPack capsules, versioned and not, per the DLPack Python specification.
|
|
4
4
|
#include "ernie/python/dlpack.h"
|
|
5
5
|
|
|
6
|
+
#include <nanobind/ndarray.h>
|
|
6
7
|
#include <nanobind/stl/tuple.h>
|
|
7
8
|
|
|
8
9
|
#include <Python.h>
|
|
9
10
|
|
|
10
11
|
#include <cstdint>
|
|
11
12
|
#include <tuple>
|
|
13
|
+
#include <vector>
|
|
12
14
|
|
|
13
15
|
namespace nb = nanobind;
|
|
14
16
|
|
|
@@ -95,4 +97,16 @@ Tensor TakeTensor(const nb::object& source, const nb::object& given) {
|
|
|
95
97
|
return FromCapsule(capsule);
|
|
96
98
|
}
|
|
97
99
|
|
|
100
|
+
nb::object ToNumpy(Tensor tensor) {
|
|
101
|
+
DLManagedTensorVersioned* managed = tensor.ToDlpack();
|
|
102
|
+
const DLDataType type = managed->dl_tensor.dtype;
|
|
103
|
+
managed->deleter(managed);
|
|
104
|
+
auto* owned = new Tensor(tensor.Contiguous());
|
|
105
|
+
const nb::capsule owner(owned, [](void* held) noexcept { delete static_cast<Tensor*>(held); });
|
|
106
|
+
std::vector<std::size_t> shape(owned->Shape().begin(), owned->Shape().end());
|
|
107
|
+
return nb::cast(nb::ndarray<nb::numpy>(owned->Data(), shape.size(), shape.data(), owner,
|
|
108
|
+
nullptr,
|
|
109
|
+
nb::dlpack::dtype{type.code, type.bits, type.lanes}));
|
|
110
|
+
}
|
|
111
|
+
|
|
98
112
|
} // namespace ernie::python
|
|
@@ -22,4 +22,7 @@ nanobind::object Capsule(DLManagedTensorVersioned* managed, bool versioned);
|
|
|
22
22
|
/// @return The tensor, sharing the producer's memory.
|
|
23
23
|
Tensor TakeTensor(const nanobind::object& source, const nanobind::object& stream);
|
|
24
24
|
|
|
25
|
+
/// @return A host tensor as a NumPy array that owns it.
|
|
26
|
+
nanobind::object ToNumpy(Tensor tensor);
|
|
27
|
+
|
|
25
28
|
} // namespace ernie::python
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
/// @file render.cpp
|
|
3
|
+
/// @brief Python bindings of the renderer: a scene's products rendered to NumPy images, or stepped
|
|
4
|
+
/// into device columns PyTorch and Warp read in place.
|
|
5
|
+
#include "ernie/python/render.h"
|
|
6
|
+
|
|
7
|
+
#include "ernie/device/context.h"
|
|
8
|
+
#include "ernie/python/device.h"
|
|
9
|
+
#include "ernie/python/dlpack.h"
|
|
10
|
+
#include "ernie/render/renderer.h"
|
|
11
|
+
|
|
12
|
+
#include <nanobind/stl/string.h>
|
|
13
|
+
#include <nanobind/stl/tuple.h>
|
|
14
|
+
#include <nanobind/stl/vector.h>
|
|
15
|
+
|
|
16
|
+
#include <algorithm>
|
|
17
|
+
#include <memory>
|
|
18
|
+
#include <string>
|
|
19
|
+
#include <utility>
|
|
20
|
+
#include <vector>
|
|
21
|
+
|
|
22
|
+
namespace nb = nanobind;
|
|
23
|
+
|
|
24
|
+
namespace ernie::python {
|
|
25
|
+
namespace {
|
|
26
|
+
|
|
27
|
+
/// A renderer and the CUDA device paired with its device. Members go in reverse: CUDA first.
|
|
28
|
+
struct PythonRenderer {
|
|
29
|
+
Renderer renderer;
|
|
30
|
+
std::unique_ptr<CudaInterop> cuda;
|
|
31
|
+
|
|
32
|
+
explicit PythonRenderer(const RendererOptions& options)
|
|
33
|
+
: renderer(options), cuda(CudaInterop::Create(renderer.Context())) {}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/// A batch of a step: its products and each var's columns, valid until the next step.
|
|
37
|
+
struct PythonBatch {
|
|
38
|
+
std::vector<std::string> products;
|
|
39
|
+
std::tuple<std::uint32_t, std::uint32_t> size;
|
|
40
|
+
std::vector<std::pair<std::string, nb::object>> vars;
|
|
41
|
+
|
|
42
|
+
nb::object Get(const std::string& name) const {
|
|
43
|
+
for (const auto& [var, column] : vars) {
|
|
44
|
+
if (var == name) {
|
|
45
|
+
return column;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
throw nb::key_error(("The batch holds no '" + name + "'").c_str());
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
std::vector<PythonBatch> Step(PythonRenderer& self, const nb::object& owner, Scene& scene) {
|
|
53
|
+
const std::span<const RenderBatch> batches = self.renderer.Step(scene);
|
|
54
|
+
const Interop interop{&self.renderer.Context(), self.cuda.get()};
|
|
55
|
+
const Ticket ready = self.renderer.Context().Main().Last();
|
|
56
|
+
std::vector<PythonBatch> result;
|
|
57
|
+
for (const RenderBatch& batch : batches) {
|
|
58
|
+
PythonBatch& next = result.emplace_back();
|
|
59
|
+
next.size = {batch.size.x, batch.size.y};
|
|
60
|
+
for (const Path& product : batch.products) {
|
|
61
|
+
next.products.push_back(product.String());
|
|
62
|
+
}
|
|
63
|
+
for (const RenderVarOutput& var : batch.vars) {
|
|
64
|
+
auto* column = new Column(interop, *var.column, var.shape, ready);
|
|
65
|
+
column->keeper = owner;
|
|
66
|
+
next.vars.emplace_back(var.name, nb::cast(column, nb::rv_policy::take_ownership));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
} // namespace
|
|
73
|
+
|
|
74
|
+
void BindRender(nb::module_& module) {
|
|
75
|
+
nb::class_<PythonBatch>(module, "RenderBatch",
|
|
76
|
+
"Products of one size and vars rendered in one dispatch: each var a "
|
|
77
|
+
"DeviceColumn of shape (views, height, width, channels...), a view a "
|
|
78
|
+
"product, valid until the renderer's next step.")
|
|
79
|
+
.def_ro("products", &PythonBatch::products)
|
|
80
|
+
.def_ro("size", &PythonBatch::size, "(width, height) in pixels.")
|
|
81
|
+
.def("__getitem__", &PythonBatch::Get, nb::arg("name"))
|
|
82
|
+
.def("__contains__",
|
|
83
|
+
[](const PythonBatch& self, const std::string& name) {
|
|
84
|
+
return std::ranges::any_of(self.vars,
|
|
85
|
+
[&](const auto& var) { return var.first == name; });
|
|
86
|
+
})
|
|
87
|
+
.def("keys", [](const PythonBatch& self) {
|
|
88
|
+
std::vector<std::string> names;
|
|
89
|
+
for (const auto& var : self.vars) {
|
|
90
|
+
names.push_back(var.first);
|
|
91
|
+
}
|
|
92
|
+
return names;
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
nb::class_<PythonRenderer>(module, "Renderer",
|
|
96
|
+
"A device and what it keeps of the scene it last rendered, so "
|
|
97
|
+
"rendering the same scene again costs only what changed.")
|
|
98
|
+
.def(
|
|
99
|
+
"__init__",
|
|
100
|
+
[](PythonRenderer* self, const std::string& device, bool validation) {
|
|
101
|
+
new (self)
|
|
102
|
+
PythonRenderer(RendererOptions{.device = device, .validation = validation});
|
|
103
|
+
},
|
|
104
|
+
nb::kw_only(), nb::arg("device") = "", nb::arg("validation") = false,
|
|
105
|
+
"Opens a device that ray traces: by UUID or part of its name, or the best one.")
|
|
106
|
+
.def(
|
|
107
|
+
"render",
|
|
108
|
+
[](PythonRenderer& self, Scene& scene) { return ToNumpy(self.renderer.Render(scene)); },
|
|
109
|
+
nb::arg("scene"),
|
|
110
|
+
"Renders the scene's first product: LdrColor as a (height, width, 4) uint8 NumPy "
|
|
111
|
+
"array.")
|
|
112
|
+
.def(
|
|
113
|
+
"step",
|
|
114
|
+
[](nb::object self, Scene& scene) {
|
|
115
|
+
return Step(nb::cast<PythonRenderer&>(self), self, scene);
|
|
116
|
+
},
|
|
117
|
+
nb::arg("scene"),
|
|
118
|
+
"Renders every product of the scene's first RenderSettings, products alike in size "
|
|
119
|
+
"and vars in one dispatch, and returns the RenderBatches without waiting: their vars "
|
|
120
|
+
"are device columns that torch.from_dlpack views in place, or read() copies.");
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
} // namespace ernie::python
|
|
@@ -120,15 +120,16 @@ glm::dmat4 ShapeTransform(const Scene& scene, PrimId prim, GeometryKind kind) {
|
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
/// What a changed attribute does to a gprim: reshapes it, moves a mesh's points, remakes its
|
|
123
|
-
/// topology, or
|
|
123
|
+
/// topology, recolours it, or moves it to another world.
|
|
124
124
|
struct Touched {
|
|
125
125
|
bool shape = false;
|
|
126
126
|
bool points = false;
|
|
127
127
|
bool topology = false;
|
|
128
128
|
bool colour = false;
|
|
129
|
+
bool world = false;
|
|
129
130
|
|
|
130
131
|
bool Any() const {
|
|
131
|
-
return shape || points || topology || colour;
|
|
132
|
+
return shape || points || topology || colour || world;
|
|
132
133
|
}
|
|
133
134
|
};
|
|
134
135
|
|
|
@@ -136,6 +137,10 @@ Touched ClassifyAttribute(std::string_view attribute) {
|
|
|
136
137
|
if (attribute == Gprim::kDisplayColor) {
|
|
137
138
|
return {.colour = true};
|
|
138
139
|
}
|
|
140
|
+
// Inherited: an ancestor's change reaches the gprim as its resolved value's.
|
|
141
|
+
if (attribute == ResolvedName(Imageable::kWorld)) {
|
|
142
|
+
return {.world = true};
|
|
143
|
+
}
|
|
139
144
|
if (attribute == Mesh::kPoints) {
|
|
140
145
|
return {.points = true};
|
|
141
146
|
}
|
|
@@ -302,12 +307,13 @@ void GeometryPool::Place(PrimId prim, bool points, bool topology, Changes& chang
|
|
|
302
307
|
}
|
|
303
308
|
next.shape = ShapeTransform(scene_, prim, *kind);
|
|
304
309
|
next.colour = DisplayColour(scene_, prim);
|
|
310
|
+
next.world = ReadWorld(scene_, prim);
|
|
305
311
|
if (!draws(next.geometry)) {
|
|
306
312
|
if (drew) {
|
|
307
313
|
changes.removed.push_back(prim);
|
|
308
314
|
}
|
|
309
315
|
} else if (!drew || placed->geometry != next.geometry || placed->shape != next.shape ||
|
|
310
|
-
placed->colour != next.colour) {
|
|
316
|
+
placed->colour != next.colour || placed->world != next.world) {
|
|
311
317
|
changes.placed.push_back(next);
|
|
312
318
|
}
|
|
313
319
|
placed = next;
|
|
@@ -61,6 +61,8 @@ struct PrimGeometry {
|
|
|
61
61
|
glm::dmat4 shape{1.0};
|
|
62
62
|
/// Its albedo in linear RGB, from `primvars:displayColor`, until materials bind one.
|
|
63
63
|
glm::vec3 colour{0.5f};
|
|
64
|
+
/// The batch world it is in, from its resolved `ernie:world`; -1 for every world.
|
|
65
|
+
std::int32_t world = -1;
|
|
64
66
|
};
|
|
65
67
|
|
|
66
68
|
/// @brief The scene's gprims as device geometry. Implicit shapes share one unit geometry a kind
|
|
@@ -24,6 +24,7 @@ InstanceTable::InstanceTable(DeviceContext& context, Arenas& arenas)
|
|
|
24
24
|
geometries_ = column("instance geometries", DType::UInt32, {});
|
|
25
25
|
shapes_ = column("instance shapes", DType::Float32, {3, 4});
|
|
26
26
|
colours_ = column("instance colours", DType::Float32, {3});
|
|
27
|
+
sources_ = column("top-level sources", DType::UInt32, {});
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
std::optional<std::uint32_t> InstanceTable::Row(PrimId prim) const {
|
|
@@ -40,6 +41,8 @@ void InstanceTable::Set(std::uint32_t row, const PrimGeometry& placed) {
|
|
|
40
41
|
hostGeometries_[row] = placed.geometry;
|
|
41
42
|
hostShapes_[row] = ToAffineRows(placed.shape);
|
|
42
43
|
hostColours_[row] = placed.colour;
|
|
44
|
+
relayout_ = relayout_ || hostWorlds_[row] != placed.world;
|
|
45
|
+
hostWorlds_[row] = placed.world;
|
|
43
46
|
rows_[placed.prim.slot] = row;
|
|
44
47
|
dirty_.push_back(row);
|
|
45
48
|
}
|
|
@@ -58,6 +61,34 @@ void InstanceTable::Remove(PrimId prim) {
|
|
|
58
61
|
}
|
|
59
62
|
rows_[prim.slot] = kNoRow;
|
|
60
63
|
ForEachHostColumn([](auto& column) { column.pop_back(); });
|
|
64
|
+
relayout_ = true;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
void InstanceTable::LayOutWorlds() {
|
|
68
|
+
std::int32_t highest = 0;
|
|
69
|
+
std::vector<std::uint32_t> shared;
|
|
70
|
+
for (std::uint32_t row = 0; row < hostWorlds_.size(); ++row) {
|
|
71
|
+
highest = std::max(highest, hostWorlds_[row]);
|
|
72
|
+
if (hostWorlds_[row] < 0) {
|
|
73
|
+
shared.push_back(row);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const std::size_t count =
|
|
77
|
+
std::max<std::size_t>(static_cast<std::size_t>(highest) + 1, reserved_);
|
|
78
|
+
std::vector<std::vector<std::uint32_t>> own(count);
|
|
79
|
+
for (std::uint32_t row = 0; row < hostWorlds_.size(); ++row) {
|
|
80
|
+
if (hostWorlds_[row] >= 0) {
|
|
81
|
+
own[static_cast<std::size_t>(hostWorlds_[row])].push_back(row);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
worlds_.assign(count, {});
|
|
85
|
+
hostSources_.clear();
|
|
86
|
+
for (std::size_t world = 0; world < count; ++world) {
|
|
87
|
+
worlds_[world] = {.first = static_cast<std::uint32_t>(hostSources_.size()),
|
|
88
|
+
.count = static_cast<std::uint32_t>(shared.size() + own[world].size())};
|
|
89
|
+
hostSources_.insert(hostSources_.end(), shared.begin(), shared.end());
|
|
90
|
+
hostSources_.insert(hostSources_.end(), own[world].begin(), own[world].end());
|
|
91
|
+
}
|
|
61
92
|
}
|
|
62
93
|
|
|
63
94
|
void InstanceTable::Apply(const GeometryPool::Changes& changes) {
|
|
@@ -75,6 +106,7 @@ void InstanceTable::Apply(const GeometryPool::Changes& changes) {
|
|
|
75
106
|
continue;
|
|
76
107
|
}
|
|
77
108
|
ForEachHostColumn([](auto& column) { column.emplace_back(); });
|
|
109
|
+
relayout_ = true;
|
|
78
110
|
Set(static_cast<std::uint32_t>(prims_.size() - 1), placed);
|
|
79
111
|
}
|
|
80
112
|
}
|
|
@@ -89,8 +121,15 @@ void InstanceTable::AddUploads(graph::Graph& graph) {
|
|
|
89
121
|
StageRows(uploader_, *shapes_, hostShapes_, dirty_);
|
|
90
122
|
StageRows(uploader_, *colours_, hostColours_, dirty_);
|
|
91
123
|
dirty_.clear();
|
|
124
|
+
if (relayout_) {
|
|
125
|
+
LayOutWorlds();
|
|
126
|
+
sources_->Resize(hostSources_.size(), context_.Main());
|
|
127
|
+
uploader_.Write(sources_->Storage(), sources_->Range().offset,
|
|
128
|
+
std::span<const std::uint32_t>(hostSources_));
|
|
129
|
+
relayout_ = false;
|
|
130
|
+
}
|
|
92
131
|
std::array columns{graph.Import(*nodes_), graph.Import(*geometries_), graph.Import(*shapes_),
|
|
93
|
-
graph.Import(*colours_)};
|
|
132
|
+
graph.Import(*colours_), graph.Import(*sources_)};
|
|
94
133
|
graph::AddUploadPass(graph, "Upload instances", uploader_, columns);
|
|
95
134
|
}
|
|
96
135
|
|
|
@@ -10,10 +10,12 @@
|
|
|
10
10
|
#include "ernie/render/geometry.h"
|
|
11
11
|
#include "ernie/util/glm.h"
|
|
12
12
|
|
|
13
|
+
#include <algorithm>
|
|
13
14
|
#include <array>
|
|
14
15
|
#include <cstdint>
|
|
15
16
|
#include <memory>
|
|
16
17
|
#include <optional>
|
|
18
|
+
#include <span>
|
|
17
19
|
#include <vector>
|
|
18
20
|
|
|
19
21
|
namespace ernie {
|
|
@@ -22,9 +24,18 @@ namespace ernie {
|
|
|
22
24
|
/// geometry, `Shapes` the 3x4 row-major transform from that geometry to the prim, and `Colours` its
|
|
23
25
|
/// linear RGB albedo. Rows are kept dense by swap-removal, so a row is no stable id; a prim's row
|
|
24
26
|
/// is found with `Row`.
|
|
27
|
+
///
|
|
28
|
+
/// Each row is in a batch world, or in every world. The top levels' records, a world after
|
|
29
|
+
/// another, are laid out by `Sources`: each world's records are the shared rows, then its own.
|
|
30
|
+
/// The layout changes only as rows come, go or change world.
|
|
25
31
|
class InstanceTable {
|
|
26
32
|
public:
|
|
27
33
|
using Shape = std::array<glm::vec4, 3>;
|
|
34
|
+
/// A world's records: the first, and how many.
|
|
35
|
+
struct WorldRecords {
|
|
36
|
+
std::uint32_t first = 0;
|
|
37
|
+
std::uint32_t count = 0;
|
|
38
|
+
};
|
|
28
39
|
|
|
29
40
|
/// @param arenas Where the columns live.
|
|
30
41
|
InstanceTable(DeviceContext& context, Arenas& arenas);
|
|
@@ -53,8 +64,28 @@ class InstanceTable {
|
|
|
53
64
|
const DeviceColumn& Colours() const {
|
|
54
65
|
return *colours_;
|
|
55
66
|
}
|
|
67
|
+
/// @brief Keeps at least `count` worlds, for views of worlds with no prims of their own.
|
|
68
|
+
void ReserveWorlds(std::uint32_t count) {
|
|
69
|
+
relayout_ = relayout_ || count > reserved_;
|
|
70
|
+
reserved_ = std::max(reserved_, count);
|
|
71
|
+
}
|
|
72
|
+
/// @return Each world's records: as many worlds as the highest world authored plus one, or as
|
|
73
|
+
/// reserved, and at least one.
|
|
74
|
+
std::span<const WorldRecords> Worlds() const {
|
|
75
|
+
return worlds_;
|
|
76
|
+
}
|
|
77
|
+
/// @return Each top-level record's instance row, a uint32 a record, world after world.
|
|
78
|
+
const DeviceColumn& Sources() const {
|
|
79
|
+
return *sources_;
|
|
80
|
+
}
|
|
81
|
+
/// @return The records of every world.
|
|
82
|
+
std::uint32_t Records() const {
|
|
83
|
+
return static_cast<std::uint32_t>(hostSources_.size());
|
|
84
|
+
}
|
|
56
85
|
|
|
57
86
|
private:
|
|
87
|
+
/// Lays the records out again, world by world.
|
|
88
|
+
void LayOutWorlds();
|
|
58
89
|
void Set(std::uint32_t row, const PrimGeometry& placed);
|
|
59
90
|
void Remove(PrimId prim);
|
|
60
91
|
/// Calls `f` with each host array kept a row an instance, so they grow and shrink together.
|
|
@@ -64,6 +95,7 @@ class InstanceTable {
|
|
|
64
95
|
f(hostGeometries_);
|
|
65
96
|
f(hostShapes_);
|
|
66
97
|
f(hostColours_);
|
|
98
|
+
f(hostWorlds_);
|
|
67
99
|
}
|
|
68
100
|
|
|
69
101
|
DeviceContext& context_;
|
|
@@ -74,9 +106,16 @@ class InstanceTable {
|
|
|
74
106
|
std::vector<std::uint32_t> hostGeometries_;
|
|
75
107
|
std::vector<Shape> hostShapes_;
|
|
76
108
|
std::vector<glm::vec3> hostColours_;
|
|
109
|
+
std::vector<std::int32_t> hostWorlds_;
|
|
77
110
|
/// Each prim's row by its id's slot.
|
|
78
111
|
std::vector<std::uint32_t> rows_;
|
|
79
112
|
std::vector<std::uint32_t> dirty_;
|
|
113
|
+
/// Whether rows came, went, moved or changed world since the layout.
|
|
114
|
+
bool relayout_ = false;
|
|
115
|
+
std::uint32_t reserved_ = 1;
|
|
116
|
+
std::vector<WorldRecords> worlds_{1};
|
|
117
|
+
std::vector<std::uint32_t> hostSources_;
|
|
118
|
+
std::unique_ptr<DeviceColumn> sources_;
|
|
80
119
|
std::unique_ptr<DeviceColumn> nodes_;
|
|
81
120
|
std::unique_ptr<DeviceColumn> geometries_;
|
|
82
121
|
std::unique_ptr<DeviceColumn> shapes_;
|