ernie-renderer 0.2.0.dev150__tar.gz → 0.2.0.dev151__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.dev150 → ernie_renderer-0.2.0.dev151}/CMakeLists.txt +1 -1
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/PKG-INFO +1 -1
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/benchmarks/render/batch_step.cpp +20 -12
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/python/render.cpp +17 -10
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/device_scene.cpp +2 -2
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/device_scene.h +2 -1
- ernie_renderer-0.2.0.dev151/ernie/render/instances.cpp +224 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/instances.h +47 -4
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/renderer.cpp +23 -4
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/renderer.h +23 -8
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/rt/top_levels.cpp +9 -4
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/rt/top_levels.h +4 -2
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/shaders/CMakeLists.txt +1 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/shaders/rt/write_instances.slang +10 -0
- ernie_renderer-0.2.0.dev151/ernie/shaders/scene/instance_colours.slang +47 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/python/test_device_torch.py +1 -1
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/render/renderer_test.cpp +94 -3
- ernie_renderer-0.2.0.dev150/ernie/render/instances.cpp +0 -136
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/.clang-format +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/.clang-tidy +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/.dockerignore +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/.gersemirc +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/.gitattributes +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/.github/scripts/coverage_badge.py +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/.github/scripts/install-lavapipe-windows.sh +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/.github/workflows/ci.yml +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/.gitignore +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/.pre-commit-config.yaml +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/CMakePresets.json +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/Dockerfile +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/benchmarks/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/benchmarks/bench.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/benchmarks/device/pose_step.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/benchmarks/main.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/benchmarks/render/transform_graph.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/benchmarks/scene/extents.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/benchmarks/scene/storage.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/cmake/EmbedShader.cmake +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/cmake/ErnieConfig.cmake.in +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/cmake/ErnieFetch.cmake +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/cmake/ErnieInstall.cmake +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/cmake/ErniePackaging.cmake +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/cmake/ErnieShaders.cmake +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/cmake/ErnieTesting.cmake +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/cmake/ernie.pc.in +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/cmake/third_party/dear_imgui.cmake +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/cmake/third_party/glfw.cmake +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/cmake/third_party/googletest.cmake +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/cmake/third_party/nanobind.cmake +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/cmake/third_party/openexr.cmake +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/cmake/third_party/slang.cmake +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/cmake/third_party/tracy.cmake +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/docs/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/docs/index.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/docs/requirements.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/app/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/app/imgui_backend.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/app/imgui_backend.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/app/main.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/app/ui.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/app/ui.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/app/viewer.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/app/viewer.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/acceleration.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/acceleration.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/arena.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/arena.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/bindless.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/bindless.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/buffer.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/buffer.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/column.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/column.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/commands.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/commands.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/context.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/context.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/cuda.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/cuda.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/device.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/external.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/external.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/image.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/image.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/instance.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/instance.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/kernel.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/kernel.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/profile.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/profile.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/queue.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/queue.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/shader_compiler.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/shader_compiler.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/staging.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/staging.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/vulkan.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/device/vulkan.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/geometry/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/geometry/bounds.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/geometry/triangulation.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/geometry/triangulation.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/graph/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/graph/blackboard.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/graph/dependencies.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/graph/dependencies.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/graph/graph.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/graph/graph.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/graph/pool.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/graph/pool.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/io/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/io/ies.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/io/ies.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/io/image.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/io/image.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/io/nanovdb.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/io/nanovdb.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/io/raster.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/io/raster.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/io/texture.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/io/texture.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/astronomy.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/astronomy.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/atmosphere.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/atmosphere.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/cloud.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/cloud.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/constants.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/reflectance_library.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/reflectance_library.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/reflectance_table.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/regolith.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/regolith.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/scattering.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/scattering.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/solar.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/solar.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/solar_table.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/spectrum.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/physics/spectrum.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/python/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/python/device.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/python/device.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/python/dlpack.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/python/dlpack.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/python/ernie/__init__.py +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/python/module.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/python/render.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/python/scene.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/python/scene.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/geometry.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/geometry.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/prim_rows.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/prim_rows.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/products.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/products.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/rt/bottom_levels.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/rt/bottom_levels.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/rt/camera_pass.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/rt/camera_pass.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/rt/ray_tracer.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/rt/ray_tracer.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/scene_columns.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/scene_columns.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/transform_graph.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/render/transform_graph.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/animation.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/convert.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/edit_history.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/edit_history.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/extent_cache.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/extent_cache.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/holder_index.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/holder_index.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/inherit.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/json.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/json.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/json_value.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/path.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/path.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/reference.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/reference.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/scene.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/scene.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/camera.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/camera.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/collection.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/geom.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/geom.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/instancer.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/instancer.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/lux.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/lux.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/mesh.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/mesh.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/planet.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/planet.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/registry.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/render.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/render.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/shade.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/shade.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/vol.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema/vol.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/schema.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/storage.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/storage.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/time_samples.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/time_samples.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/tokens.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/usd_plugin.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/validate.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/value.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/view.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/view.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/xform.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/scene/xform.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/shaders/device/bindless.slang +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/shaders/device/buffer_ref.slang +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/shaders/math/affine.slang +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/shaders/math/double_float.slang +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/shaders/rt/ray_tracer.slang +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/shaders/scene/geometry.slang +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/shaders/scene/shapes.slang +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/shaders/scene/transform.slang +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/shaders/sensors/camera.slang +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/shaders/sensors/lens.slang +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/shaders/shared.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/shaders/spectral/spectrum.slang +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/algorithm.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/bytes.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/disk_cache.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/disk_cache.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/file.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/file.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/glm.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/hash_index.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/library.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/library.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/linear_algebra.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/log.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/log.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/math.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/noise.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/noise.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/numbers.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/on_failure.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/parallel.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/profiler.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/profiler.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/random.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/tensor.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/tensor.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/text.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/version.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/version.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/ernie/util/worker_pool.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/mkdocs.yml +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/pyproject.toml +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/app/orbit_camera_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/app/shell_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/app/view_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/app/viewer_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/common.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/consumer/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/consumer/first_render.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/consumer/main.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/device/acceleration_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/device/arena_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/device/bindless_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/device/column_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/device/columns.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/device/common.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/device/context_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/device/cuda_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/device/external_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/device/kernel_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/device/pose_step.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/device/profile_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/device/vulkan_devices_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/exr/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/exr/make_exr.py +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/exr/rgb_float_zip.exr +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/exr/rgba_half_window.exr +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/exr/y_half_zips.exr +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/ies/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/ies/downlight_quadrant.ies +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/ies/floodlight_type_b.ies +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/ies/lamp.tilt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/images/grey16.png +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/ktx2/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/ktx2/quadrants_etc1s.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/ktx2/quadrants_uastc_zstd.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/ktx2/tilted_normal_etc1s.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/ktx2/tilted_normal_uastc.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/scenes/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/scenes/invalid/problems.expected +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/scenes/invalid/problems.json +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/scenes/rover.json +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/scenes/rover.saved.json +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/tiff/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/tiff/float_deflate_predictor3.tif +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/tiff/float_raw.tif +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/tiff/int16_bigtiff_bigendian.tif +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/tiff/rgb_lzw_predictor2.tif +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/tiff/rgb_planar_lzw.tif +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/tiff/rgb_planar_raw.tif +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/tiff/rgb_tiled_deflate.tif +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/volumes/cube.nvdb +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/fixtures/volumes/make_nvdb.py +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/geometry/bounds_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/geometry/triangulation_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/graph/dependencies_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/graph/graph_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/io/ies_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/io/image_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/io/nanovdb_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/io/raster_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/io/texture_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/physics/astronomy_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/physics/atmosphere_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/physics/cloud_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/physics/reflectance_library_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/physics/regolith_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/physics/scattering_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/physics/solar_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/physics/spectrum_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/python/conftest.py +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/python/test_device_dlpack.py +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/python/test_package.py +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/python/test_render.py +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/python/test_scene.py +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/python/test_scene_schema.py +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/render/acceleration_scene_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/render/camera_pass_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/render/common.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/render/device_scene_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/render/geometry_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/render/gradients_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/render/ray_tracer_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/render/scene_columns_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/render/shaders_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/render/transform_graph_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/edit_history_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/extent_cache_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/inherit_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/instancer_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/json_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/lux_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/mesh_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/path_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/planet_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/reference_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/render_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/scene_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/schema_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/shade_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/storage_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/time_samples_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/vol_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/scene/xform_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/algorithm_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/bytes_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/disk_cache_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/file_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/hash_index_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/linear_algebra_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/log_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/math_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/noise_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/parallel_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/profiler_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/random_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/tensor_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/text_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/version_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/tests/util/worker_pool_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/LICENSES/Apache-2.0.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/LICENSES/BSD-3-clause.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/LICENSES/MIT.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/NOTICE +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_astc_cfgs.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_astc_hdr_core.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_astc_helpers.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_containers.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_containers_impl.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_dds_transcoder.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_etc1_mods.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_file_headers.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_idct.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_transcoder.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_transcoder.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_transcoder_internal.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_transcoder_tables_astc.inc +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_transcoder_tables_astc_0_255.inc +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_55.inc +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_56.inc +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_alpha.inc +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_color.inc +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_5.inc +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_6.inc +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_45.inc +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_alpha_33.inc +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_transcoder_uastc.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_xbc7_decoder.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/transcoder/basisu_xbc7_decoder.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/zstd/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/zstd/zstd.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/basisu/zstd/zstd_errors.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/bc7enc/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/bc7enc/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/bc7enc/bc7decomp.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/bc7enc/bc7decomp.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/bc7enc/bc7enc.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/bc7enc/bc7enc.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/bc7enc/rgbcx.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/bc7enc/rgbcx.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/bc7enc/rgbcx_table4.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/bc7enc/rgbcx_table4_small.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/dlpack/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/dlpack/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/dlpack/include/dlpack/dlpack.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/copying.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/common.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/_features.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/_fixes.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/_noise.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/_swizzle.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/_swizzle_func.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/_vectorize.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/compute_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/compute_vector_decl.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/compute_vector_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_common.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_common_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_exponential.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_exponential_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_geometric.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_geometric_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_integer_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_matrix.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_matrix_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_packing.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_packing_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_trigonometric.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_trigonometric_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_vector_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/func_vector_relational_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/qualifier.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/setup.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_float.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_half.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_half.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat2x2.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat2x3.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat2x4.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat3x2.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat3x3.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat3x4.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat4x2.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat4x3.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat4x4.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_mat4x4_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_quat.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_quat.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_quat_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_vec1.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_vec1.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_vec2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_vec2.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_vec3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_vec3.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_vec4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_vec4.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/detail/type_vec_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/exponential.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/_matrix_vectorize.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_clip_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_clip_space.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_common.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double2x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double2x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double2x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double3x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double3x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double3x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double4x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double4x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_double4x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float2x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float2x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float2x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float3x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float3x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float3x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float4x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float4x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_float4x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int2x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int2x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int2x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int3x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int3x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int3x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int4x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int4x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_int4x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_projection.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_projection.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_transform.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint2x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint2x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint2x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint3x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint3x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint3x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint4x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint4x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/matrix_uint4x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_common.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_common_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_double.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_double_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_exponential.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_exponential.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_float.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_float_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_geometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_geometric.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_transform.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_trigonometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/quaternion_trigonometric.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_common.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_constants.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_constants.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_int_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_packing.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_reciprocal.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_reciprocal.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_uint_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_ulp.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/scalar_ulp.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_bool1.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_bool1_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_bool2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_bool2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_bool3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_bool3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_bool4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_bool4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_common.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_double1.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_double1_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_double2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_double2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_double3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_double3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_double4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_double4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_float1.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_float1_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_float2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_float2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_float3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_float3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_float4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_float4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_int1.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_int1_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_int2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_int2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_int3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_int3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_int4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_int4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_packing.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_reciprocal.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_reciprocal.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_uint1.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_uint1_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_uint2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_uint2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_uint3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_uint3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_uint4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_uint4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_ulp.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext/vector_ulp.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/ext.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/fwd.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/geometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/glm.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/bitfield.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/bitfield.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/color_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/color_space.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/constants.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/constants.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/epsilon.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/epsilon.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/integer.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/matrix_access.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/matrix_access.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/matrix_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/matrix_inverse.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/matrix_inverse.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/matrix_transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/matrix_transform.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/noise.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/noise.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/packing.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/quaternion.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/quaternion.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/quaternion_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/random.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/random.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/reciprocal.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/round.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/round.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/type_aligned.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/type_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/type_precision.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/type_ptr.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/type_ptr.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/ulp.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/ulp.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtc/vec1.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/associated_min_max.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/associated_min_max.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/bit.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/bit.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/closest_point.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/closest_point.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/color_encoding.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/color_encoding.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/color_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/color_space.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/color_space_YCoCg.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/color_space_YCoCg.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/common.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/common.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/compatibility.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/compatibility.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/component_wise.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/component_wise.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/dual_quaternion.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/dual_quaternion.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/easing.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/easing.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/euler_angles.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/euler_angles.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/extend.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/extend.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/extended_min_max.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/extended_min_max.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/exterior_product.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/exterior_product.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/fast_exponential.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/fast_exponential.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/fast_square_root.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/fast_square_root.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/fast_trigonometry.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/fast_trigonometry.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/float_normalize.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/functions.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/functions.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/gradient_paint.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/gradient_paint.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/handed_coordinate_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/handed_coordinate_space.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/hash.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/hash.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/integer.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/intersect.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/intersect.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/io.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/io.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/iteration.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/iteration.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/log_base.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/log_base.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_cross_product.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_cross_product.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_decompose.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_decompose.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_factorisation.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_factorisation.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_interpolation.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_interpolation.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_major_storage.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_major_storage.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_operation.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_operation.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_query.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_query.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_transform_2d.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/matrix_transform_2d.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/mixed_product.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/mixed_product.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/norm.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/norm.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/normal.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/normal.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/normalize_dot.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/normalize_dot.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/number_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/optimum_pow.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/optimum_pow.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/orthonormalize.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/orthonormalize.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/pca.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/pca.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/perpendicular.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/perpendicular.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/polar_coordinates.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/polar_coordinates.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/projection.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/projection.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/quaternion.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/quaternion.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/range.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/raw_data.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/raw_data.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/rotate_normalized_axis.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/rotate_normalized_axis.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/rotate_vector.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/rotate_vector.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/scalar_multiplication.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/scalar_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/scalar_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/spline.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/spline.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/std_based_type.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/std_based_type.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/string_cast.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/string_cast.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/structured_bindings.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/structured_bindings.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/texture.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/texture.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/transform.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/transform2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/transform2.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/type_aligned.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/type_aligned.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/type_trait.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/type_trait.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/vec_swizzle.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/vector_angle.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/vector_angle.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/vector_query.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/vector_query.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/wrap.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/gtx/wrap.inl +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/mat2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/mat2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/mat2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/mat3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/mat3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/mat3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/mat4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/mat4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/mat4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/matrix.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/simd/common.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/simd/exponential.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/simd/geometric.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/simd/integer.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/simd/matrix.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/simd/neon.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/simd/packing.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/simd/platform.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/simd/trigonometric.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/simd/vector_relational.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/trigonometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/vec2.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/vec3.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/vec4.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/glm/glm/vector_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/json/LICENSE.MIT +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/json/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/json/include/nlohmann/json.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/json/include/nlohmann/json_fwd.hpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/nanovdb/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/nanovdb/PNanoVDB.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/stb/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/stb/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/stb/stb_image.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/stb/stb_image_write.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/stb.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vma/LICENSE.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vma/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vma/include/vk_mem_alloc.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vma.cpp +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/volk/LICENSE.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/volk/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/volk/volk.c +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/volk/volk.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/LICENSE.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/LICENSES/Apache-2.0.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/LICENSES/MIT.txt +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/README.md +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_encode.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_encode.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_encode.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vk_video/vulkan_video_codecs_common.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vk_icd.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vk_layer.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vk_platform.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_android.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_beta.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_core.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_directfb.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_fuchsia.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_ggp.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_ios.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_macos.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_metal.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_ohos.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_screen.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_ubm.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_vi.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_wayland.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_win32.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_xcb.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/third_party/vulkan_headers/include/vulkan/vulkan_xlib.h +0 -0
- {ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/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 ".dev151" 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.dev151
|
|
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
|
{ernie_renderer-0.2.0.dev150 → ernie_renderer-0.2.0.dev151}/benchmarks/render/batch_step.cpp
RENAMED
|
@@ -25,11 +25,10 @@ namespace ernie::bench {
|
|
|
25
25
|
namespace {
|
|
26
26
|
|
|
27
27
|
constexpr int kShapesPerWorld = 8;
|
|
28
|
-
constexpr glm::uvec2 kSize{64, 64};
|
|
29
28
|
|
|
30
29
|
/// @brief A scene of `worlds` worlds side by side, each with shapes scattered in front of its
|
|
31
|
-
/// camera, and the products rendering every camera's colour and depth.
|
|
32
|
-
void BuildWorlds(Scene& scene, int worlds) {
|
|
30
|
+
/// camera, and the products rendering every camera's colour and depth at `size` pixels.
|
|
31
|
+
void BuildWorlds(Scene& scene, int worlds, glm::uvec2 size) {
|
|
33
32
|
GroundPlane::Define(scene, "/Ground");
|
|
34
33
|
const std::vector<Path> vars{Path("/Render/Vars/Colour"), Path("/Render/Vars/Depth")};
|
|
35
34
|
RenderVar::Define(scene, vars[0]).SetSourceName(std::string(render_vars::kLdrColor));
|
|
@@ -58,13 +57,13 @@ void BuildWorlds(Scene& scene, int worlds) {
|
|
|
58
57
|
products.emplace_back("/Render/View" + std::to_string(world));
|
|
59
58
|
RenderProduct::Define(scene, products.back())
|
|
60
59
|
.SetCamera(camera)
|
|
61
|
-
.SetResolution(glm::dvec2(
|
|
60
|
+
.SetResolution(glm::dvec2(size))
|
|
62
61
|
.SetOrderedVars(vars);
|
|
63
62
|
}
|
|
64
63
|
RenderSettings::Define(scene, "/Render/Settings").SetProducts(products);
|
|
65
64
|
}
|
|
66
65
|
|
|
67
|
-
Timing StepWorlds(int worlds, double targetMs) {
|
|
66
|
+
Timing StepWorlds(int worlds, glm::uvec2 size, double targetMs) {
|
|
68
67
|
std::unique_ptr<Renderer> renderer;
|
|
69
68
|
try {
|
|
70
69
|
renderer = std::make_unique<Renderer>();
|
|
@@ -73,7 +72,7 @@ Timing StepWorlds(int worlds, double targetMs) {
|
|
|
73
72
|
return {0.0, targetMs};
|
|
74
73
|
}
|
|
75
74
|
Scene scene;
|
|
76
|
-
BuildWorlds(scene, worlds);
|
|
75
|
+
BuildWorlds(scene, worlds, size);
|
|
77
76
|
// The first step builds every bottom level; later ones rebuild only the top levels.
|
|
78
77
|
renderer->Step(scene);
|
|
79
78
|
renderer->Context().WaitIdle();
|
|
@@ -84,8 +83,10 @@ Timing StepWorlds(int worlds, double targetMs) {
|
|
|
84
83
|
renderer->Step(scene);
|
|
85
84
|
renderer->Context().WaitIdle();
|
|
86
85
|
});
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
const double pixels = static_cast<double>(worlds) * size.x * size.y;
|
|
87
|
+
std::printf(" %d views of %u x %u: %.0f views, %.2f gigapixels a second, %.2f ms submitting, "
|
|
88
|
+
"on %s\n",
|
|
89
|
+
worlds, size.x, size.y, 1000.0 * worlds / ms, pixels / ms / 1e6, host,
|
|
89
90
|
renderer->Context().Info().name.c_str());
|
|
90
91
|
if (std::getenv("ERNIE_BENCH_PROFILE") != nullptr) {
|
|
91
92
|
profiler::SetEnabled(true);
|
|
@@ -105,10 +106,17 @@ Timing StepWorlds(int worlds, double targetMs) {
|
|
|
105
106
|
return {ms, targetMs};
|
|
106
107
|
}
|
|
107
108
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
/// Registers a step of `worlds` views of `side` x `side` pixels.
|
|
110
|
+
bool RegisterBatch(int worlds, std::uint32_t side, double targetMs) {
|
|
111
|
+
return Register("render.batch_step." + std::to_string(worlds) + "_worlds_" +
|
|
112
|
+
std::to_string(side) + "x" + std::to_string(side),
|
|
113
|
+
[=] { return StepWorlds(worlds, glm::uvec2(side), targetMs); });
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// Madrona's benchmark resolutions, then beyond, at 1024 worlds; and many worlds at 64 x 64.
|
|
117
|
+
const bool kBatches = RegisterBatch(1024, 64, 5.0) && RegisterBatch(1024, 128, 15.0) &&
|
|
118
|
+
RegisterBatch(1024, 256, 50.0) && RegisterBatch(1024, 512, 200.0) &&
|
|
119
|
+
RegisterBatch(4096, 64, 20.0);
|
|
112
120
|
|
|
113
121
|
} // namespace
|
|
114
122
|
} // namespace ernie::bench
|
|
@@ -116,12 +116,19 @@ void BindRender(nb::module_& module) {
|
|
|
116
116
|
"rendering the same scene again costs only what changed.")
|
|
117
117
|
.def(
|
|
118
118
|
"__init__",
|
|
119
|
-
[](PythonRenderer* self, const std::string& device, bool validation
|
|
120
|
-
|
|
121
|
-
|
|
119
|
+
[](PythonRenderer* self, const std::string& device, bool validation,
|
|
120
|
+
std::uint32_t worlds, std::uint32_t instancesPerWorld, std::uint32_t views) {
|
|
121
|
+
new (self) PythonRenderer(RendererOptions{
|
|
122
|
+
.device = device,
|
|
123
|
+
.validation = validation,
|
|
124
|
+
.capacities = {
|
|
125
|
+
.worlds = worlds, .instancesPerWorld = instancesPerWorld, .views = views}});
|
|
122
126
|
},
|
|
123
127
|
nb::kw_only(), nb::arg("device") = "", nb::arg("validation") = false,
|
|
124
|
-
"
|
|
128
|
+
nb::arg("worlds") = 0, nb::arg("instances_per_world") = 0, nb::arg("views") = 0,
|
|
129
|
+
"Opens a device that ray traces: by UUID or part of its name, or the best one. "
|
|
130
|
+
"worlds, instances_per_world and views declare the most the scene holds, laid out "
|
|
131
|
+
"once; a scene beyond them raises. 0 is as many as there are.")
|
|
125
132
|
.def(
|
|
126
133
|
"render",
|
|
127
134
|
[](PythonRenderer& self, Scene& scene) { return ToNumpy(self.renderer.Render(scene)); },
|
|
@@ -138,12 +145,12 @@ void BindRender(nb::module_& module) {
|
|
|
138
145
|
"and vars in one dispatch, and returns the RenderBatches without waiting: their vars "
|
|
139
146
|
"are device columns that torch.from_dlpack views in place, or read() copies.")
|
|
140
147
|
.def(
|
|
141
|
-
"
|
|
148
|
+
"bind_column",
|
|
142
149
|
[](nb::object self, Scene& scene, const std::string& prim,
|
|
143
150
|
const std::string& attribute) {
|
|
144
151
|
auto& renderer = nb::cast<PythonRenderer&>(self);
|
|
145
152
|
const DeviceColumn& bound =
|
|
146
|
-
renderer.renderer.
|
|
153
|
+
renderer.renderer.BindColumn(scene, Path(prim), attribute);
|
|
147
154
|
auto* column = new Column(renderer.Pair(), bound, {}, Ticket{});
|
|
148
155
|
column->keeper = self;
|
|
149
156
|
nb::object handle = nb::cast(column, nb::rv_policy::take_ownership);
|
|
@@ -151,10 +158,10 @@ void BindRender(nb::module_& module) {
|
|
|
151
158
|
return handle;
|
|
152
159
|
},
|
|
153
160
|
nb::arg("scene"), nb::arg("prim"), nb::arg("attribute"),
|
|
154
|
-
"Hands a transform op (such as xformOp:translate) of every
|
|
155
|
-
"to the device: returns its DeviceColumn, a row a prim in
|
|
156
|
-
"PyTorch or Warp write in place; call ready(stream) after
|
|
157
|
-
"renders the new
|
|
161
|
+
"Hands a transform op (such as xformOp:translate) or primvars:displayColor of every "
|
|
162
|
+
"prim in the prim's bucket to the device: returns its DeviceColumn, a row a prim in "
|
|
163
|
+
"the bucket's order, which PyTorch or Warp write in place; call ready(stream) after "
|
|
164
|
+
"writing, and the next step renders the new values with no copy through the host.");
|
|
158
165
|
}
|
|
159
166
|
|
|
160
167
|
} // namespace ernie::python
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
namespace ernie {
|
|
10
10
|
|
|
11
11
|
DeviceScene::DeviceScene(DeviceContext& context, Arenas& arenas, const Scene& scene,
|
|
12
|
-
const ShaderCompiler& compiler)
|
|
12
|
+
const ShaderCompiler& compiler, WorldCapacities capacities)
|
|
13
13
|
: context_(context), scene_(scene), pool_(context), columns_(context, arenas, scene),
|
|
14
14
|
transforms_(context, arenas, scene, compiler), geometry_(context, arenas, scene),
|
|
15
|
-
instances_(context, arenas) {
|
|
15
|
+
instances_(context, arenas, scene, compiler, capacities) {
|
|
16
16
|
if (context.Capabilities().rayQuery) {
|
|
17
17
|
tracer_ = std::make_unique<RayTracer>(context, arenas, compiler, geometry_);
|
|
18
18
|
}
|
|
@@ -33,8 +33,9 @@ namespace ernie {
|
|
|
33
33
|
class DeviceScene {
|
|
34
34
|
public:
|
|
35
35
|
/// @param arenas Where the device columns live; `MemoryUse::Shared` to share them with CUDA.
|
|
36
|
+
/// @param capacities The worlds and instances a world declared up front, if any.
|
|
36
37
|
DeviceScene(DeviceContext& context, Arenas& arenas, const Scene& scene,
|
|
37
|
-
const ShaderCompiler& compiler);
|
|
38
|
+
const ShaderCompiler& compiler, WorldCapacities capacities = {});
|
|
38
39
|
DeviceScene(const DeviceScene&) = delete;
|
|
39
40
|
DeviceScene& operator=(const DeviceScene&) = delete;
|
|
40
41
|
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
/// @file instances.cpp
|
|
3
|
+
/// @brief Keeping instance rows dense as prims come and go, and uploading the rows that changed.
|
|
4
|
+
#include "ernie/render/instances.h"
|
|
5
|
+
|
|
6
|
+
#include "ernie/shaders/device/buffer_ref.h"
|
|
7
|
+
#include "ernie/shaders/scene/instance_colours.h"
|
|
8
|
+
#include "ernie/util/math.h"
|
|
9
|
+
#include "ernie/util/profiler.h"
|
|
10
|
+
|
|
11
|
+
#include <algorithm>
|
|
12
|
+
#include <stdexcept>
|
|
13
|
+
#include <string>
|
|
14
|
+
|
|
15
|
+
namespace ernie {
|
|
16
|
+
namespace {
|
|
17
|
+
|
|
18
|
+
static_assert(shaders::kNoInstanceRow == InstanceTable::kNoRow);
|
|
19
|
+
|
|
20
|
+
std::vector<std::uint32_t> CompileColourer(const ShaderCompiler& compiler) {
|
|
21
|
+
const std::array modules{shaders::kBufferRef, shaders::kInstanceColours};
|
|
22
|
+
return compiler.Spirv(modules, "main");
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
} // namespace
|
|
26
|
+
|
|
27
|
+
InstanceTable::InstanceTable(DeviceContext& context, Arenas& arenas, const Scene& scene,
|
|
28
|
+
const ShaderCompiler& compiler, WorldCapacities capacities)
|
|
29
|
+
: context_(context), arenas_(arenas), scene_(scene), capacities_(capacities),
|
|
30
|
+
colourer_(context, CompileColourer(compiler), "instance colours",
|
|
31
|
+
std::uint32_t{sizeof(shaders::ColourParameters)}),
|
|
32
|
+
uploader_(context, context.Main()) {
|
|
33
|
+
const auto column = [&](std::string_view name, DType type, std::vector<std::int64_t> element) {
|
|
34
|
+
return std::make_unique<DeviceColumn>(arenas, name, type, std::move(element), 0);
|
|
35
|
+
};
|
|
36
|
+
nodes_ = column("instance nodes", DType::UInt32, {});
|
|
37
|
+
geometries_ = column("instance geometries", DType::UInt32, {});
|
|
38
|
+
shapes_ = column("instance shapes", DType::Float32, {3, 4});
|
|
39
|
+
colours_ = column("instance colours", DType::Float32, {3});
|
|
40
|
+
sources_ = column("top-level sources", DType::UInt32, {});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
std::optional<std::uint32_t> InstanceTable::Row(PrimId prim) const {
|
|
44
|
+
if (prim.slot >= rows_.size() || rows_[prim.slot] == kNoRow ||
|
|
45
|
+
!(prims_[rows_[prim.slot]] == prim)) {
|
|
46
|
+
return std::nullopt;
|
|
47
|
+
}
|
|
48
|
+
return rows_[prim.slot];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
void InstanceTable::Set(std::uint32_t row, const PrimGeometry& placed) {
|
|
52
|
+
prims_[row] = placed.prim;
|
|
53
|
+
hostNodes_[row] = placed.prim.slot;
|
|
54
|
+
hostGeometries_[row] = placed.geometry;
|
|
55
|
+
hostShapes_[row] = ToAffineRows(placed.shape);
|
|
56
|
+
hostColours_[row] = placed.colour;
|
|
57
|
+
relayout_ = relayout_ || hostWorlds_[row] != placed.world;
|
|
58
|
+
hostWorlds_[row] = placed.world;
|
|
59
|
+
rows_[placed.prim.slot] = row;
|
|
60
|
+
dirty_.push_back(row);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
void InstanceTable::Remove(PrimId prim) {
|
|
64
|
+
const std::optional<std::uint32_t> row = Row(prim);
|
|
65
|
+
if (!row) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
// The last row moves into the gap.
|
|
69
|
+
const auto last = static_cast<std::uint32_t>(prims_.size() - 1);
|
|
70
|
+
if (*row != last) {
|
|
71
|
+
ForEachHostColumn([&](auto& column) { column[*row] = column[last]; });
|
|
72
|
+
rows_[prims_[*row].slot] = *row;
|
|
73
|
+
dirty_.push_back(*row);
|
|
74
|
+
}
|
|
75
|
+
rows_[prim.slot] = kNoRow;
|
|
76
|
+
ForEachHostColumn([](auto& column) { column.pop_back(); });
|
|
77
|
+
relayout_ = true;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
void InstanceTable::LayOutWorlds() {
|
|
81
|
+
std::int32_t highest = 0;
|
|
82
|
+
std::vector<std::uint32_t> shared;
|
|
83
|
+
for (std::uint32_t row = 0; row < hostWorlds_.size(); ++row) {
|
|
84
|
+
highest = std::max(highest, hostWorlds_[row]);
|
|
85
|
+
if (hostWorlds_[row] < 0) {
|
|
86
|
+
shared.push_back(row);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const std::size_t needed =
|
|
90
|
+
std::max<std::size_t>(static_cast<std::size_t>(highest) + 1, reserved_);
|
|
91
|
+
if (capacities_.worlds > 0 && needed > capacities_.worlds) {
|
|
92
|
+
throw std::length_error(std::to_string(needed) + " worlds are more than the " +
|
|
93
|
+
std::to_string(capacities_.worlds) + " declared");
|
|
94
|
+
}
|
|
95
|
+
const std::size_t count = capacities_.worlds > 0 ? capacities_.worlds : needed;
|
|
96
|
+
std::vector<std::vector<std::uint32_t>> own(count);
|
|
97
|
+
for (std::uint32_t row = 0; row < hostWorlds_.size(); ++row) {
|
|
98
|
+
if (hostWorlds_[row] >= 0) {
|
|
99
|
+
own[static_cast<std::size_t>(hostWorlds_[row])].push_back(row);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
const std::uint32_t stride = capacities_.instancesPerWorld;
|
|
103
|
+
worlds_.assign(count, {});
|
|
104
|
+
hostSources_.clear();
|
|
105
|
+
for (std::size_t world = 0; world < count; ++world) {
|
|
106
|
+
const auto records = static_cast<std::uint32_t>(shared.size() + own[world].size());
|
|
107
|
+
if (stride > 0 && records > stride) {
|
|
108
|
+
throw std::length_error("World " + std::to_string(world) + " has " +
|
|
109
|
+
std::to_string(records) + " instances, beyond the " +
|
|
110
|
+
std::to_string(stride) + " declared a world");
|
|
111
|
+
}
|
|
112
|
+
worlds_[world] = {.first = static_cast<std::uint32_t>(hostSources_.size()),
|
|
113
|
+
.count = records};
|
|
114
|
+
hostSources_.insert(hostSources_.end(), shared.begin(), shared.end());
|
|
115
|
+
hostSources_.insert(hostSources_.end(), own[world].begin(), own[world].end());
|
|
116
|
+
if (stride > 0) {
|
|
117
|
+
hostSources_.resize(worlds_[world].first + stride, kNoRow);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
void InstanceTable::Apply(const GeometryPool::Changes& changes) {
|
|
123
|
+
ERNIE_ZONE("Update instances");
|
|
124
|
+
for (const PrimId prim : changes.removed) {
|
|
125
|
+
Remove(prim);
|
|
126
|
+
}
|
|
127
|
+
for (const PrimGeometry& placed : changes.placed) {
|
|
128
|
+
if (placed.prim.slot >= rows_.size()) {
|
|
129
|
+
rows_.resize(placed.prim.slot + 1, kNoRow);
|
|
130
|
+
}
|
|
131
|
+
const std::optional<std::uint32_t> row = Row(placed.prim);
|
|
132
|
+
if (row) {
|
|
133
|
+
Set(*row, placed);
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
ForEachHostColumn([](auto& column) { column.emplace_back(); });
|
|
137
|
+
relayout_ = true;
|
|
138
|
+
Set(static_cast<std::uint32_t>(prims_.size() - 1), placed);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
void InstanceTable::AddUploads(graph::Graph& graph) {
|
|
143
|
+
// Rows that came, went or moved move the bound colours' targets too.
|
|
144
|
+
retarget_ = retarget_ || relayout_;
|
|
145
|
+
const std::size_t rows = prims_.size();
|
|
146
|
+
for (DeviceColumn* column : {nodes_.get(), geometries_.get(), shapes_.get(), colours_.get()}) {
|
|
147
|
+
column->Resize(rows, context_.Main());
|
|
148
|
+
}
|
|
149
|
+
StageRows(uploader_, *nodes_, hostNodes_, dirty_);
|
|
150
|
+
StageRows(uploader_, *geometries_, hostGeometries_, dirty_);
|
|
151
|
+
StageRows(uploader_, *shapes_, hostShapes_, dirty_);
|
|
152
|
+
StageRows(uploader_, *colours_, hostColours_, dirty_);
|
|
153
|
+
dirty_.clear();
|
|
154
|
+
if (relayout_) {
|
|
155
|
+
LayOutWorlds();
|
|
156
|
+
sources_->Resize(hostSources_.size(), context_.Main());
|
|
157
|
+
uploader_.Write(sources_->Storage(), sources_->Range().offset,
|
|
158
|
+
std::span<const std::uint32_t>(hostSources_));
|
|
159
|
+
relayout_ = false;
|
|
160
|
+
}
|
|
161
|
+
if (retarget_) {
|
|
162
|
+
TargetColours();
|
|
163
|
+
}
|
|
164
|
+
std::vector<graph::Buffer> columns{graph.Import(*nodes_), graph.Import(*geometries_),
|
|
165
|
+
graph.Import(*shapes_), graph.Import(*colours_),
|
|
166
|
+
graph.Import(*sources_)};
|
|
167
|
+
for (const ColourBinding& binding : colourBindings_) {
|
|
168
|
+
columns.push_back(graph.Import(*binding.targets));
|
|
169
|
+
}
|
|
170
|
+
graph::AddUploadPass(graph, "Upload instances", uploader_, columns);
|
|
171
|
+
AddColourPasses(graph);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
void InstanceTable::BindColours(BucketId bucket, const DeviceColumn& column) {
|
|
175
|
+
if (column.Type() != DType::Float32 || column.Element() != std::vector<std::int64_t>{3}) {
|
|
176
|
+
throw std::invalid_argument(column.Name() + " does not hold three floats a row");
|
|
177
|
+
}
|
|
178
|
+
colourBindings_.push_back(
|
|
179
|
+
{.bucket = bucket,
|
|
180
|
+
.column = &column,
|
|
181
|
+
.targets = std::make_unique<DeviceColumn>(arenas_, "colour targets", DType::UInt32,
|
|
182
|
+
std::vector<std::int64_t>{}, 0)});
|
|
183
|
+
retarget_ = true;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
void InstanceTable::TargetColours() {
|
|
187
|
+
for (ColourBinding& binding : colourBindings_) {
|
|
188
|
+
const Bucket& bucket = scene_.Store().GetBucket(binding.bucket);
|
|
189
|
+
binding.hostTargets.resize(bucket.Rows());
|
|
190
|
+
for (std::uint32_t row = 0; row < bucket.Rows(); ++row) {
|
|
191
|
+
binding.hostTargets[row] = Row(bucket.prims[row]).value_or(kNoRow);
|
|
192
|
+
}
|
|
193
|
+
binding.targets->Resize(bucket.Rows(), context_.Main());
|
|
194
|
+
uploader_.Write(binding.targets->Storage(), binding.targets->Range().offset,
|
|
195
|
+
std::span<const std::uint32_t>(binding.hostTargets));
|
|
196
|
+
}
|
|
197
|
+
retarget_ = false;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
void InstanceTable::AddColourPasses(graph::Graph& graph) const {
|
|
201
|
+
for (const ColourBinding& binding : colourBindings_) {
|
|
202
|
+
const std::array reads{graph.Import(*binding.column), graph.Import(*binding.targets)};
|
|
203
|
+
graph::Buffer colours = graph.Import(*colours_);
|
|
204
|
+
const auto count = static_cast<std::uint32_t>(binding.hostTargets.size());
|
|
205
|
+
graph.Add(
|
|
206
|
+
"Bound colours", graph::Kind::Compute,
|
|
207
|
+
[&](graph::PassBuilder& pass) {
|
|
208
|
+
for (const graph::Buffer& read : reads) {
|
|
209
|
+
pass.ReadAddress(read);
|
|
210
|
+
}
|
|
211
|
+
colours = pass.WriteAddress(colours);
|
|
212
|
+
},
|
|
213
|
+
[this, reads, colours, count](graph::PassContext& pass) {
|
|
214
|
+
colourer_.Dispatch(pass.commands, {DivideRoundUp(count, 64u), 1, 1},
|
|
215
|
+
shaders::ColourParameters{
|
|
216
|
+
.from = pass.Get(reads[0]).BufferRef<float>(),
|
|
217
|
+
.targets = pass.Get(reads[1]).BufferRef<shaders::uint>(),
|
|
218
|
+
.to = pass.Get(colours).BufferRef<float>(),
|
|
219
|
+
.count = count});
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
} // namespace ernie
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
#pragma once
|
|
6
6
|
|
|
7
7
|
#include "ernie/device/column.h"
|
|
8
|
+
#include "ernie/device/kernel.h"
|
|
9
|
+
#include "ernie/device/shader_compiler.h"
|
|
8
10
|
#include "ernie/device/staging.h"
|
|
9
11
|
#include "ernie/graph/graph.h"
|
|
10
12
|
#include "ernie/render/geometry.h"
|
|
@@ -28,9 +30,19 @@ namespace ernie {
|
|
|
28
30
|
/// Each row is in a batch world, or in every world. The top levels' records, a world after
|
|
29
31
|
/// another, are laid out by `Sources`: each world's records are the shared rows, then its own.
|
|
30
32
|
/// The layout changes only as rows come, go or change world.
|
|
33
|
+
/// @brief How many worlds and instances a world the device scene holds at most, declared up front
|
|
34
|
+
/// so nothing is laid out again or reallocated as counts move; 0 for as many as there are.
|
|
35
|
+
struct WorldCapacities {
|
|
36
|
+
std::uint32_t worlds = 0;
|
|
37
|
+
/// Each world's records: its own instances and the shared ones.
|
|
38
|
+
std::uint32_t instancesPerWorld = 0;
|
|
39
|
+
};
|
|
40
|
+
|
|
31
41
|
class InstanceTable {
|
|
32
42
|
public:
|
|
33
43
|
using Shape = std::array<glm::vec4, 3>;
|
|
44
|
+
/// What a record holds when its world has fewer instances than its capacity.
|
|
45
|
+
static constexpr std::uint32_t kNoRow = 0xffffffff;
|
|
34
46
|
/// A world's records: the first, and how many.
|
|
35
47
|
struct WorldRecords {
|
|
36
48
|
std::uint32_t first = 0;
|
|
@@ -38,14 +50,23 @@ class InstanceTable {
|
|
|
38
50
|
};
|
|
39
51
|
|
|
40
52
|
/// @param arenas Where the columns live.
|
|
41
|
-
|
|
53
|
+
/// @param capacities With instances a world declared, each world's records start a fixed
|
|
54
|
+
/// stride apart, the unused ones `kNoRow`.
|
|
55
|
+
InstanceTable(DeviceContext& context, Arenas& arenas, const Scene& scene,
|
|
56
|
+
const ShaderCompiler& compiler, WorldCapacities capacities = {});
|
|
42
57
|
InstanceTable(const InstanceTable&) = delete;
|
|
43
58
|
InstanceTable& operator=(const InstanceTable&) = delete;
|
|
44
59
|
|
|
45
60
|
/// @brief Takes in what a geometry update placed and removed.
|
|
46
61
|
void Apply(const GeometryPool::Changes& changes);
|
|
47
|
-
/// @brief Adds the pass that uploads changed rows,
|
|
62
|
+
/// @brief Adds the pass that uploads changed rows, then one copying each bound colour column
|
|
63
|
+
/// into the colours, before the passes that read the columns.
|
|
48
64
|
void AddUploads(graph::Graph& graph);
|
|
65
|
+
/// @brief Takes a bucket's colours from `column` each frame, three floats a bucket row as
|
|
66
|
+
/// `SceneColumns` keeps them, in place of the host's display colours: CUDA or a kernel
|
|
67
|
+
/// writing it recolours the prims with nothing through the host.
|
|
68
|
+
/// @throws std::invalid_argument unless `column` holds three floats a row.
|
|
69
|
+
void BindColours(BucketId bucket, const DeviceColumn& column);
|
|
49
70
|
|
|
50
71
|
std::uint32_t Count() const {
|
|
51
72
|
return static_cast<std::uint32_t>(prims_.size());
|
|
@@ -74,18 +95,33 @@ class InstanceTable {
|
|
|
74
95
|
std::span<const WorldRecords> Worlds() const {
|
|
75
96
|
return worlds_;
|
|
76
97
|
}
|
|
77
|
-
/// @return Each top-level record's instance row, a uint32 a record, world after world
|
|
98
|
+
/// @return Each top-level record's instance row, a uint32 a record, world after world;
|
|
99
|
+
/// `kNoRow` for a record no instance fills.
|
|
78
100
|
const DeviceColumn& Sources() const {
|
|
79
101
|
return *sources_;
|
|
80
102
|
}
|
|
103
|
+
const WorldCapacities& Capacities() const {
|
|
104
|
+
return capacities_;
|
|
105
|
+
}
|
|
81
106
|
/// @return The records of every world.
|
|
82
107
|
std::uint32_t Records() const {
|
|
83
108
|
return static_cast<std::uint32_t>(hostSources_.size());
|
|
84
109
|
}
|
|
85
110
|
|
|
86
111
|
private:
|
|
112
|
+
/// A bucket's colours bound to a device column, and each bucket row's instance row.
|
|
113
|
+
struct ColourBinding {
|
|
114
|
+
BucketId bucket = 0;
|
|
115
|
+
const DeviceColumn* column = nullptr;
|
|
116
|
+
std::vector<std::uint32_t> hostTargets;
|
|
117
|
+
std::unique_ptr<DeviceColumn> targets;
|
|
118
|
+
};
|
|
119
|
+
|
|
87
120
|
/// Lays the records out again, world by world.
|
|
88
121
|
void LayOutWorlds();
|
|
122
|
+
/// Maps each bound bucket's rows to instance rows again, after rows moved.
|
|
123
|
+
void TargetColours();
|
|
124
|
+
void AddColourPasses(graph::Graph& graph) const;
|
|
89
125
|
void Set(std::uint32_t row, const PrimGeometry& placed);
|
|
90
126
|
void Remove(PrimId prim);
|
|
91
127
|
/// Calls `f` with each host array kept a row an instance, so they grow and shrink together.
|
|
@@ -99,7 +135,14 @@ class InstanceTable {
|
|
|
99
135
|
}
|
|
100
136
|
|
|
101
137
|
DeviceContext& context_;
|
|
138
|
+
Arenas& arenas_;
|
|
139
|
+
const Scene& scene_;
|
|
140
|
+
WorldCapacities capacities_;
|
|
141
|
+
ComputeKernel colourer_;
|
|
102
142
|
Uploader uploader_;
|
|
143
|
+
std::vector<ColourBinding> colourBindings_;
|
|
144
|
+
/// Whether rows moved since the colour bindings were mapped.
|
|
145
|
+
bool retarget_ = false;
|
|
103
146
|
// Host copies of the rows, by row.
|
|
104
147
|
std::vector<PrimId> prims_;
|
|
105
148
|
std::vector<std::uint32_t> hostNodes_;
|
|
@@ -111,7 +154,7 @@ class InstanceTable {
|
|
|
111
154
|
std::vector<std::uint32_t> rows_;
|
|
112
155
|
std::vector<std::uint32_t> dirty_;
|
|
113
156
|
/// Whether rows came, went, moved or changed world since the layout.
|
|
114
|
-
bool relayout_ =
|
|
157
|
+
bool relayout_ = true;
|
|
115
158
|
std::uint32_t reserved_ = 1;
|
|
116
159
|
std::vector<WorldRecords> worlds_{1};
|
|
117
160
|
std::vector<std::uint32_t> hostSources_;
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
#include "ernie/render/device_scene.h"
|
|
11
11
|
#include "ernie/render/products.h"
|
|
12
12
|
#include "ernie/render/rt/camera_pass.h"
|
|
13
|
+
#include "ernie/scene/schema/geom.h"
|
|
13
14
|
#include "ernie/scene/schema/render.h"
|
|
14
15
|
#include "ernie/util/profiler.h"
|
|
15
16
|
|
|
@@ -78,6 +79,7 @@ const RenderVarOutput* RenderBatch::Find(std::string_view name) const {
|
|
|
78
79
|
/// What a renderer keeps on its device.
|
|
79
80
|
struct Renderer::Device {
|
|
80
81
|
ShaderCompiler compiler;
|
|
82
|
+
RenderCapacities capacities;
|
|
81
83
|
std::unique_ptr<DeviceContext> context;
|
|
82
84
|
/// Where the device scene and outputs live: shared with CUDA where the device can export
|
|
83
85
|
/// memory, so bound columns and outputs map in place.
|
|
@@ -105,6 +107,10 @@ struct Renderer::Device {
|
|
|
105
107
|
};
|
|
106
108
|
|
|
107
109
|
void Renderer::Device::Plan(const Scene& scene, const std::vector<ProductSpec>& specs) {
|
|
110
|
+
if (capacities.views > 0 && specs.size() > capacities.views) {
|
|
111
|
+
throw std::length_error(std::to_string(specs.size()) + " products are more than the " +
|
|
112
|
+
std::to_string(capacities.views) + " views declared");
|
|
113
|
+
}
|
|
108
114
|
const std::vector<std::vector<const ProductSpec*>> groups = GroupProducts(specs);
|
|
109
115
|
std::vector<Batch> planned(groups.size());
|
|
110
116
|
for (std::size_t i = 0; i < groups.size(); ++i) {
|
|
@@ -154,6 +160,7 @@ void Renderer::Device::Allocate(Batch& batch, const std::vector<std::string>& va
|
|
|
154
160
|
|
|
155
161
|
Renderer::Renderer(const RendererOptions& options) : device_(std::make_unique<Device>()) {
|
|
156
162
|
Device& device = *device_;
|
|
163
|
+
device.capacities = options.capacities;
|
|
157
164
|
device.context = std::make_unique<DeviceContext>(
|
|
158
165
|
DeviceContextOptions{.validation = options.validation, .device = options.device});
|
|
159
166
|
if (!device.context->Capabilities().rayQuery) {
|
|
@@ -179,7 +186,10 @@ DeviceContext& Renderer::Context() {
|
|
|
179
186
|
DeviceScene& Renderer::Device::Follow(const Scene& scene) {
|
|
180
187
|
if (scene.Id() != sceneId) {
|
|
181
188
|
context->WaitIdle();
|
|
182
|
-
deviceScene = std::make_unique<DeviceScene>(
|
|
189
|
+
deviceScene = std::make_unique<DeviceScene>(
|
|
190
|
+
*context, *arenas, scene, compiler,
|
|
191
|
+
WorldCapacities{.worlds = capacities.worlds,
|
|
192
|
+
.instancesPerWorld = capacities.instancesPerWorld});
|
|
183
193
|
sceneId = scene.Id();
|
|
184
194
|
batches.clear();
|
|
185
195
|
rendered.clear();
|
|
@@ -220,12 +230,21 @@ std::span<const RenderBatch> Renderer::Step(Scene& scene) {
|
|
|
220
230
|
return device.rendered;
|
|
221
231
|
}
|
|
222
232
|
|
|
223
|
-
const DeviceColumn& Renderer::
|
|
224
|
-
|
|
233
|
+
const DeviceColumn& Renderer::BindColumn(Scene& scene, const Path& prim,
|
|
234
|
+
std::string_view attribute) {
|
|
235
|
+
const bool colour = attribute == Gprim::kDisplayColor;
|
|
236
|
+
if (!colour && !attribute.starts_with("xformOp:")) {
|
|
237
|
+
throw std::invalid_argument(std::string(attribute) +
|
|
238
|
+
" is no transform op or display colour to bind");
|
|
239
|
+
}
|
|
225
240
|
DeviceScene& deviceScene = device_->Follow(scene);
|
|
226
241
|
const BucketId bucket = scene.Store().PrimBucket(scene.Require(prim));
|
|
227
242
|
const DeviceColumn& column = deviceScene.Columns().Bind(bucket, attribute);
|
|
228
|
-
|
|
243
|
+
if (colour) {
|
|
244
|
+
deviceScene.Instances().BindColours(bucket, column);
|
|
245
|
+
} else {
|
|
246
|
+
deviceScene.Transforms().Bind(bucket, attribute, column);
|
|
247
|
+
}
|
|
229
248
|
++device_->recorded;
|
|
230
249
|
return column;
|
|
231
250
|
}
|
|
@@ -29,11 +29,23 @@ class DeviceColumn;
|
|
|
29
29
|
class DeviceContext;
|
|
30
30
|
struct Ticket;
|
|
31
31
|
|
|
32
|
+
/// @brief The most a renderer's scene holds, declared up front as batched simulation does: memory
|
|
33
|
+
/// is laid out once, never again as counts move, and a scene beyond it is an error, never cut
|
|
34
|
+
/// short. 0 for as many as there are.
|
|
35
|
+
struct RenderCapacities {
|
|
36
|
+
std::uint32_t worlds = 0;
|
|
37
|
+
/// Each world's instances, its own and the shared ones.
|
|
38
|
+
std::uint32_t instancesPerWorld = 0;
|
|
39
|
+
/// The products a step renders, a view each.
|
|
40
|
+
std::uint32_t views = 0;
|
|
41
|
+
};
|
|
42
|
+
|
|
32
43
|
struct RendererOptions {
|
|
33
44
|
/// The device: its UUID in hex, or part of its name; empty for the best scoring one.
|
|
34
45
|
std::string device;
|
|
35
46
|
/// The Khronos validation layer with synchronization validation, when installed.
|
|
36
47
|
bool validation = false;
|
|
48
|
+
RenderCapacities capacities;
|
|
37
49
|
};
|
|
38
50
|
|
|
39
51
|
/// @brief One var of a batch: every view's pixels, stacked on the device.
|
|
@@ -74,20 +86,23 @@ class ERNIE_API Renderer {
|
|
|
74
86
|
/// is submitted. Cameras take their poses from the device's transforms, so poses CUDA writes
|
|
75
87
|
/// move them.
|
|
76
88
|
/// @return The batches, valid until the next step.
|
|
77
|
-
/// @throws std::invalid_argument as `ReadProducts
|
|
89
|
+
/// @throws std::invalid_argument as `ReadProducts`; std::length_error for a scene beyond the
|
|
90
|
+
/// declared capacities.
|
|
78
91
|
std::span<const RenderBatch> Step(Scene& scene);
|
|
79
92
|
|
|
80
93
|
/// @return A var's pixels copied to the host once the last step has rendered them.
|
|
81
94
|
Tensor Read(const RenderVarOutput& var);
|
|
82
95
|
|
|
83
|
-
/// @brief Hands
|
|
84
|
-
///
|
|
85
|
-
///
|
|
86
|
-
/// through the host. Values the host authors later
|
|
87
|
-
///
|
|
96
|
+
/// @brief Hands an attribute to the device for every prim in `prim`'s bucket (the prims of its
|
|
97
|
+
/// type and applied schemas), as the device scene's columns bind it: from then on the column
|
|
98
|
+
/// is what steps read, so CUDA, PyTorch or Warp write it in place each step, as poses or
|
|
99
|
+
/// domain randomisation do, and nothing goes through the host. Values the host authors later
|
|
100
|
+
/// still overwrite their rows. Binds a transform op in the prims' `xformOpOrder`, or
|
|
101
|
+
/// `primvars:displayColor`.
|
|
88
102
|
/// @return The column, a row a prim in the bucket's row order, in memory CUDA can map.
|
|
89
|
-
/// @throws std::invalid_argument as `SceneColumns::Bind` and
|
|
90
|
-
|
|
103
|
+
/// @throws std::invalid_argument for another attribute, or as `SceneColumns::Bind` and
|
|
104
|
+
/// `TransformGraph::Bind`.
|
|
105
|
+
const DeviceColumn& BindColumn(Scene& scene, const Path& prim, std::string_view attribute);
|
|
91
106
|
/// @brief Makes the next step wait on the device for `ticket`, such as CUDA's writes to a
|
|
92
107
|
/// bound column.
|
|
93
108
|
void WaitFor(const Ticket& ticket);
|