ernie-renderer 0.2.0.dev168__tar.gz → 0.2.0.dev170__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.dev168 → ernie_renderer-0.2.0.dev170}/CMakeLists.txt +1 -1
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/PKG-INFO +1 -1
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/products.cpp +5 -1
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/products.h +5 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/renderer.cpp +4 -1
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/rt/camera_pass.cpp +8 -3
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/rt/camera_pass.h +6 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/rt/ray_tracer.cpp +40 -1
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/rt/ray_tracer.h +8 -2
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/CMakeLists.txt +2 -0
- ernie_renderer-0.2.0.dev170/ernie/shaders/rt/frame_count.slang +12 -0
- ernie_renderer-0.2.0.dev170/ernie/shaders/sampling/random.slang +135 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/sensors/camera.slang +69 -19
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/random.h +74 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/render/renderer_test.cpp +73 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/render/shaders_test.cpp +61 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/random_test.cpp +49 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/.clang-format +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/.clang-tidy +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/.dockerignore +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/.gersemirc +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/.gitattributes +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/.github/scripts/coverage_badge.py +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/.github/scripts/install-lavapipe-windows.sh +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/.github/workflows/ci.yml +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/.gitignore +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/.pre-commit-config.yaml +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/CMakePresets.json +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/Dockerfile +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/benchmarks/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/benchmarks/app/viewer_frame.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/benchmarks/bench.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/benchmarks/device/pose_step.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/benchmarks/main.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/benchmarks/render/batch_step.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/benchmarks/render/hide_seek.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/benchmarks/render/shared_prims.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/benchmarks/render/transform_graph.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/benchmarks/scene/extents.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/benchmarks/scene/storage.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/EmbedFile.cmake +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/EmbedShader.cmake +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/ErnieConfig.cmake.in +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/ErnieFetch.cmake +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/ErnieInstall.cmake +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/ErniePackaging.cmake +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/ErnieShaders.cmake +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/ErnieTesting.cmake +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/ernie.pc.in +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/third_party/dear_imgui.cmake +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/third_party/fonts.cmake +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/third_party/glfw.cmake +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/third_party/googletest.cmake +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/third_party/nanobind.cmake +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/third_party/openexr.cmake +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/third_party/slang.cmake +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/cmake/third_party/tracy.cmake +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/demos/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/demos/basics/demo_basics_bounce.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/docs/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/docs/index.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/docs/requirements.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/capture.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/capture.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/create.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/create.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/demo.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/demo.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/icons.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/imgui_backend.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/imgui_backend.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/main.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/timeline.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/timeline.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/ui.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/ui.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/viewer.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/app/viewer.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/acceleration.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/acceleration.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/arena.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/arena.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/bindless.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/bindless.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/buffer.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/buffer.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/column.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/column.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/commands.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/commands.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/context.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/context.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/cuda.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/cuda.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/device.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/external.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/external.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/image.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/image.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/instance.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/instance.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/kernel.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/kernel.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/profile.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/profile.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/queue.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/queue.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/shader_compiler.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/shader_compiler.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/staging.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/staging.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/vulkan.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/device/vulkan.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/geometry/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/geometry/bounds.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/geometry/triangulation.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/geometry/triangulation.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/graph/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/graph/blackboard.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/graph/dependencies.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/graph/dependencies.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/graph/graph.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/graph/graph.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/graph/pool.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/graph/pool.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/io/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/io/ies.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/io/ies.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/io/image.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/io/image.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/io/nanovdb.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/io/nanovdb.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/io/raster.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/io/raster.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/io/texture.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/io/texture.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/astronomy.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/astronomy.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/atmosphere.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/atmosphere.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/cloud.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/cloud.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/constants.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/reflectance_library.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/reflectance_library.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/reflectance_table.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/regolith.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/regolith.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/scattering.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/scattering.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/solar.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/solar.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/solar_table.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/spectrum.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/physics/spectrum.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/python/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/python/device.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/python/device.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/python/dlpack.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/python/dlpack.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/python/ernie/__init__.py +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/python/module.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/python/render.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/python/render.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/python/scene.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/python/scene.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/device_scene.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/device_scene.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/geometry.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/geometry.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/instances.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/instances.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/prim_rows.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/prim_rows.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/renderer.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/rt/bottom_levels.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/rt/bottom_levels.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/rt/top_levels.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/rt/top_levels.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/scene_columns.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/scene_columns.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/transform_graph.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/render/transform_graph.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/animation.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/convert.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/edit_history.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/edit_history.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/extent_cache.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/extent_cache.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/holder_index.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/holder_index.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/inherit.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/json.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/json.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/json_value.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/path.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/path.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/reference.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/reference.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/scene.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/scene.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/camera.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/camera.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/collection.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/geom.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/geom.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/instancer.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/instancer.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/lux.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/lux.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/mesh.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/mesh.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/planet.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/planet.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/registry.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/render.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/render.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/shade.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/shade.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/vol.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema/vol.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/schema.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/storage.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/storage.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/time_samples.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/time_samples.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/tokens.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/usd_plugin.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/validate.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/value.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/view.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/view.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/xform.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/scene/xform.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/device/bindless.slang +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/device/buffer_ref.slang +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/math/affine.slang +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/math/double_float.slang +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/rt/ray_tracer.slang +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/rt/write_instances.slang +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/scene/geometry.slang +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/scene/instance_colours.slang +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/scene/shapes.slang +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/scene/transform.slang +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/scene/world_layout.slang +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/sensors/lens.slang +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/shared.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/spectral/spectrum.slang +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/algorithm.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/bytes.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/disk_cache.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/disk_cache.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/file.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/file.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/glm.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/hash_index.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/library.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/library.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/linear_algebra.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/log.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/log.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/math.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/noise.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/noise.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/numbers.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/on_failure.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/parallel.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/process.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/process.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/profiler.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/profiler.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/tensor.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/tensor.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/text.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/version.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/version.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/util/worker_pool.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/mkdocs.yml +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/pyproject.toml +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/app/capture_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/app/demo_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/app/orbit_camera_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/app/shell_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/app/timeline_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/app/view_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/app/viewer_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/common.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/consumer/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/consumer/first_render.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/consumer/main.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/device/acceleration_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/device/arena_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/device/bindless_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/device/column_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/device/columns.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/device/common.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/device/context_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/device/cuda_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/device/external_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/device/kernel_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/device/pose_step.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/device/profile_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/device/vulkan_devices_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/exr/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/exr/make_exr.py +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/exr/rgb_float_zip.exr +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/exr/rgba_half_window.exr +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/exr/y_half_zips.exr +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/ies/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/ies/downlight_quadrant.ies +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/ies/floodlight_type_b.ies +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/ies/lamp.tilt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/images/grey16.png +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/ktx2/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/ktx2/quadrants_etc1s.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/ktx2/quadrants_uastc_zstd.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/ktx2/tilted_normal_etc1s.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/ktx2/tilted_normal_uastc.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/scenes/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/scenes/invalid/problems.expected +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/scenes/invalid/problems.json +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/scenes/rover.json +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/scenes/rover.saved.json +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/tiff/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/tiff/float_deflate_predictor3.tif +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/tiff/float_raw.tif +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/tiff/int16_bigtiff_bigendian.tif +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/tiff/rgb_lzw_predictor2.tif +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/tiff/rgb_planar_lzw.tif +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/tiff/rgb_planar_raw.tif +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/tiff/rgb_tiled_deflate.tif +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/volumes/cube.nvdb +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/fixtures/volumes/make_nvdb.py +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/geometry/bounds_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/geometry/triangulation_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/graph/dependencies_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/graph/graph_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/io/ies_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/io/image_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/io/nanovdb_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/io/raster_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/io/texture_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/physics/astronomy_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/physics/atmosphere_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/physics/cloud_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/physics/reflectance_library_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/physics/regolith_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/physics/scattering_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/physics/solar_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/physics/spectrum_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/python/conftest.py +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/python/test_device_dlpack.py +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/python/test_device_torch.py +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/python/test_package.py +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/python/test_render.py +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/python/test_scene.py +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/python/test_scene_schema.py +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/render/acceleration_scene_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/render/camera_pass_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/render/common.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/render/device_scene_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/render/geometry_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/render/gradients_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/render/ray_tracer_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/render/scene_columns_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/render/transform_graph_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/edit_history_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/extent_cache_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/inherit_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/instancer_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/json_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/lux_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/mesh_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/path_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/planet_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/reference_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/render_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/scene_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/schema_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/shade_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/storage_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/time_samples_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/vol_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/scene/xform_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/algorithm_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/bytes_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/disk_cache_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/file_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/hash_index_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/linear_algebra_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/log_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/math_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/noise_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/parallel_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/profiler_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/tensor_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/text_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/version_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/tests/util/worker_pool_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/LICENSES/Apache-2.0.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/LICENSES/BSD-3-clause.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/LICENSES/MIT.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/NOTICE +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_astc_cfgs.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_astc_hdr_core.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_astc_helpers.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_containers.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_containers_impl.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_dds_transcoder.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_etc1_mods.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_file_headers.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_idct.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_transcoder.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_transcoder.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_transcoder_internal.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_transcoder_tables_astc.inc +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_transcoder_tables_astc_0_255.inc +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_55.inc +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_56.inc +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_alpha.inc +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_color.inc +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_5.inc +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_6.inc +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_45.inc +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_alpha_33.inc +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_transcoder_uastc.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_xbc7_decoder.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/transcoder/basisu_xbc7_decoder.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/zstd/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/zstd/zstd.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/basisu/zstd/zstd_errors.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/bc7enc/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/bc7enc/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/bc7enc/bc7decomp.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/bc7enc/bc7decomp.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/bc7enc/bc7enc.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/bc7enc/bc7enc.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/bc7enc/rgbcx.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/bc7enc/rgbcx.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/bc7enc/rgbcx_table4.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/bc7enc/rgbcx_table4_small.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/dlpack/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/dlpack/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/dlpack/include/dlpack/dlpack.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/copying.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/common.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/_features.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/_fixes.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/_noise.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/_swizzle.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/_swizzle_func.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/_vectorize.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/compute_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/compute_vector_decl.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/compute_vector_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_common.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_common_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_exponential.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_exponential_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_geometric.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_geometric_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_integer_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_matrix.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_matrix_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_packing.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_packing_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_trigonometric.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_trigonometric_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_vector_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/func_vector_relational_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/qualifier.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/setup.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_float.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_half.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_half.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat2x2.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat2x3.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat2x4.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat3x2.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat3x3.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat3x4.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat4x2.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat4x3.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat4x4.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_mat4x4_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_quat.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_quat.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_quat_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_vec1.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_vec1.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_vec2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_vec2.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_vec3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_vec3.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_vec4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_vec4.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/detail/type_vec_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/exponential.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/_matrix_vectorize.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_clip_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_clip_space.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_common.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double2x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double2x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double2x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double3x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double3x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double3x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double4x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double4x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_double4x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float2x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float2x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float2x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float3x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float3x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float3x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float4x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float4x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_float4x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int2x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int2x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int2x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int3x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int3x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int3x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int4x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int4x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_int4x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_projection.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_projection.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_transform.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint2x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint2x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint2x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint3x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint3x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint3x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint4x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint4x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/matrix_uint4x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_common.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_common_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_double.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_double_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_exponential.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_exponential.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_float.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_float_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_geometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_geometric.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_transform.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_trigonometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/quaternion_trigonometric.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_common.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_constants.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_constants.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_int_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_packing.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_reciprocal.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_reciprocal.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_uint_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_ulp.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/scalar_ulp.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_bool1.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_bool1_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_bool2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_bool2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_bool3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_bool3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_bool4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_bool4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_common.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_double1.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_double1_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_double2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_double2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_double3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_double3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_double4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_double4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_float1.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_float1_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_float2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_float2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_float3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_float3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_float4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_float4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_int1.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_int1_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_int2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_int2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_int3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_int3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_int4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_int4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_packing.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_reciprocal.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_reciprocal.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_uint1.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_uint1_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_uint2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_uint2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_uint3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_uint3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_uint4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_uint4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_ulp.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext/vector_ulp.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/ext.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/fwd.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/geometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/glm.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/bitfield.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/bitfield.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/color_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/color_space.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/constants.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/constants.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/epsilon.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/epsilon.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/integer.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/matrix_access.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/matrix_access.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/matrix_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/matrix_inverse.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/matrix_inverse.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/matrix_transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/matrix_transform.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/noise.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/noise.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/packing.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/quaternion.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/quaternion.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/quaternion_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/random.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/random.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/reciprocal.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/round.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/round.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/type_aligned.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/type_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/type_precision.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/type_ptr.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/type_ptr.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/ulp.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/ulp.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtc/vec1.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/associated_min_max.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/associated_min_max.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/bit.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/bit.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/closest_point.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/closest_point.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/color_encoding.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/color_encoding.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/color_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/color_space.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/color_space_YCoCg.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/color_space_YCoCg.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/common.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/common.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/compatibility.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/compatibility.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/component_wise.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/component_wise.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/dual_quaternion.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/dual_quaternion.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/easing.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/easing.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/euler_angles.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/euler_angles.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/extend.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/extend.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/extended_min_max.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/extended_min_max.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/exterior_product.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/exterior_product.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/fast_exponential.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/fast_exponential.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/fast_square_root.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/fast_square_root.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/fast_trigonometry.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/fast_trigonometry.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/float_normalize.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/functions.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/functions.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/gradient_paint.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/gradient_paint.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/handed_coordinate_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/handed_coordinate_space.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/hash.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/hash.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/integer.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/intersect.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/intersect.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/io.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/io.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/iteration.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/iteration.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/log_base.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/log_base.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_cross_product.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_cross_product.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_decompose.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_decompose.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_factorisation.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_factorisation.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_interpolation.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_interpolation.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_major_storage.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_major_storage.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_operation.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_operation.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_query.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_query.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_transform_2d.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/matrix_transform_2d.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/mixed_product.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/mixed_product.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/norm.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/norm.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/normal.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/normal.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/normalize_dot.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/normalize_dot.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/number_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/optimum_pow.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/optimum_pow.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/orthonormalize.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/orthonormalize.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/pca.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/pca.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/perpendicular.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/perpendicular.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/polar_coordinates.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/polar_coordinates.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/projection.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/projection.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/quaternion.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/quaternion.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/range.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/raw_data.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/raw_data.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/rotate_normalized_axis.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/rotate_normalized_axis.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/rotate_vector.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/rotate_vector.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/scalar_multiplication.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/scalar_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/scalar_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/spline.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/spline.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/std_based_type.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/std_based_type.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/string_cast.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/string_cast.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/structured_bindings.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/structured_bindings.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/texture.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/texture.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/transform.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/transform2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/transform2.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/type_aligned.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/type_aligned.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/type_trait.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/type_trait.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/vec_swizzle.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/vector_angle.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/vector_angle.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/vector_query.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/vector_query.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/wrap.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/gtx/wrap.inl +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/mat2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/mat2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/mat2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/mat3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/mat3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/mat3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/mat4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/mat4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/mat4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/matrix.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/simd/common.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/simd/exponential.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/simd/geometric.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/simd/integer.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/simd/matrix.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/simd/neon.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/simd/packing.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/simd/platform.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/simd/trigonometric.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/simd/vector_relational.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/trigonometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/vec2.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/vec3.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/vec4.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/glm/glm/vector_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/json/LICENSE.MIT +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/json/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/json/include/nlohmann/json.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/json/include/nlohmann/json_fwd.hpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/nanovdb/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/nanovdb/PNanoVDB.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/stb/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/stb/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/stb/stb_image.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/stb/stb_image_write.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/stb.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vma/LICENSE.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vma/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vma/include/vk_mem_alloc.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vma.cpp +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/volk/LICENSE.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/volk/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/volk/volk.c +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/volk/volk.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/LICENSE.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/LICENSES/Apache-2.0.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/LICENSES/MIT.txt +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/README.md +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_encode.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_encode.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_encode.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vk_video/vulkan_video_codecs_common.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vk_icd.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vk_layer.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vk_platform.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_android.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_beta.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_core.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_directfb.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_fuchsia.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_ggp.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_ios.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_macos.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_metal.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_ohos.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_screen.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_ubm.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_vi.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_wayland.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_win32.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_xcb.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/third_party/vulkan_headers/include/vulkan/vulkan_xlib.h +0 -0
- {ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/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 ".dev170" 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.dev170
|
|
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
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
#include "ernie/scene/schema/camera.h"
|
|
7
7
|
#include "ernie/scene/schema/geom.h"
|
|
8
8
|
#include "ernie/scene/schema/render.h"
|
|
9
|
+
#include "ernie/util/random.h"
|
|
9
10
|
|
|
10
11
|
#include <algorithm>
|
|
11
12
|
#include <array>
|
|
@@ -81,7 +82,10 @@ ProductSpec ReadProduct(const Scene& scene, const RenderSettingsBase& settings,
|
|
|
81
82
|
ReadLens(scene, *prim, size, pick(own.HasPixelAspectRatio()).GetPixelAspectRatio(),
|
|
82
83
|
pick(own.HasAspectRatioConformPolicy()).GetAspectRatioConformPolicy()),
|
|
83
84
|
.clipping = glm::vec2(Camera(scene, camera).GetClippingRange()),
|
|
84
|
-
.vars = ReadVars(scene, vars)
|
|
85
|
+
.vars = ReadVars(scene, vars),
|
|
86
|
+
.samples = static_cast<std::uint32_t>(std::max(1, pick(own.HasSamples()).GetSamples())),
|
|
87
|
+
.seed = static_cast<std::uint32_t>(pick(own.HasSeed()).GetSeed()),
|
|
88
|
+
.stream = HashStream(path.String())};
|
|
85
89
|
}
|
|
86
90
|
|
|
87
91
|
} // namespace
|
|
@@ -27,6 +27,11 @@ struct ProductSpec {
|
|
|
27
27
|
glm::vec2 clipping{0.0f, 1e30f};
|
|
28
28
|
/// Its vars' source names, in order.
|
|
29
29
|
std::vector<std::string> vars;
|
|
30
|
+
/// Samples a pixel per frame: `ernie:samples`, or the Minimal tier's one for 0.
|
|
31
|
+
std::uint32_t samples = 1;
|
|
32
|
+
/// `ernie:seed`, and its path hashed, which its random numbers are keyed by.
|
|
33
|
+
std::uint32_t seed = 0;
|
|
34
|
+
std::uint32_t stream = 0;
|
|
30
35
|
};
|
|
31
36
|
|
|
32
37
|
/// @return The products of the scene's first RenderSettings: its `products`, or one default
|
|
@@ -126,7 +126,10 @@ void Renderer::Device::Plan(const Scene& scene, const std::vector<ProductSpec>&
|
|
|
126
126
|
.lens = spec->lens,
|
|
127
127
|
.node = spec->camera.slot,
|
|
128
128
|
.world = spec->world,
|
|
129
|
-
.clipping = spec->clipping
|
|
129
|
+
.clipping = spec->clipping,
|
|
130
|
+
.samples = spec->samples,
|
|
131
|
+
.seed = spec->seed,
|
|
132
|
+
.stream = spec->stream});
|
|
130
133
|
}
|
|
131
134
|
if (i < batches.size()) {
|
|
132
135
|
batch.columns = std::move(batches[i].columns);
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
#include "ernie/render/rt/ray_tracer.h"
|
|
7
7
|
#include "ernie/render/transform_graph.h"
|
|
8
8
|
#include "ernie/shaders/device/bindless.h"
|
|
9
|
+
#include "ernie/shaders/sampling/random.h"
|
|
9
10
|
#include "ernie/shaders/sensors/camera.h"
|
|
10
11
|
#include "ernie/shaders/sensors/lens.h"
|
|
11
12
|
#include "ernie/shaders/spectral/spectrum.h"
|
|
@@ -45,7 +46,10 @@ View ToView(const CameraView& view, const glm::dvec3& origin, std::uint32_t firs
|
|
|
45
46
|
.first = first,
|
|
46
47
|
.world = view.world,
|
|
47
48
|
.near = view.clipping.x,
|
|
48
|
-
.far = view.clipping.y
|
|
49
|
+
.far = view.clipping.y,
|
|
50
|
+
.samples = std::max(view.samples, 1u),
|
|
51
|
+
.seed = view.seed,
|
|
52
|
+
.stream = view.stream};
|
|
49
53
|
}
|
|
50
54
|
|
|
51
55
|
} // namespace
|
|
@@ -68,8 +72,8 @@ std::span<const ShaderModule> CameraPass::Modules() {
|
|
|
68
72
|
for (const ShaderModule& module : TransformGraph::WorldModules().subspan(1)) {
|
|
69
73
|
list.push_back(module);
|
|
70
74
|
}
|
|
71
|
-
list.insert(list.end(),
|
|
72
|
-
|
|
75
|
+
list.insert(list.end(), {shaders::kBindless, shaders::kSpectrum, shaders::kLens,
|
|
76
|
+
shaders::kRandom, shaders::kCamera});
|
|
73
77
|
return list;
|
|
74
78
|
}();
|
|
75
79
|
return modules;
|
|
@@ -158,6 +162,7 @@ void CameraPass::Add(graph::Graph& graph, std::span<const CameraView> views,
|
|
|
158
162
|
.worlds = pass.Get(scene.transforms).BufferRef<glm::vec4>(),
|
|
159
163
|
.colours = pass.Get(scene.colours).BufferRef<float>(),
|
|
160
164
|
.instancePrims = pass.Get(scene.prims).BufferRef<shaders::uint>(),
|
|
165
|
+
.frame = pass.Get(scene.frame).BufferRef<shaders::uint>(),
|
|
161
166
|
.count = static_cast<std::uint32_t>(records.size())};
|
|
162
167
|
kernel_.Dispatch(
|
|
163
168
|
pass.commands,
|
|
@@ -49,6 +49,12 @@ struct CameraView {
|
|
|
49
49
|
std::uint32_t world = 0;
|
|
50
50
|
/// Metres along the view axis to the near and far clipping planes.
|
|
51
51
|
glm::vec2 clipping{0.0f, 1e30f};
|
|
52
|
+
/// Jittered rays a pixel's colour and albedo average; 1 for one through its middle.
|
|
53
|
+
std::uint32_t samples = 1;
|
|
54
|
+
/// What its random numbers are keyed by, with the device's frame number: the settings'
|
|
55
|
+
/// seed and its render product's path, hashed (`HashStream`).
|
|
56
|
+
std::uint32_t seed = 0;
|
|
57
|
+
std::uint32_t stream = 0;
|
|
52
58
|
/// Three rows of four floats, camera to world relative to the render origin, which the pass
|
|
53
59
|
/// reads on the device in place of `cameraToWorld` when there is no node: a pose uploaded
|
|
54
60
|
/// each frame, so recorded commands replay as it moves.
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
#include "ernie/render/rt/ray_tracer.h"
|
|
5
5
|
|
|
6
6
|
#include "ernie/shaders/device/buffer_ref.h"
|
|
7
|
+
#include "ernie/shaders/rt/frame_count.h"
|
|
7
8
|
#include "ernie/shaders/rt/ray_tracer.h"
|
|
8
9
|
#include "ernie/shaders/scene/geometry.h"
|
|
9
10
|
#include "ernie/shaders/scene/shapes.h"
|
|
@@ -13,9 +14,22 @@
|
|
|
13
14
|
|
|
14
15
|
namespace ernie {
|
|
15
16
|
|
|
17
|
+
namespace {
|
|
18
|
+
|
|
19
|
+
std::vector<std::uint32_t> CompileCounter(const ShaderCompiler& compiler) {
|
|
20
|
+
const std::array modules{shaders::kBufferRef, shaders::kFrameCount};
|
|
21
|
+
return compiler.Spirv(modules, "main");
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
} // namespace
|
|
25
|
+
|
|
16
26
|
RayTracer::RayTracer(DeviceContext& context, Arenas& arenas, const ShaderCompiler& compiler,
|
|
17
27
|
const GeometryPool& geometry)
|
|
18
|
-
: geometry_(geometry), bottoms_(context, arenas, geometry), tops_(context, arenas, compiler)
|
|
28
|
+
: geometry_(geometry), bottoms_(context, arenas, geometry), tops_(context, arenas, compiler),
|
|
29
|
+
counter_(context, CompileCounter(compiler), "count the frame",
|
|
30
|
+
std::uint32_t{sizeof(shaders::BufferRef<std::uint32_t>)}),
|
|
31
|
+
frame_(std::make_unique<DeviceColumn>(arenas, "frame number", DType::UInt32,
|
|
32
|
+
std::vector<std::int64_t>{}, 1)) {}
|
|
19
33
|
|
|
20
34
|
std::span<const ShaderModule> RayTracer::Modules() {
|
|
21
35
|
static const std::array modules{shaders::kBufferRef, shaders::kGeometry, shaders::kShapes,
|
|
@@ -28,6 +42,30 @@ void RayTracer::AddBuild(graph::Graph& graph, const GeometryPool::Changes& chang
|
|
|
28
42
|
bool rebuildTops) {
|
|
29
43
|
ERNIE_ZONE("Update the ray tracer");
|
|
30
44
|
const graph::Graph::ScopeGuard scope = graph.Scope("Ray tracer");
|
|
45
|
+
graph::Buffer frame = graph.Import(*frame_);
|
|
46
|
+
if (!counting_) {
|
|
47
|
+
// From zero, so the same steps key the same random numbers.
|
|
48
|
+
graph.Add(
|
|
49
|
+
"Start counting frames", graph::Kind::Copy,
|
|
50
|
+
[&](graph::PassBuilder& pass) {
|
|
51
|
+
pass.OneShot();
|
|
52
|
+
frame = pass.Write(frame, graph::Use::CopyDst);
|
|
53
|
+
},
|
|
54
|
+
[frame](graph::PassContext& pass) {
|
|
55
|
+
const graph::BufferSlice slice = pass.Get(frame);
|
|
56
|
+
const std::uint32_t zero = 0;
|
|
57
|
+
pass.commands.Update(*slice.buffer, slice.offset,
|
|
58
|
+
std::as_bytes(std::span(&zero, 1)));
|
|
59
|
+
});
|
|
60
|
+
counting_ = true;
|
|
61
|
+
}
|
|
62
|
+
// Recorded once and run every frame, replays too.
|
|
63
|
+
graph.Add(
|
|
64
|
+
"Count the frame", graph::Kind::Compute,
|
|
65
|
+
[&](graph::PassBuilder& pass) { frame = pass.WriteAddress(frame); },
|
|
66
|
+
[this, frame](graph::PassContext& pass) {
|
|
67
|
+
counter_.Dispatch(pass.commands, {1, 1, 1}, pass.Get(frame).BufferRef<std::uint32_t>());
|
|
68
|
+
});
|
|
31
69
|
bottoms_.Apply(changes);
|
|
32
70
|
bottoms_.AddBuilds(graph);
|
|
33
71
|
const graph::Acceleration top =
|
|
@@ -47,6 +85,7 @@ void RayTracer::AddBuild(graph::Graph& graph, const GeometryPool::Changes& chang
|
|
|
47
85
|
.colours = graph.Import(instances.Colours()),
|
|
48
86
|
.prims = graph.Import(instances.Nodes()),
|
|
49
87
|
.transforms = graph.Import(transforms.Worlds()),
|
|
88
|
+
.frame = frame,
|
|
50
89
|
.origin = transforms.Origin()});
|
|
51
90
|
}
|
|
52
91
|
|
|
@@ -44,6 +44,8 @@ struct TraceScene {
|
|
|
44
44
|
graph::Buffer prims;
|
|
45
45
|
/// The transform graph's worlds, for poses read on the device.
|
|
46
46
|
graph::Buffer transforms;
|
|
47
|
+
/// The frame's number, a uint counted on the device, which random numbers are keyed by.
|
|
48
|
+
graph::Buffer frame;
|
|
47
49
|
/// The render origin the structures are relative to: rays start from points less it.
|
|
48
50
|
glm::dvec3 origin{0.0};
|
|
49
51
|
|
|
@@ -53,7 +55,7 @@ struct TraceScene {
|
|
|
53
55
|
for (const graph::Buffer& buffer : tables) {
|
|
54
56
|
pass.ReadAddress(buffer);
|
|
55
57
|
}
|
|
56
|
-
for (const graph::Buffer& buffer : {colours, prims, transforms}) {
|
|
58
|
+
for (const graph::Buffer& buffer : {colours, prims, transforms, frame}) {
|
|
57
59
|
pass.ReadAddress(buffer);
|
|
58
60
|
}
|
|
59
61
|
}
|
|
@@ -75,7 +77,7 @@ class RayTracer {
|
|
|
75
77
|
|
|
76
78
|
/// @brief Adds the passes that bring the structures up to date with the frame's geometry
|
|
77
79
|
/// changes, after the transforms and the geometry's and instances' uploads, and puts a
|
|
78
|
-
/// `TraceScene` on the graph's blackboard.
|
|
80
|
+
/// `TraceScene` on the graph's blackboard, after a pass counting the frame on the device.
|
|
79
81
|
/// @param rebuildTops Whether to build the top levels, as `TopLevels::AddBuild` takes it.
|
|
80
82
|
void AddBuild(graph::Graph& graph, const GeometryPool::Changes& changes,
|
|
81
83
|
const TransformGraph& transforms, const InstanceTable& instances,
|
|
@@ -92,6 +94,10 @@ class RayTracer {
|
|
|
92
94
|
const GeometryPool& geometry_;
|
|
93
95
|
BottomLevels bottoms_;
|
|
94
96
|
TopLevels tops_;
|
|
97
|
+
ComputeKernel counter_;
|
|
98
|
+
/// The frame's number, counted on the device from zero once started.
|
|
99
|
+
std::unique_ptr<DeviceColumn> frame_;
|
|
100
|
+
bool counting_ = false;
|
|
95
101
|
};
|
|
96
102
|
|
|
97
103
|
} // namespace ernie
|
|
@@ -5,8 +5,10 @@ ernie_add_shaders(
|
|
|
5
5
|
device/buffer_ref.slang
|
|
6
6
|
math/affine.slang
|
|
7
7
|
math/double_float.slang
|
|
8
|
+
rt/frame_count.slang
|
|
8
9
|
rt/ray_tracer.slang
|
|
9
10
|
rt/write_instances.slang
|
|
11
|
+
sampling/random.slang
|
|
10
12
|
scene/geometry.slang
|
|
11
13
|
scene/instance_colours.slang
|
|
12
14
|
scene/shapes.slang
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
/// @file frame_count.slang
|
|
3
|
+
/// @brief The device scene's frame number, counted on the device: one thread adds one each
|
|
4
|
+
/// frame, so frames replayed from recorded commands count too, and the random numbers keyed by
|
|
5
|
+
/// frame differ from one to the next.
|
|
6
|
+
import buffer_ref;
|
|
7
|
+
|
|
8
|
+
[shader("compute")]
|
|
9
|
+
[numthreads(1, 1, 1)]
|
|
10
|
+
void main(uniform BufferRef<uint> frame) {
|
|
11
|
+
frame[0] = frame[0] + 1;
|
|
12
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
/// @file random.slang
|
|
3
|
+
/// @brief Deterministic random numbers keyed by sample identity, as util/random.h computes them on
|
|
4
|
+
/// the host, bit for bit: hashed uniform numbers, and an Owen-scrambled Sobol sequence over a
|
|
5
|
+
/// pixel's samples. Any sample's numbers are regenerated without the ones before it, in any
|
|
6
|
+
/// order, as a backward pass replays a path.
|
|
7
|
+
///
|
|
8
|
+
/// import random;
|
|
9
|
+
/// SampleKey key = { frameSeed, view, pixel, sample };
|
|
10
|
+
/// float2 jitter = float2(SampleSobol(key, kPixelDimension),
|
|
11
|
+
/// SampleSobol(key, kPixelDimension + 1));
|
|
12
|
+
///
|
|
13
|
+
/// References:
|
|
14
|
+
/// - M. Jarzynski and M. Olano, "Hash Functions for GPU Rendering", JCGT 9(3), 2020.
|
|
15
|
+
/// - B. Burley, "Practical Hash-based Owen Scrambling", JCGT 9(4), 2020.
|
|
16
|
+
/// - M. Pharr, W. Jakob and G. Humphreys, "Physically Based Rendering", 4th edition, 2023
|
|
17
|
+
/// (`PaddedSobolSampler`).
|
|
18
|
+
|
|
19
|
+
/// Each feature's dimensions, fixed so adding one reshuffles none of the others. Each pair is
|
|
20
|
+
/// stratified on its own: the pixel's position, the lens's, then time with the band.
|
|
21
|
+
static const uint kPixelDimension = 0;
|
|
22
|
+
static const uint kLensDimension = 2;
|
|
23
|
+
static const uint kTimeDimension = 4;
|
|
24
|
+
static const uint kBandDimension = 5;
|
|
25
|
+
|
|
26
|
+
/// Identifies one sample: which frame (`FrameSeed` on the host), view, pixel and sample it is.
|
|
27
|
+
struct SampleKey {
|
|
28
|
+
uint frameSeed;
|
|
29
|
+
uint view;
|
|
30
|
+
uint pixel;
|
|
31
|
+
uint sample;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/// @return The pcg3d hash of `v`.
|
|
35
|
+
uint3 Pcg3d(uint3 v) {
|
|
36
|
+
v = v * 1664525u + 1013904223u;
|
|
37
|
+
v.x += v.y * v.z;
|
|
38
|
+
v.y += v.z * v.x;
|
|
39
|
+
v.z += v.x * v.y;
|
|
40
|
+
v = v ^ (v >> 16u);
|
|
41
|
+
v.x += v.y * v.z;
|
|
42
|
+
v.y += v.z * v.x;
|
|
43
|
+
v.z += v.x * v.y;
|
|
44
|
+
return v;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/// @return The pcg4d hash of `v`.
|
|
48
|
+
uint4 Pcg4d(uint4 v) {
|
|
49
|
+
v = v * 1664525u + 1013904223u;
|
|
50
|
+
v.x += v.y * v.w;
|
|
51
|
+
v.y += v.z * v.x;
|
|
52
|
+
v.z += v.x * v.y;
|
|
53
|
+
v.w += v.y * v.z;
|
|
54
|
+
v = v ^ (v >> 16u);
|
|
55
|
+
v.x += v.y * v.w;
|
|
56
|
+
v.y += v.z * v.x;
|
|
57
|
+
v.z += v.x * v.y;
|
|
58
|
+
v.w += v.y * v.z;
|
|
59
|
+
return v;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/// @return The seed of frame `frame` of stream `stream` (a render product's path hashed) under
|
|
63
|
+
/// the authored `seed`, as the host's `FrameSeed` gives it for frames below 2^32.
|
|
64
|
+
uint FrameSeed(uint seed, uint stream, uint frame) {
|
|
65
|
+
uint3 h = Pcg3d(uint3(seed, stream, frame));
|
|
66
|
+
return h.x ^ h.y ^ h.z;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/// @return 32 random bits for dimension `dimension` of a sample.
|
|
70
|
+
uint SampleBits(SampleKey key, uint dimension) {
|
|
71
|
+
uint4 h = Pcg4d(uint4(key.pixel, key.sample, dimension, key.view ^ key.frameSeed));
|
|
72
|
+
return h.x ^ Pcg3d(uint3(h.y, h.z, key.frameSeed)).x;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/// @return A uniform number in [0, 1) for dimension `dimension` of a sample, with 24 random bits.
|
|
76
|
+
float SampleUniform(SampleKey key, uint dimension) {
|
|
77
|
+
return float(SampleBits(key, dimension) >> 8u) * (1.0 / 16777216.0);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/// @return `x` permuted as an Owen scramble does, keyed by `seed`, in reversed bit order.
|
|
81
|
+
uint LaineKarrasPermutation(uint x, uint seed) {
|
|
82
|
+
x += seed;
|
|
83
|
+
x ^= x * 0x6c50b47cu;
|
|
84
|
+
x ^= x * 0xb82f1e52u;
|
|
85
|
+
x ^= x * 0xc7afe638u;
|
|
86
|
+
x ^= x * 0x8d22f6e6u;
|
|
87
|
+
return x;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/// @return `x` Owen-scrambled under `seed`.
|
|
91
|
+
uint NestedUniformScramble(uint x, uint seed) {
|
|
92
|
+
return reversebits(LaineKarrasPermutation(reversebits(x), seed));
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/// @return `value` folded into a 32-bit `seed`.
|
|
96
|
+
uint CombineSeed(uint seed, uint value) {
|
|
97
|
+
return seed ^ (value + (seed << 6u) + (seed >> 2u));
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/// The Sobol sequence's direction numbers for its first two dimensions: a (0,2)-sequence.
|
|
101
|
+
static const uint kSobolDirections[2][32] = {
|
|
102
|
+
{ 0x80000000, 0x40000000, 0x20000000, 0x10000000, 0x08000000, 0x04000000, 0x02000000,
|
|
103
|
+
0x01000000, 0x00800000, 0x00400000, 0x00200000, 0x00100000, 0x00080000, 0x00040000,
|
|
104
|
+
0x00020000, 0x00010000, 0x00008000, 0x00004000, 0x00002000, 0x00001000, 0x00000800,
|
|
105
|
+
0x00000400, 0x00000200, 0x00000100, 0x00000080, 0x00000040, 0x00000020, 0x00000010,
|
|
106
|
+
0x00000008, 0x00000004, 0x00000002, 0x00000001 },
|
|
107
|
+
{ 0x80000000, 0xc0000000, 0xa0000000, 0xf0000000, 0x88000000, 0xcc000000, 0xaa000000,
|
|
108
|
+
0xff000000, 0x80800000, 0xc0c00000, 0xa0a00000, 0xf0f00000, 0x88880000, 0xcccc0000,
|
|
109
|
+
0xaaaa0000, 0xffff0000, 0x80008000, 0xc000c000, 0xa000a000, 0xf000f000, 0x88008800,
|
|
110
|
+
0xcc00cc00, 0xaa00aa00, 0xff00ff00, 0x80808080, 0xc0c0c0c0, 0xa0a0a0a0, 0xf0f0f0f0,
|
|
111
|
+
0x88888888, 0xcccccccc, 0xaaaaaaaa, 0xffffffff }
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
/// @return Point `index`'s coordinate `dimension` (0 or 1) of the Sobol sequence, as 32 bits.
|
|
115
|
+
uint SobolBits(uint index, uint dimension) {
|
|
116
|
+
uint bits = 0;
|
|
117
|
+
for (uint bit = 0; index != 0; ++bit, index >>= 1u) {
|
|
118
|
+
if ((index & 1u) != 0) {
|
|
119
|
+
bits ^= kSobolDirections[dimension][bit];
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return bits;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/// @return A low-discrepancy number in [0, 1) for dimension `dimension` of a sample, with 24
|
|
126
|
+
/// bits: an Owen-scrambled, shuffled Sobol sequence over the pixel's samples, each pair of
|
|
127
|
+
/// dimensions Sobol's first two under a scramble of its own.
|
|
128
|
+
float SampleSobol(SampleKey key, uint dimension) {
|
|
129
|
+
uint pair = dimension / 2u;
|
|
130
|
+
uint seed = Pcg4d(uint4(key.pixel, pair, key.view, key.frameSeed)).x;
|
|
131
|
+
uint index = NestedUniformScramble(key.sample, seed);
|
|
132
|
+
uint bits = NestedUniformScramble(SobolBits(index, dimension % 2u),
|
|
133
|
+
CombineSeed(seed, dimension % 2u));
|
|
134
|
+
return float(bits >> 8u) * (1.0 / 16777216.0);
|
|
135
|
+
}
|
{ernie_renderer-0.2.0.dev168 → ernie_renderer-0.2.0.dev170}/ernie/shaders/sensors/camera.slang
RENAMED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
2
|
/// @file camera.slang
|
|
3
|
-
/// @brief Cameras traced
|
|
4
|
-
///
|
|
5
|
-
///
|
|
6
|
-
///
|
|
3
|
+
/// @brief Cameras traced through their lenses, every view in one dispatch: a headlit colour into
|
|
4
|
+
/// a bindless image, and each pixel's distance, world normal, instance, prim, albedo and RGBA8
|
|
5
|
+
/// colour into buffers kernels, CUDA or PyTorch read. One ray through a pixel's middle gives its
|
|
6
|
+
/// geometry; with more samples, its colour and albedo average rays jittered across it by keyed
|
|
7
|
+
/// Sobol samples. The views and parameters are shared with C++ (rt/camera_pass.cpp).
|
|
7
8
|
#ifdef __cplusplus
|
|
8
9
|
#pragma once
|
|
9
10
|
#include "ernie/shaders/rt/ray_tracer.slang"
|
|
@@ -15,6 +16,7 @@ import bindless;
|
|
|
15
16
|
import ray_tracer;
|
|
16
17
|
import buffer_ref;
|
|
17
18
|
import lens;
|
|
19
|
+
import random;
|
|
18
20
|
import spectrum;
|
|
19
21
|
import transform;
|
|
20
22
|
#endif
|
|
@@ -45,6 +47,12 @@ struct View {
|
|
|
45
47
|
/// `clippingRange`: nothing nearer or farther is seen.
|
|
46
48
|
float near;
|
|
47
49
|
float far;
|
|
50
|
+
/// Jittered rays a pixel's colour and albedo average; 1 for one through its middle.
|
|
51
|
+
uint samples;
|
|
52
|
+
/// What its random numbers are keyed by, with the frame: the settings' seed and its render
|
|
53
|
+
/// product's path, hashed.
|
|
54
|
+
uint seed;
|
|
55
|
+
uint stream;
|
|
48
56
|
/// Per pixel, row by row: the hit distance (infinity for none), the world normal's x, y and
|
|
49
57
|
/// z, the instance row, the prim's slot, `kBands` albedo bands, and the colour image's RGBA8
|
|
50
58
|
/// bytes; each null for no output.
|
|
@@ -68,6 +76,8 @@ struct CameraParameters {
|
|
|
68
76
|
/// Each instance row's albedo, three linear RGB floats, and its prim's slot.
|
|
69
77
|
BufferRef<float> colours;
|
|
70
78
|
BufferRef<uint> instancePrims;
|
|
79
|
+
/// The frame's number, counted on the device.
|
|
80
|
+
BufferRef<uint> frame;
|
|
71
81
|
uint count;
|
|
72
82
|
};
|
|
73
83
|
|
|
@@ -86,9 +96,10 @@ Spectrum Shade(Spectrum albedo, float3 normal, no_diff float3 direction) {
|
|
|
86
96
|
return albedo.Scaled(lerp(kAmbient, 1.0, lit));
|
|
87
97
|
}
|
|
88
98
|
|
|
89
|
-
/// @return A view's ray through
|
|
90
|
-
|
|
91
|
-
|
|
99
|
+
/// @return A view's ray through a pixel at `offset` across it, its middle by default, from the
|
|
100
|
+
/// camera's pose `toWorld`.
|
|
101
|
+
RayDesc PixelRay(View view, float3x4 toWorld, uint2 pixel, float2 offset = float2(0.5)) {
|
|
102
|
+
LensRay ray = Unproject(view.lens, float2(pixel) + offset);
|
|
92
103
|
// The clipping planes are across the view axis: a ray off axis reaches them farther along.
|
|
93
104
|
float along = max(-ray.direction.z, 1e-6);
|
|
94
105
|
return { mul(toWorld, float4(ray.origin, 1)), view.near / along,
|
|
@@ -107,13 +118,28 @@ float3x4 ViewPose(View view, BufferRef<float4> worlds) {
|
|
|
107
118
|
return float3x4(pose.rows[0], pose.rows[1], pose.rows[2]);
|
|
108
119
|
}
|
|
109
120
|
|
|
110
|
-
/// @
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
121
|
+
/// @return An instance's albedo.
|
|
122
|
+
Spectrum InstanceAlbedo(CameraParameters parameters, uint instance) {
|
|
123
|
+
uint colour = 3 * instance;
|
|
124
|
+
return Uplift(float3(parameters.colours[colour], parameters.colours[colour + 1],
|
|
125
|
+
parameters.colours[colour + 2]));
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/// @return What a ray shows, in linear sRGB: its hit lit from the eye, or the background.
|
|
129
|
+
float3 RayColour(View view, RayTracer tracer, CameraParameters parameters, RayDesc ray,
|
|
130
|
+
out Spectrum albedo) {
|
|
131
|
+
Hit hit = tracer.TraceClosest(ray, 0xff);
|
|
132
|
+
albedo = Spectrum(0);
|
|
133
|
+
if (!hit.found) {
|
|
134
|
+
return pow(view.background, 2.2);
|
|
116
135
|
}
|
|
136
|
+
albedo = InstanceAlbedo(parameters, hit.instance);
|
|
137
|
+
return saturate(ToLinearSrgb(Shade(albedo, tracer.WorldNormal(hit), ray.Direction)));
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/// @brief Writes the colour a pixel shows, as stored, to the view's image and RGBA8 buffer, as
|
|
141
|
+
/// it asks.
|
|
142
|
+
void WriteColour(View view, uint2 pixel, uint at, float3 shown) {
|
|
117
143
|
if (view.colour != kNoImage) {
|
|
118
144
|
images[NonUniformResourceIndex(view.colour)][pixel] = float4(shown, 1);
|
|
119
145
|
}
|
|
@@ -134,21 +160,45 @@ void main(uint3 id : SV_DispatchThreadID, uniform CameraParameters parameters) {
|
|
|
134
160
|
if (any(pixel >= view.size)) {
|
|
135
161
|
return;
|
|
136
162
|
}
|
|
137
|
-
|
|
163
|
+
float3x4 toWorld = ViewPose(view, parameters.worlds);
|
|
164
|
+
RayDesc ray = PixelRay(view, toWorld, pixel);
|
|
138
165
|
RayTracer tracer = RayTracer(parameters.tracer, view.world);
|
|
139
166
|
Hit hit = tracer.TraceClosest(ray, 0xff);
|
|
140
167
|
float3 normal = float3(0);
|
|
141
168
|
Spectrum albedo = Spectrum(0);
|
|
169
|
+
// Stored as UNORM: encoded for display roughly as sRGB would.
|
|
170
|
+
float3 shown = view.background;
|
|
142
171
|
if (hit.found) {
|
|
143
172
|
normal = tracer.WorldNormal(hit);
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
parameters.colours[colour + 2]));
|
|
173
|
+
albedo = InstanceAlbedo(parameters, hit.instance);
|
|
174
|
+
shown = pow(saturate(ToLinearSrgb(Shade(albedo, normal, ray.Direction))), 1 / 2.2);
|
|
147
175
|
}
|
|
148
176
|
|
|
149
|
-
uint
|
|
177
|
+
uint pixelIndex = pixel.y * view.size.x + pixel.x;
|
|
178
|
+
uint at = view.first + pixelIndex;
|
|
179
|
+
bool coloured = view.colour != kNoImage || !view.ldr.IsNull() || !view.albedos.IsNull();
|
|
180
|
+
if (view.samples > 1 && coloured) {
|
|
181
|
+
// Colour and albedo integrate the pixel's area; the frame number keys each frame's own
|
|
182
|
+
// samples, as replayed frames count it.
|
|
183
|
+
SampleKey key = { FrameSeed(view.seed, view.stream,
|
|
184
|
+
parameters.frame.IsNull() ? 0 : parameters.frame[0]),
|
|
185
|
+
0, pixelIndex, 0 };
|
|
186
|
+
float3 linear = float3(0);
|
|
187
|
+
Spectrum albedos = Spectrum(0);
|
|
188
|
+
for (uint sample = 0; sample < view.samples; ++sample) {
|
|
189
|
+
key.sample = sample;
|
|
190
|
+
float2 offset = float2(SampleSobol(key, kPixelDimension),
|
|
191
|
+
SampleSobol(key, kPixelDimension + 1));
|
|
192
|
+
Spectrum sampled;
|
|
193
|
+
linear += RayColour(view, tracer, parameters, PixelRay(view, toWorld, pixel, offset),
|
|
194
|
+
sampled);
|
|
195
|
+
albedos = albedos.Plus(sampled);
|
|
196
|
+
}
|
|
197
|
+
shown = pow(linear / float(view.samples), 1 / 2.2);
|
|
198
|
+
albedo = albedos.Scaled(1.0 / float(view.samples));
|
|
199
|
+
}
|
|
150
200
|
if (view.colour != kNoImage || !view.ldr.IsNull()) {
|
|
151
|
-
WriteColour(view, pixel, at,
|
|
201
|
+
WriteColour(view, pixel, at, shown);
|
|
152
202
|
}
|
|
153
203
|
if (!view.distances.IsNull()) {
|
|
154
204
|
view.distances[at] = hit.found ? hit.t : 1.0 / 0.0;
|
|
@@ -93,6 +93,80 @@ inline constexpr float SampleUniform(const SampleKey& key, std::uint32_t dimensi
|
|
|
93
93
|
return static_cast<float>(SampleBits(key, dimension) >> 8u) * (1.0f / 16777216.0f);
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
+
/// @return `x`'s bits in reverse order.
|
|
97
|
+
inline constexpr std::uint32_t ReverseBits(std::uint32_t x) {
|
|
98
|
+
x = ((x >> 1u) & 0x55555555u) | ((x & 0x55555555u) << 1u);
|
|
99
|
+
x = ((x >> 2u) & 0x33333333u) | ((x & 0x33333333u) << 2u);
|
|
100
|
+
x = ((x >> 4u) & 0x0f0f0f0fu) | ((x & 0x0f0f0f0fu) << 4u);
|
|
101
|
+
x = ((x >> 8u) & 0x00ff00ffu) | ((x & 0x00ff00ffu) << 8u);
|
|
102
|
+
return (x >> 16u) | (x << 16u);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/// @return `x` permuted as an Owen scramble does, keyed by `seed`: each bit flipped by a hash of
|
|
106
|
+
/// the bits below it, in the reversed order `NestedUniformScramble` hands it.
|
|
107
|
+
inline constexpr std::uint32_t LaineKarrasPermutation(std::uint32_t x, std::uint32_t seed) {
|
|
108
|
+
x += seed;
|
|
109
|
+
x ^= x * 0x6c50b47cu;
|
|
110
|
+
x ^= x * 0xb82f1e52u;
|
|
111
|
+
x ^= x * 0xc7afe638u;
|
|
112
|
+
x ^= x * 0x8d22f6e6u;
|
|
113
|
+
return x;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/// @return `x` Owen-scrambled under `seed`: each bit flipped by a hash of the bits above it.
|
|
117
|
+
inline constexpr std::uint32_t NestedUniformScramble(std::uint32_t x, std::uint32_t seed) {
|
|
118
|
+
return ReverseBits(LaineKarrasPermutation(ReverseBits(x), seed));
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/// @return `value` folded into a 32-bit `seed`.
|
|
122
|
+
inline constexpr std::uint32_t CombineSeed(std::uint32_t seed, std::uint32_t value) {
|
|
123
|
+
return seed ^ (value + (seed << 6u) + (seed >> 2u));
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/// The Sobol sequence's direction numbers for its first two dimensions, van der Corput's and Joe
|
|
127
|
+
/// and Kuo's first: together a (0,2)-sequence, stratified in every pair of grid sizes.
|
|
128
|
+
inline constexpr std::uint32_t kSobolDirections[2][32] = {
|
|
129
|
+
{0x80000000, 0x40000000, 0x20000000, 0x10000000, 0x08000000, 0x04000000, 0x02000000,
|
|
130
|
+
0x01000000, 0x00800000, 0x00400000, 0x00200000, 0x00100000, 0x00080000, 0x00040000,
|
|
131
|
+
0x00020000, 0x00010000, 0x00008000, 0x00004000, 0x00002000, 0x00001000, 0x00000800,
|
|
132
|
+
0x00000400, 0x00000200, 0x00000100, 0x00000080, 0x00000040, 0x00000020, 0x00000010,
|
|
133
|
+
0x00000008, 0x00000004, 0x00000002, 0x00000001},
|
|
134
|
+
{0x80000000, 0xc0000000, 0xa0000000, 0xf0000000, 0x88000000, 0xcc000000, 0xaa000000,
|
|
135
|
+
0xff000000, 0x80800000, 0xc0c00000, 0xa0a00000, 0xf0f00000, 0x88880000, 0xcccc0000,
|
|
136
|
+
0xaaaa0000, 0xffff0000, 0x80008000, 0xc000c000, 0xa000a000, 0xf000f000, 0x88008800,
|
|
137
|
+
0xcc00cc00, 0xaa00aa00, 0xff00ff00, 0x80808080, 0xc0c0c0c0, 0xa0a0a0a0, 0xf0f0f0f0,
|
|
138
|
+
0x88888888, 0xcccccccc, 0xaaaaaaaa, 0xffffffff}};
|
|
139
|
+
|
|
140
|
+
/// @return Point `index`'s coordinate `dimension` (0 or 1) of the Sobol sequence, as 32 bits.
|
|
141
|
+
inline constexpr std::uint32_t SobolBits(std::uint32_t index, std::uint32_t dimension) {
|
|
142
|
+
std::uint32_t bits = 0;
|
|
143
|
+
for (std::uint32_t bit = 0; index != 0; ++bit, index >>= 1u) {
|
|
144
|
+
if ((index & 1u) != 0) {
|
|
145
|
+
bits ^= kSobolDirections[dimension][bit];
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return bits;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/// A low-discrepancy number in [0, 1) for dimension `dimension` of a sample, with 24 bits: an
|
|
152
|
+
/// Owen-scrambled, shuffled Sobol sequence over the pixel's samples. Dimensions come in pairs,
|
|
153
|
+
/// each Sobol's first two dimensions under a scramble of its own, so a pixel's first 2^k samples
|
|
154
|
+
/// stratify every pair as a (0,2)-sequence does, and a feature's dimensions keep their samples
|
|
155
|
+
/// when others are added. Shaders implement the same function.
|
|
156
|
+
///
|
|
157
|
+
/// References:
|
|
158
|
+
/// - B. Burley, "Practical Hash-based Owen Scrambling", JCGT 9(4), 2020.
|
|
159
|
+
/// - M. Pharr, W. Jakob and G. Humphreys, "Physically Based Rendering", 4th edition, 2023
|
|
160
|
+
/// (`PaddedSobolSampler`).
|
|
161
|
+
inline constexpr float SampleSobol(const SampleKey& key, std::uint32_t dimension) {
|
|
162
|
+
const std::uint32_t pair = dimension / 2u;
|
|
163
|
+
const std::uint32_t seed = Pcg4d(glm::uvec4(key.pixel, pair, key.view, key.frameSeed)).x;
|
|
164
|
+
const std::uint32_t index = NestedUniformScramble(key.sample, seed);
|
|
165
|
+
const std::uint32_t bits =
|
|
166
|
+
NestedUniformScramble(SobolBits(index, dimension % 2u), CombineSeed(seed, dimension % 2u));
|
|
167
|
+
return static_cast<float>(bits >> 8u) * (1.0f / 16777216.0f);
|
|
168
|
+
}
|
|
169
|
+
|
|
96
170
|
/// @brief SplitMix64's finaliser: every input bit affects every output bit.
|
|
97
171
|
/// @param z The bits.
|
|
98
172
|
/// @return Them mixed.
|