ernie-renderer 0.2.0.dev121__tar.gz → 0.2.0.dev127__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.dev121 → ernie_renderer-0.2.0.dev127}/CMakeLists.txt +1 -1
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/PKG-INFO +1 -1
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/app/viewer.cpp +37 -13
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/app/viewer.h +10 -4
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/CMakeLists.txt +1 -0
- ernie_renderer-0.2.0.dev127/ernie/render/camera_pass.cpp +151 -0
- ernie_renderer-0.2.0.dev127/ernie/render/camera_pass.h +80 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/device_scene.cpp +12 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/device_scene.h +8 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/geometry.cpp +33 -7
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/geometry.h +6 -3
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/instances.cpp +10 -4
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/instances.h +8 -2
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/rt/ray_tracer.cpp +5 -1
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/rt/ray_tracer.h +8 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/shaders/CMakeLists.txt +3 -0
- ernie_renderer-0.2.0.dev127/ernie/shaders/device/bindless.slang +11 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/shaders/rt/ray_tracer.slang +14 -9
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/shaders/rt/write_instances.slang +22 -3
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/shaders/scene/transform.slang +31 -3
- ernie_renderer-0.2.0.dev127/ernie/shaders/sensors/camera.slang +100 -0
- ernie_renderer-0.2.0.dev127/ernie/shaders/spectral/spectrum.slang +62 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/CMakeLists.txt +2 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/app/viewer_test.cpp +23 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/device/bindless_test.cpp +2 -5
- ernie_renderer-0.2.0.dev127/tests/render/camera_pass_test.cpp +221 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/render/geometry_test.cpp +7 -0
- ernie_renderer-0.2.0.dev127/tests/render/ray_tracer_test.cpp +271 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/.clang-format +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/.clang-tidy +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/.dockerignore +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/.gersemirc +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/.gitattributes +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/.github/scripts/coverage_badge.py +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/.github/scripts/install-lavapipe-windows.sh +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/.github/workflows/ci.yml +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/.gitignore +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/.pre-commit-config.yaml +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/CMakePresets.json +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/Dockerfile +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/benchmarks/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/benchmarks/bench.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/benchmarks/device/pose_step.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/benchmarks/main.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/benchmarks/render/transform_graph.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/benchmarks/scene/extents.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/benchmarks/scene/storage.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/cmake/EmbedShader.cmake +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/cmake/ErnieConfig.cmake.in +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/cmake/ErnieFetch.cmake +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/cmake/ErnieInstall.cmake +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/cmake/ErniePackaging.cmake +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/cmake/ErnieShaders.cmake +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/cmake/ErnieTesting.cmake +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/cmake/ernie.pc.in +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/cmake/third_party/dear_imgui.cmake +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/cmake/third_party/glfw.cmake +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/cmake/third_party/googletest.cmake +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/cmake/third_party/nanobind.cmake +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/cmake/third_party/openexr.cmake +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/cmake/third_party/slang.cmake +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/cmake/third_party/tracy.cmake +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/docs/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/docs/index.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/docs/requirements.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/app/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/app/imgui_backend.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/app/imgui_backend.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/app/main.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/app/ui.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/app/ui.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/acceleration.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/acceleration.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/arena.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/arena.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/bindless.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/bindless.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/buffer.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/buffer.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/column.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/column.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/context.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/context.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/cuda.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/cuda.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/device.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/external.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/external.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/image.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/image.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/instance.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/instance.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/kernel.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/kernel.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/profile.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/profile.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/queue.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/queue.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/shader_compiler.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/shader_compiler.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/staging.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/staging.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/vulkan.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/device/vulkan.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/geometry/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/geometry/bounds.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/geometry/triangulation.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/geometry/triangulation.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/graph/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/graph/blackboard.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/graph/dependencies.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/graph/dependencies.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/graph/graph.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/graph/graph.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/graph/pool.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/graph/pool.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/io/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/io/ies.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/io/ies.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/io/image.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/io/image.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/io/nanovdb.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/io/nanovdb.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/io/raster.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/io/raster.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/io/texture.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/io/texture.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/astronomy.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/astronomy.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/atmosphere.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/atmosphere.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/cloud.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/cloud.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/constants.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/reflectance_library.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/reflectance_library.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/reflectance_table.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/regolith.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/regolith.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/scattering.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/scattering.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/solar.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/solar.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/solar_table.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/spectrum.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/physics/spectrum.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/python/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/python/device.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/python/device.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/python/dlpack.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/python/dlpack.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/python/ernie/__init__.py +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/python/module.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/python/scene.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/python/scene.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/prim_rows.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/prim_rows.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/rt/bottom_levels.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/rt/bottom_levels.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/rt/top_levels.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/rt/top_levels.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/scene_columns.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/scene_columns.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/transform_graph.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/render/transform_graph.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/animation.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/convert.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/edit_history.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/edit_history.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/extent_cache.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/extent_cache.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/holder_index.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/holder_index.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/inherit.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/json.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/json.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/json_value.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/path.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/path.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/reference.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/reference.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/scene.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/scene.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/camera.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/camera.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/collection.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/geom.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/geom.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/instancer.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/instancer.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/lux.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/lux.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/mesh.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/mesh.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/planet.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/planet.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/registry.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/render.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/render.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/shade.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/shade.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/vol.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema/vol.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/schema.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/storage.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/storage.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/time_samples.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/time_samples.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/tokens.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/usd_plugin.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/validate.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/value.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/view.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/view.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/xform.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/scene/xform.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/shaders/math/affine.slang +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/shaders/math/double_float.slang +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/shaders/scene/geometry.slang +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/shaders/scene/shapes.slang +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/algorithm.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/bytes.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/disk_cache.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/disk_cache.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/file.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/file.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/glm.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/hash_index.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/library.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/library.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/linear_algebra.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/log.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/log.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/math.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/noise.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/noise.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/numbers.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/on_failure.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/parallel.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/profiler.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/profiler.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/random.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/tensor.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/tensor.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/text.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/version.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/version.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/ernie/util/worker_pool.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/mkdocs.yml +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/pyproject.toml +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/app/orbit_camera_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/app/shell_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/app/view_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/common.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/consumer/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/consumer/main.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/device/acceleration_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/device/arena_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/device/column_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/device/columns.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/device/common.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/device/context_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/device/cuda_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/device/external_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/device/kernel_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/device/pose_step.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/device/profile_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/device/vulkan_devices_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/exr/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/exr/make_exr.py +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/exr/rgb_float_zip.exr +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/exr/rgba_half_window.exr +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/exr/y_half_zips.exr +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/ies/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/ies/downlight_quadrant.ies +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/ies/floodlight_type_b.ies +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/ies/lamp.tilt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/images/grey16.png +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/ktx2/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/ktx2/quadrants_etc1s.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/ktx2/quadrants_uastc_zstd.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/ktx2/tilted_normal_etc1s.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/ktx2/tilted_normal_uastc.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/scenes/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/scenes/invalid/problems.expected +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/scenes/invalid/problems.json +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/scenes/rover.json +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/scenes/rover.saved.json +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/tiff/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/tiff/float_deflate_predictor3.tif +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/tiff/float_raw.tif +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/tiff/int16_bigtiff_bigendian.tif +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/tiff/rgb_lzw_predictor2.tif +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/tiff/rgb_planar_lzw.tif +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/tiff/rgb_planar_raw.tif +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/tiff/rgb_tiled_deflate.tif +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/volumes/cube.nvdb +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/fixtures/volumes/make_nvdb.py +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/geometry/bounds_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/geometry/triangulation_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/graph/dependencies_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/graph/graph_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/io/ies_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/io/image_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/io/nanovdb_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/io/raster_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/io/texture_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/physics/astronomy_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/physics/atmosphere_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/physics/cloud_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/physics/reflectance_library_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/physics/regolith_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/physics/scattering_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/physics/solar_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/physics/spectrum_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/python/conftest.py +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/python/test_device_dlpack.py +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/python/test_device_torch.py +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/python/test_package.py +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/python/test_scene.py +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/python/test_scene_schema.py +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/render/acceleration_scene_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/render/device_scene_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/render/scene_columns_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/render/shaders_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/render/transform_graph_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/edit_history_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/extent_cache_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/inherit_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/instancer_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/json_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/lux_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/mesh_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/path_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/planet_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/reference_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/render_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/scene_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/schema_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/shade_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/storage_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/time_samples_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/vol_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/scene/xform_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/algorithm_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/bytes_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/disk_cache_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/file_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/hash_index_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/linear_algebra_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/log_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/math_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/noise_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/parallel_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/profiler_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/random_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/tensor_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/text_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/version_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/tests/util/worker_pool_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/LICENSES/Apache-2.0.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/LICENSES/BSD-3-clause.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/LICENSES/MIT.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/NOTICE +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_astc_cfgs.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_astc_hdr_core.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_astc_helpers.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_containers.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_containers_impl.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_dds_transcoder.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_etc1_mods.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_file_headers.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_idct.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_transcoder.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_transcoder.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_transcoder_internal.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_transcoder_tables_astc.inc +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_transcoder_tables_astc_0_255.inc +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_55.inc +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_56.inc +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_alpha.inc +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_color.inc +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_5.inc +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_6.inc +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_45.inc +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_alpha_33.inc +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_transcoder_uastc.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_xbc7_decoder.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/transcoder/basisu_xbc7_decoder.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/zstd/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/zstd/zstd.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/basisu/zstd/zstd_errors.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/bc7enc/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/bc7enc/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/bc7enc/bc7decomp.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/bc7enc/bc7decomp.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/bc7enc/bc7enc.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/bc7enc/bc7enc.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/bc7enc/rgbcx.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/bc7enc/rgbcx.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/bc7enc/rgbcx_table4.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/bc7enc/rgbcx_table4_small.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/dlpack/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/dlpack/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/dlpack/include/dlpack/dlpack.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/copying.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/common.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/_features.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/_fixes.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/_noise.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/_swizzle.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/_swizzle_func.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/_vectorize.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/compute_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/compute_vector_decl.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/compute_vector_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_common.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_common_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_exponential.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_exponential_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_geometric.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_geometric_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_integer_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_matrix.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_matrix_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_packing.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_packing_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_trigonometric.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_trigonometric_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_vector_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/func_vector_relational_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/qualifier.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/setup.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_float.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_half.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_half.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat2x2.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat2x3.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat2x4.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat3x2.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat3x3.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat3x4.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat4x2.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat4x3.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat4x4.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_mat4x4_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_quat.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_quat.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_quat_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_vec1.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_vec1.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_vec2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_vec2.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_vec3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_vec3.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_vec4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_vec4.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/detail/type_vec_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/exponential.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/_matrix_vectorize.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_clip_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_clip_space.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_common.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double2x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double2x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double2x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double3x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double3x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double3x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double4x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double4x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_double4x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float2x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float2x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float2x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float3x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float3x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float3x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float4x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float4x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_float4x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int2x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int2x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int2x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int3x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int3x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int3x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int4x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int4x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_int4x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_projection.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_projection.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_transform.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint2x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint2x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint2x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint3x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint3x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint3x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint4x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint4x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/matrix_uint4x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_common.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_common_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_double.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_double_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_exponential.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_exponential.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_float.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_float_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_geometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_geometric.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_transform.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_trigonometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/quaternion_trigonometric.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_common.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_constants.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_constants.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_int_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_packing.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_reciprocal.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_reciprocal.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_uint_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_ulp.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/scalar_ulp.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_bool1.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_bool1_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_bool2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_bool2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_bool3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_bool3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_bool4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_bool4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_common.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_double1.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_double1_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_double2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_double2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_double3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_double3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_double4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_double4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_float1.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_float1_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_float2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_float2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_float3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_float3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_float4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_float4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_int1.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_int1_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_int2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_int2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_int3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_int3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_int4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_int4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_packing.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_reciprocal.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_reciprocal.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_uint1.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_uint1_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_uint2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_uint2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_uint3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_uint3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_uint4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_uint4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_ulp.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext/vector_ulp.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/ext.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/fwd.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/geometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/glm.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/bitfield.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/bitfield.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/color_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/color_space.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/constants.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/constants.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/epsilon.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/epsilon.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/integer.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/matrix_access.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/matrix_access.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/matrix_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/matrix_inverse.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/matrix_inverse.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/matrix_transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/matrix_transform.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/noise.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/noise.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/packing.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/quaternion.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/quaternion.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/quaternion_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/random.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/random.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/reciprocal.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/round.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/round.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/type_aligned.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/type_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/type_precision.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/type_ptr.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/type_ptr.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/ulp.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/ulp.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtc/vec1.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/associated_min_max.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/associated_min_max.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/bit.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/bit.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/closest_point.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/closest_point.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/color_encoding.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/color_encoding.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/color_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/color_space.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/color_space_YCoCg.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/color_space_YCoCg.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/common.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/common.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/compatibility.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/compatibility.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/component_wise.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/component_wise.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/dual_quaternion.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/dual_quaternion.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/easing.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/easing.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/euler_angles.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/euler_angles.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/extend.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/extend.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/extended_min_max.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/extended_min_max.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/exterior_product.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/exterior_product.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/fast_exponential.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/fast_exponential.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/fast_square_root.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/fast_square_root.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/fast_trigonometry.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/fast_trigonometry.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/float_normalize.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/functions.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/functions.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/gradient_paint.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/gradient_paint.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/handed_coordinate_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/handed_coordinate_space.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/hash.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/hash.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/integer.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/intersect.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/intersect.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/io.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/io.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/iteration.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/iteration.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/log_base.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/log_base.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_cross_product.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_cross_product.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_decompose.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_decompose.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_factorisation.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_factorisation.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_interpolation.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_interpolation.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_major_storage.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_major_storage.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_operation.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_operation.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_query.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_query.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_transform_2d.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/matrix_transform_2d.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/mixed_product.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/mixed_product.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/norm.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/norm.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/normal.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/normal.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/normalize_dot.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/normalize_dot.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/number_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/optimum_pow.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/optimum_pow.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/orthonormalize.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/orthonormalize.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/pca.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/pca.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/perpendicular.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/perpendicular.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/polar_coordinates.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/polar_coordinates.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/projection.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/projection.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/quaternion.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/quaternion.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/range.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/raw_data.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/raw_data.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/rotate_normalized_axis.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/rotate_normalized_axis.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/rotate_vector.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/rotate_vector.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/scalar_multiplication.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/scalar_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/scalar_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/spline.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/spline.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/std_based_type.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/std_based_type.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/string_cast.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/string_cast.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/structured_bindings.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/structured_bindings.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/texture.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/texture.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/transform.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/transform2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/transform2.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/type_aligned.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/type_aligned.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/type_trait.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/type_trait.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/vec_swizzle.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/vector_angle.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/vector_angle.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/vector_query.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/vector_query.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/wrap.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/gtx/wrap.inl +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/mat2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/mat2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/mat2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/mat3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/mat3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/mat3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/mat4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/mat4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/mat4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/matrix.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/simd/common.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/simd/exponential.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/simd/geometric.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/simd/integer.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/simd/matrix.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/simd/neon.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/simd/packing.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/simd/platform.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/simd/trigonometric.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/simd/vector_relational.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/trigonometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/vec2.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/vec3.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/vec4.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/glm/glm/vector_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/json/LICENSE.MIT +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/json/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/json/include/nlohmann/json.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/json/include/nlohmann/json_fwd.hpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/nanovdb/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/nanovdb/PNanoVDB.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/stb/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/stb/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/stb/stb_image.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/stb/stb_image_write.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/stb.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vma/LICENSE.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vma/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vma/include/vk_mem_alloc.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vma.cpp +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/volk/LICENSE.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/volk/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/volk/volk.c +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/volk/volk.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/LICENSE.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/LICENSES/Apache-2.0.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/LICENSES/MIT.txt +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/README.md +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_encode.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_encode.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_encode.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vk_video/vulkan_video_codecs_common.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vk_icd.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vk_layer.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vk_platform.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_android.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_beta.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_core.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_directfb.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_fuchsia.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_ggp.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_ios.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_macos.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_metal.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_ohos.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_screen.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_ubm.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_vi.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_wayland.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_win32.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_xcb.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/third_party/vulkan_headers/include/vulkan/vulkan_xlib.h +0 -0
- {ernie_renderer-0.2.0.dev121 → ernie_renderer-0.2.0.dev127}/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 ".dev127" 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.dev127
|
|
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
|
|
@@ -97,7 +97,12 @@ Viewer::Viewer(const Scene& scene, const ViewerOptions& options)
|
|
|
97
97
|
ERNIE_ZONE("Set up the device scene");
|
|
98
98
|
arenas_ = std::make_unique<Arenas>(*context_, MemoryUse::Device, "scene columns",
|
|
99
99
|
std::uint64_t{16} << 20);
|
|
100
|
-
|
|
100
|
+
const ShaderCompiler compiler;
|
|
101
|
+
deviceScene_ = std::make_unique<DeviceScene>(*context_, *arenas_, scene, compiler);
|
|
102
|
+
if (deviceScene_->Tracer() != nullptr) {
|
|
103
|
+
heap_ = std::make_unique<BindlessHeap>(*context_);
|
|
104
|
+
camera_ = std::make_unique<CameraPass>(*context_, compiler, *heap_);
|
|
105
|
+
}
|
|
101
106
|
sampler_ = std::make_unique<Sampler>(
|
|
102
107
|
*context_, SamplerDescription{.filter = Filter::Nearest, .address = Address::Clamp},
|
|
103
108
|
"viewport");
|
|
@@ -162,6 +167,7 @@ bool Viewer::Step() {
|
|
|
162
167
|
Ticket drawn;
|
|
163
168
|
{
|
|
164
169
|
ERNIE_ZONE("Run the frame");
|
|
170
|
+
deviceScene_->Follow(shell_->Camera().Eye());
|
|
165
171
|
drawn =
|
|
166
172
|
deviceScene_->Execute([&](graph::Graph& graph) { AddPasses(graph, data, *target); },
|
|
167
173
|
{}, target->semaphores);
|
|
@@ -185,6 +191,9 @@ void Viewer::ShowViewport() {
|
|
|
185
191
|
context_->Main().Last().Wait();
|
|
186
192
|
if (viewport_) {
|
|
187
193
|
renderer_->RemoveTexture(viewportTexture_);
|
|
194
|
+
if (heap_) {
|
|
195
|
+
heap_->RemoveStorageImage(viewportImage_);
|
|
196
|
+
}
|
|
188
197
|
}
|
|
189
198
|
viewport_ = std::make_unique<DeviceImage>(
|
|
190
199
|
*context_,
|
|
@@ -193,6 +202,9 @@ void Viewer::ShowViewport() {
|
|
|
193
202
|
.usage = ImageUsage::Sampled | ImageUsage::Storage},
|
|
194
203
|
"Viewport");
|
|
195
204
|
viewportTexture_ = renderer_->AddTexture(viewport_->View(), sampler_->Handle());
|
|
205
|
+
if (heap_) {
|
|
206
|
+
viewportImage_ = heap_->AddStorageImage(*viewport_);
|
|
207
|
+
}
|
|
196
208
|
}
|
|
197
209
|
ImGui::GetBackgroundDrawList()->AddImage(viewportTexture_, position,
|
|
198
210
|
{position.x + size.x, position.y + size.y});
|
|
@@ -200,18 +212,30 @@ void Viewer::ShowViewport() {
|
|
|
200
212
|
|
|
201
213
|
void Viewer::AddPasses(graph::Graph& graph, ImDrawData& data, const FrameTarget& target) {
|
|
202
214
|
graph::Image viewport = graph.Import(*viewport_, "viewport");
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
+
if (camera_) {
|
|
216
|
+
const OrbitCamera& orbit = shell_->Camera();
|
|
217
|
+
CameraOutputs outputs{.colour = viewport,
|
|
218
|
+
.colourIndex = viewportImage_,
|
|
219
|
+
.background = glm::vec3(shell_->GetTheme().viewport)};
|
|
220
|
+
camera_->Add(graph,
|
|
221
|
+
{.cameraToWorld = orbit.Transform(),
|
|
222
|
+
.verticalFov = orbit.verticalFov,
|
|
223
|
+
.size = glm::uvec2(viewport_->Description().extent)},
|
|
224
|
+
outputs);
|
|
225
|
+
viewport = *outputs.colour;
|
|
226
|
+
} else {
|
|
227
|
+
graph.Add(
|
|
228
|
+
"Viewport", graph::Kind::Copy,
|
|
229
|
+
[&](graph::PassBuilder& pass) { viewport = pass.Write(viewport, graph::Use::CopyDst); },
|
|
230
|
+
[this, viewport](graph::PassContext& pass) {
|
|
231
|
+
const glm::vec4 colour = shell_->GetTheme().viewport;
|
|
232
|
+
const VkClearColorValue clear{.float32 = {colour.r, colour.g, colour.b, colour.a}};
|
|
233
|
+
const VkImageSubresourceRange all{
|
|
234
|
+
.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, .levelCount = 1, .layerCount = 1};
|
|
235
|
+
vkCmdClearColorImage(pass.commands, pass.Get(viewport).Handle(),
|
|
236
|
+
pass.Layout(viewport), &clear, 1, &all);
|
|
237
|
+
});
|
|
238
|
+
}
|
|
215
239
|
graph.Add(
|
|
216
240
|
"UI", graph::Kind::Raster,
|
|
217
241
|
[&](graph::PassBuilder& pass) {
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
#include "ernie/app/imgui_backend.h"
|
|
8
8
|
#include "ernie/app/ui.h"
|
|
9
|
+
#include "ernie/device/bindless.h"
|
|
10
|
+
#include "ernie/render/camera_pass.h"
|
|
9
11
|
#include "ernie/render/device_scene.h"
|
|
10
12
|
|
|
11
13
|
#include <glm/vec2.hpp>
|
|
@@ -39,9 +41,9 @@ struct ViewerOptions {
|
|
|
39
41
|
ShellOptions shell;
|
|
40
42
|
};
|
|
41
43
|
|
|
42
|
-
/// @brief The viewer on a scene. Each frame takes input, draws the shell's UI,
|
|
43
|
-
///
|
|
44
|
-
/// that made it.
|
|
44
|
+
/// @brief The viewer on a scene. Each frame takes input, draws the shell's UI, traces the orbit
|
|
45
|
+
/// camera into the viewport (or clears it to the theme's colour on devices without ray queries),
|
|
46
|
+
/// draws the UI over it and presents it. Drive it on the thread that made it.
|
|
45
47
|
class Viewer {
|
|
46
48
|
public:
|
|
47
49
|
/// @param scene Read by the panels; must outlive the viewer.
|
|
@@ -87,10 +89,14 @@ class Viewer {
|
|
|
87
89
|
std::unique_ptr<Shell> shell_;
|
|
88
90
|
std::unique_ptr<Arenas> arenas_;
|
|
89
91
|
std::unique_ptr<DeviceScene> deviceScene_;
|
|
90
|
-
/// The
|
|
92
|
+
/// The heap and pass tracing the viewport; null without ray queries.
|
|
93
|
+
std::unique_ptr<BindlessHeap> heap_;
|
|
94
|
+
std::unique_ptr<CameraPass> camera_;
|
|
95
|
+
/// The image the viewport is rendered into, the UI's texture of it, and its storage slot.
|
|
91
96
|
std::unique_ptr<Sampler> sampler_;
|
|
92
97
|
std::unique_ptr<DeviceImage> viewport_;
|
|
93
98
|
ImTextureID viewportTexture_ = 0;
|
|
99
|
+
BindlessIndex viewportImage_;
|
|
94
100
|
/// The frames the device may still be drawing, oldest first.
|
|
95
101
|
std::deque<Ticket> inFlight_;
|
|
96
102
|
std::uint64_t frames_ = 0;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
/// @file camera_pass.cpp
|
|
3
|
+
/// @brief Tracing pinhole cameras as a frame-graph pass.
|
|
4
|
+
#include "ernie/render/camera_pass.h"
|
|
5
|
+
|
|
6
|
+
#include "ernie/device/vulkan.h"
|
|
7
|
+
#include "ernie/render/rt/ray_tracer.h"
|
|
8
|
+
#include "ernie/shaders/device/bindless.h"
|
|
9
|
+
#include "ernie/shaders/sensors/camera.h"
|
|
10
|
+
#include "ernie/shaders/spectral/spectrum.h"
|
|
11
|
+
|
|
12
|
+
#include <glm/gtc/matrix_access.hpp>
|
|
13
|
+
#include <glm/gtc/matrix_transform.hpp>
|
|
14
|
+
|
|
15
|
+
#include <algorithm>
|
|
16
|
+
#include <cmath>
|
|
17
|
+
#include <stdexcept>
|
|
18
|
+
#include <vector>
|
|
19
|
+
|
|
20
|
+
namespace ernie {
|
|
21
|
+
namespace {
|
|
22
|
+
|
|
23
|
+
constexpr std::uint32_t kNoImage = 0xffffffff;
|
|
24
|
+
|
|
25
|
+
/// A view as camera.slang's `View` reads it.
|
|
26
|
+
struct ViewRecord {
|
|
27
|
+
glm::vec4 rows[3];
|
|
28
|
+
glm::vec2 halfExtent;
|
|
29
|
+
glm::uvec2 size;
|
|
30
|
+
glm::vec3 background;
|
|
31
|
+
std::uint32_t colour;
|
|
32
|
+
VkDeviceAddress distances, normals, instances, albedos;
|
|
33
|
+
};
|
|
34
|
+
static_assert(sizeof(ViewRecord) == 112);
|
|
35
|
+
|
|
36
|
+
struct CameraParameters {
|
|
37
|
+
TracerParameters tracer;
|
|
38
|
+
VkDeviceAddress views, colours;
|
|
39
|
+
std::uint32_t count, pad;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/// The most `vkCmdUpdateBuffer` writes at once.
|
|
43
|
+
constexpr std::size_t kUpdateBytes = 65536;
|
|
44
|
+
|
|
45
|
+
std::vector<std::uint32_t> Compile(const ShaderCompiler& compiler) {
|
|
46
|
+
std::vector<ShaderModule> modules(RayTracer::Modules().begin(), RayTracer::Modules().end());
|
|
47
|
+
modules.insert(modules.end(), {shaders::kBindless, shaders::kSpectrum, shaders::kCamera});
|
|
48
|
+
return compiler.Spirv(modules, "main");
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/// @return A view's record, its output addresses left for the pass to fill in once the graph has
|
|
52
|
+
/// placed them.
|
|
53
|
+
ViewRecord Record(const PinholeView& view, const CameraOutputs& outputs, const glm::dvec3& origin) {
|
|
54
|
+
// Relative to the origin in double, then rounded: values near the camera stay small.
|
|
55
|
+
const glm::dmat4 relative = glm::translate(glm::dmat4(1.0), -origin) * view.cameraToWorld;
|
|
56
|
+
const double tangent = std::tan(0.5 * view.verticalFov);
|
|
57
|
+
const double aspect = static_cast<double>(view.size.x) / static_cast<double>(view.size.y);
|
|
58
|
+
ViewRecord record{.halfExtent = glm::vec2(tangent * aspect, tangent),
|
|
59
|
+
.size = view.size,
|
|
60
|
+
.background = outputs.background,
|
|
61
|
+
.colour = outputs.colour ? outputs.colourIndex.value : kNoImage};
|
|
62
|
+
for (int r = 0; r < 3; ++r) {
|
|
63
|
+
record.rows[r] = glm::vec4(glm::row(relative, r));
|
|
64
|
+
}
|
|
65
|
+
return record;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
} // namespace
|
|
69
|
+
|
|
70
|
+
CameraPass::CameraPass(DeviceContext& context, const ShaderCompiler& compiler,
|
|
71
|
+
const BindlessHeap& heap)
|
|
72
|
+
: kernel_(context, Compile(compiler), "camera", sizeof(CameraParameters), &heap) {}
|
|
73
|
+
|
|
74
|
+
void CameraPass::Add(graph::Graph& graph, const PinholeView& view, CameraOutputs& outputs) const {
|
|
75
|
+
CameraView one{view, outputs};
|
|
76
|
+
Add(graph, std::span(&one, 1));
|
|
77
|
+
outputs = one.outputs;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
void CameraPass::Add(graph::Graph& graph, std::span<CameraView> views) const {
|
|
81
|
+
const TraceScene* scene = graph.Board().Find<TraceScene>();
|
|
82
|
+
if (scene == nullptr) {
|
|
83
|
+
throw std::invalid_argument("A camera pass needs the ray tracer's TraceScene");
|
|
84
|
+
}
|
|
85
|
+
if (views.empty()) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
std::vector<ViewRecord> records;
|
|
89
|
+
glm::uvec2 largest{0};
|
|
90
|
+
for (const CameraView& view : views) {
|
|
91
|
+
records.push_back(Record(view.view, view.outputs, scene->origin));
|
|
92
|
+
largest = glm::max(largest, view.view.size);
|
|
93
|
+
}
|
|
94
|
+
graph::Buffer staged = graph.Create(records.size() * sizeof(ViewRecord), "camera views");
|
|
95
|
+
// For the recording to look up: any version of a resource names it.
|
|
96
|
+
std::vector<CameraOutputs> outputs;
|
|
97
|
+
for (const CameraView& view : views) {
|
|
98
|
+
outputs.push_back(view.outputs);
|
|
99
|
+
}
|
|
100
|
+
graph.Add(
|
|
101
|
+
"Camera", graph::Kind::Compute,
|
|
102
|
+
[&](graph::PassBuilder& pass) {
|
|
103
|
+
scene->Read(pass);
|
|
104
|
+
// Written by the pass itself before its dispatch reads it.
|
|
105
|
+
staged = pass.WriteAddress(staged, graph::Use::StorageWrite);
|
|
106
|
+
for (CameraView& view : views) {
|
|
107
|
+
CameraOutputs& output = view.outputs;
|
|
108
|
+
if (output.colour) {
|
|
109
|
+
output.colour = pass.Write(*output.colour, graph::Use::StorageWrite);
|
|
110
|
+
}
|
|
111
|
+
for (std::optional<graph::Buffer>* buffer :
|
|
112
|
+
{&output.distances, &output.normals, &output.instances, &output.albedos}) {
|
|
113
|
+
if (*buffer) {
|
|
114
|
+
*buffer = pass.WriteAddress(**buffer, graph::Use::StorageWrite);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
[this, staged, largest, records = std::move(records), outputs = std::move(outputs),
|
|
120
|
+
parameters =
|
|
121
|
+
CameraParameters{.tracer = scene->parameters, .colours = scene->colourAddress}](
|
|
122
|
+
graph::PassContext& pass) mutable {
|
|
123
|
+
const auto address = [&](const std::optional<graph::Buffer>& buffer) {
|
|
124
|
+
return buffer ? pass.Get(*buffer).Address() : VkDeviceAddress{0};
|
|
125
|
+
};
|
|
126
|
+
for (std::size_t i = 0; i < records.size(); ++i) {
|
|
127
|
+
records[i].distances = address(outputs[i].distances);
|
|
128
|
+
records[i].normals = address(outputs[i].normals);
|
|
129
|
+
records[i].instances = address(outputs[i].instances);
|
|
130
|
+
records[i].albedos = address(outputs[i].albedos);
|
|
131
|
+
}
|
|
132
|
+
// The records hold the outputs' addresses, known only now, so the pass writes them
|
|
133
|
+
// itself before it reads them.
|
|
134
|
+
const graph::BufferSlice slice = pass.Get(staged);
|
|
135
|
+
const auto* bytes = reinterpret_cast<const std::byte*>(records.data());
|
|
136
|
+
const std::size_t size = records.size() * sizeof(ViewRecord);
|
|
137
|
+
for (std::size_t at = 0; at < size; at += kUpdateBytes) {
|
|
138
|
+
vkCmdUpdateBuffer(pass.commands, slice.buffer->Handle(), slice.offset + at,
|
|
139
|
+
std::min(kUpdateBytes, size - at), bytes + at);
|
|
140
|
+
}
|
|
141
|
+
Barrier(pass.commands, VK_PIPELINE_STAGE_2_COPY_BIT, VK_ACCESS_2_TRANSFER_WRITE_BIT,
|
|
142
|
+
VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, VK_ACCESS_2_SHADER_STORAGE_READ_BIT);
|
|
143
|
+
parameters.views = slice.Address();
|
|
144
|
+
parameters.count = static_cast<std::uint32_t>(records.size());
|
|
145
|
+
kernel_.Dispatch(pass.commands,
|
|
146
|
+
{(largest.x + 7) / 8, (largest.y + 7) / 8, parameters.count},
|
|
147
|
+
parameters);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
} // namespace ernie
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
/// @file camera_pass.h
|
|
3
|
+
/// @brief Pinhole cameras traced through the scene, every view in one dispatch: a shaded colour
|
|
4
|
+
/// image to look at, and each pixel's distance, normal, instance and albedo in buffers kernels,
|
|
5
|
+
/// CUDA or PyTorch read in place.
|
|
6
|
+
///
|
|
7
|
+
/// CameraOutputs outputs{.colour = graph.Import(image, "colour"), .colourIndex = index};
|
|
8
|
+
/// camera.Add(graph, {.cameraToWorld = orbit.Transform(), .size = {640, 480}}, outputs);
|
|
9
|
+
#pragma once
|
|
10
|
+
|
|
11
|
+
#include "ernie/device/bindless.h"
|
|
12
|
+
#include "ernie/device/kernel.h"
|
|
13
|
+
#include "ernie/device/shader_compiler.h"
|
|
14
|
+
#include "ernie/graph/graph.h"
|
|
15
|
+
|
|
16
|
+
#include <glm/mat4x4.hpp>
|
|
17
|
+
#include <glm/vec2.hpp>
|
|
18
|
+
#include <glm/vec3.hpp>
|
|
19
|
+
|
|
20
|
+
#include <cstdint>
|
|
21
|
+
#include <optional>
|
|
22
|
+
#include <span>
|
|
23
|
+
|
|
24
|
+
namespace ernie {
|
|
25
|
+
|
|
26
|
+
/// @brief A pinhole camera in the scene's frame, in double: the pass makes it relative to the
|
|
27
|
+
/// render origin before it rounds to float.
|
|
28
|
+
struct PinholeView {
|
|
29
|
+
/// Camera to world; the camera looks down -z with +y up, as `glm::lookAtRH`'s inverse.
|
|
30
|
+
glm::dmat4 cameraToWorld{1.0};
|
|
31
|
+
/// Radians.
|
|
32
|
+
double verticalFov = 0.785398;
|
|
33
|
+
/// Pixels.
|
|
34
|
+
glm::uvec2 size{1};
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/// @brief What a camera pass writes for a view; each left out is not written. Each written one is
|
|
38
|
+
/// replaced by its version after the pass.
|
|
39
|
+
struct CameraOutputs {
|
|
40
|
+
/// A storage image of the view's size, and its slot in the pass's heap.
|
|
41
|
+
std::optional<graph::Image> colour;
|
|
42
|
+
BindlessIndex colourIndex;
|
|
43
|
+
/// What `colour` shows where nothing is hit, as it is stored.
|
|
44
|
+
glm::vec3 background{0.0f};
|
|
45
|
+
/// A float a pixel, row by row: the hit distance in metres, infinity where nothing is hit.
|
|
46
|
+
std::optional<graph::Buffer> distances;
|
|
47
|
+
/// Three floats a pixel: the world normal, zero where nothing is hit.
|
|
48
|
+
std::optional<graph::Buffer> normals;
|
|
49
|
+
/// A uint32 a pixel: the instance row hit, or `kNoInstance`.
|
|
50
|
+
std::optional<graph::Buffer> instances;
|
|
51
|
+
/// `kBands` floats a pixel: the albedo hit, per spectral band; zero where nothing is hit.
|
|
52
|
+
std::optional<graph::Buffer> albedos;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/// @brief A view and what to write of it.
|
|
56
|
+
struct CameraView {
|
|
57
|
+
PinholeView view;
|
|
58
|
+
CameraOutputs outputs;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
/// @brief Traces pinhole cameras through the scene the graph's `TraceScene` describes, one ray a
|
|
62
|
+
/// pixel, shading what each hits by its albedo and a headlight.
|
|
63
|
+
class CameraPass {
|
|
64
|
+
public:
|
|
65
|
+
static constexpr std::uint32_t kNoInstance = 0xffffffff;
|
|
66
|
+
/// The spectral bands albedos carry: RGB mode's three, linear sRGB.
|
|
67
|
+
static constexpr std::uint32_t kBands = 3;
|
|
68
|
+
|
|
69
|
+
CameraPass(DeviceContext& context, const ShaderCompiler& compiler, const BindlessHeap& heap);
|
|
70
|
+
|
|
71
|
+
/// @brief Adds the pass tracing every view in one dispatch, after the ray tracer's builds.
|
|
72
|
+
/// @throws std::invalid_argument when the graph has no `TraceScene`.
|
|
73
|
+
void Add(graph::Graph& graph, std::span<CameraView> views) const;
|
|
74
|
+
void Add(graph::Graph& graph, const PinholeView& view, CameraOutputs& outputs) const;
|
|
75
|
+
|
|
76
|
+
private:
|
|
77
|
+
ComputeKernel kernel_;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
} // namespace ernie
|
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
/// @brief Building and running each frame's graph over the device scene.
|
|
4
4
|
#include "ernie/render/device_scene.h"
|
|
5
5
|
|
|
6
|
+
#include <glm/common.hpp>
|
|
7
|
+
#include <glm/geometric.hpp>
|
|
8
|
+
|
|
6
9
|
namespace ernie {
|
|
7
10
|
|
|
8
11
|
DeviceScene::DeviceScene(DeviceContext& context, Arenas& arenas, const Scene& scene,
|
|
@@ -15,6 +18,15 @@ DeviceScene::DeviceScene(DeviceContext& context, Arenas& arenas, const Scene& sc
|
|
|
15
18
|
}
|
|
16
19
|
}
|
|
17
20
|
|
|
21
|
+
bool DeviceScene::Follow(const glm::dvec3& viewpoint) {
|
|
22
|
+
if (glm::length(viewpoint - transforms_.Origin()) <= kRebaseDistance) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
ERNIE_ZONE("Rebase the render origin");
|
|
26
|
+
transforms_.SetOrigin(glm::round(viewpoint / kRebaseDistance) * kRebaseDistance);
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
|
|
18
30
|
Ticket DeviceScene::Execute(const std::function<void(graph::Graph&)>& passes,
|
|
19
31
|
std::span<const Ticket> waits, BinarySemaphores binary) {
|
|
20
32
|
ERNIE_ZONE("Run a frame");
|
|
@@ -54,6 +54,14 @@ class DeviceScene {
|
|
|
54
54
|
RayTracer* Tracer() {
|
|
55
55
|
return tracer_.get();
|
|
56
56
|
}
|
|
57
|
+
/// @brief Keeps the render origin near a viewpoint: once it is more than `kRebaseDistance`
|
|
58
|
+
/// away, the origin moves to the viewpoint snapped to a `kRebaseDistance` grid, so a viewpoint
|
|
59
|
+
/// hovering at the threshold does not rebase back and forth.
|
|
60
|
+
/// @return Whether the origin moved.
|
|
61
|
+
bool Follow(const glm::dvec3& viewpoint);
|
|
62
|
+
/// Metres: far enough that rebases are rare, near enough that floats there resolve 0.1 mm.
|
|
63
|
+
static constexpr double kRebaseDistance = 1024.0;
|
|
64
|
+
|
|
57
65
|
/// @return Where the frames' transients come from.
|
|
58
66
|
graph::TransientPool& Pool() {
|
|
59
67
|
return pool_;
|
|
@@ -47,6 +47,20 @@ double Number(const Scene& scene, PrimId prim, std::string_view attribute) {
|
|
|
47
47
|
return *number;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
+
/// @return The prim's display colour, authored in double or float precision.
|
|
51
|
+
glm::vec3 DisplayColour(const Scene& scene, PrimId prim) {
|
|
52
|
+
const std::optional<Value> value = scene.GetOrFallback(prim, Gprim::kDisplayColor);
|
|
53
|
+
if (value) {
|
|
54
|
+
if (const auto* colour = value->Get<glm::dvec3>()) {
|
|
55
|
+
return glm::vec3(*colour);
|
|
56
|
+
}
|
|
57
|
+
if (const auto* colour = value->Get<glm::vec3>()) {
|
|
58
|
+
return *colour;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return glm::vec3(0.5f);
|
|
62
|
+
}
|
|
63
|
+
|
|
50
64
|
/// @return The turn taking a unit shape's +z to the prim's axis, cyclically, keeping handedness.
|
|
51
65
|
glm::dmat4 AxisTurn(const Scene& scene, PrimId prim) {
|
|
52
66
|
const std::optional<Value> axis = scene.GetOrFallback(prim, Cylinder::kAxis);
|
|
@@ -102,9 +116,17 @@ struct Touched {
|
|
|
102
116
|
bool shape = false;
|
|
103
117
|
bool points = false;
|
|
104
118
|
bool topology = false;
|
|
119
|
+
bool colour = false;
|
|
120
|
+
|
|
121
|
+
bool Any() const {
|
|
122
|
+
return shape || points || topology || colour;
|
|
123
|
+
}
|
|
105
124
|
};
|
|
106
125
|
|
|
107
126
|
Touched Classify(std::string_view attribute) {
|
|
127
|
+
if (attribute == Gprim::kDisplayColor) {
|
|
128
|
+
return {.colour = true};
|
|
129
|
+
}
|
|
108
130
|
if (attribute == Mesh::kPoints) {
|
|
109
131
|
return {.points = true};
|
|
110
132
|
}
|
|
@@ -226,7 +248,7 @@ void GeometryPool::UploadMesh(PrimId prim, GeometryId id, bool topology, Changes
|
|
|
226
248
|
}
|
|
227
249
|
}
|
|
228
250
|
|
|
229
|
-
void GeometryPool::Place(PrimId prim, bool topology, Changes& changes) {
|
|
251
|
+
void GeometryPool::Place(PrimId prim, bool points, bool topology, Changes& changes) {
|
|
230
252
|
const std::optional<GeometryKind> kind = KindHeld(scene_, prim);
|
|
231
253
|
if (!kind) {
|
|
232
254
|
return;
|
|
@@ -239,7 +261,9 @@ void GeometryPool::Place(PrimId prim, bool topology, Changes& changes) {
|
|
|
239
261
|
PrimGeometry next{.prim = prim};
|
|
240
262
|
if (*kind == GeometryKind::Triangles) {
|
|
241
263
|
next.geometry = known ? placed->geometry : Allocate({.kind = GeometryKind::Triangles});
|
|
242
|
-
|
|
264
|
+
if (!known || points || topology) {
|
|
265
|
+
UploadMesh(prim, next.geometry, topology || !known, changes);
|
|
266
|
+
}
|
|
243
267
|
} else if (*kind == GeometryKind::Capsule) {
|
|
244
268
|
const double radius = Number(scene_, prim, Capsule::kRadius);
|
|
245
269
|
const auto halfLength =
|
|
@@ -262,7 +286,9 @@ void GeometryPool::Place(PrimId prim, bool topology, Changes& changes) {
|
|
|
262
286
|
}
|
|
263
287
|
}
|
|
264
288
|
next.shape = ShapeTransform(scene_, prim, *kind);
|
|
265
|
-
|
|
289
|
+
next.colour = DisplayColour(scene_, prim);
|
|
290
|
+
if (!known || placed->geometry != next.geometry || placed->shape != next.shape ||
|
|
291
|
+
placed->colour != next.colour) {
|
|
266
292
|
changes.placed.push_back(next);
|
|
267
293
|
}
|
|
268
294
|
placed = next;
|
|
@@ -287,7 +313,7 @@ GeometryPool::Changes GeometryPool::Update() {
|
|
|
287
313
|
}
|
|
288
314
|
}
|
|
289
315
|
for (const PrimId prim : followed.added) {
|
|
290
|
-
Place(prim, true, changes);
|
|
316
|
+
Place(prim, true, true, changes);
|
|
291
317
|
}
|
|
292
318
|
// Prims just added were placed from all their values: none of them is an edit.
|
|
293
319
|
std::vector<bool> fresh(prims_.size(), false);
|
|
@@ -296,10 +322,10 @@ GeometryPool::Changes GeometryPool::Update() {
|
|
|
296
322
|
fresh[prim.slot] = true;
|
|
297
323
|
}
|
|
298
324
|
}
|
|
299
|
-
// Values the host authored: shapes, points and
|
|
325
|
+
// Values the host authored: shapes, points, topology and colours.
|
|
300
326
|
for (const ChangeSet::Values& values : changeSet.values) {
|
|
301
327
|
const Touched touched = Classify(store.Tokens().Text(values.attribute));
|
|
302
|
-
if (!touched.
|
|
328
|
+
if (!touched.Any()) {
|
|
303
329
|
continue;
|
|
304
330
|
}
|
|
305
331
|
const Bucket& bucket = store.GetBucket(values.bucket);
|
|
@@ -307,7 +333,7 @@ GeometryPool::Changes GeometryPool::Update() {
|
|
|
307
333
|
for (std::uint32_t row = range.begin; row < std::min(range.end, bucket.Rows()); ++row) {
|
|
308
334
|
const PrimId prim = bucket.prims[row];
|
|
309
335
|
if (Find(prim) && !fresh[prim.slot]) {
|
|
310
|
-
Place(prim, touched.topology, changes);
|
|
336
|
+
Place(prim, touched.points, touched.topology, changes);
|
|
311
337
|
}
|
|
312
338
|
}
|
|
313
339
|
}
|
|
@@ -60,6 +60,8 @@ struct PrimGeometry {
|
|
|
60
60
|
PrimId prim;
|
|
61
61
|
GeometryId geometry = 0;
|
|
62
62
|
glm::dmat4 shape{1.0};
|
|
63
|
+
/// Its albedo in linear RGB, from `primvars:displayColor`, until materials bind one.
|
|
64
|
+
glm::vec3 colour{0.5f};
|
|
63
65
|
};
|
|
64
66
|
|
|
65
67
|
/// @brief The scene's gprims as device geometry. Implicit shapes share one unit geometry a kind
|
|
@@ -71,7 +73,7 @@ class GeometryPool {
|
|
|
71
73
|
public:
|
|
72
74
|
/// @brief What an update changed, for the bottom levels and instances that follow it.
|
|
73
75
|
struct Changes {
|
|
74
|
-
/// Prims added, or whose geometry or
|
|
76
|
+
/// Prims added, or whose geometry, shape or colour changed.
|
|
75
77
|
std::vector<PrimGeometry> placed;
|
|
76
78
|
std::vector<PrimId> removed;
|
|
77
79
|
/// Geometries new or of new topology, whose bottom levels are built anew.
|
|
@@ -109,8 +111,9 @@ class GeometryPool {
|
|
|
109
111
|
}
|
|
110
112
|
|
|
111
113
|
private:
|
|
112
|
-
/// Places a prim: its geometry, built or shared,
|
|
113
|
-
|
|
114
|
+
/// Places a prim: its geometry, built or shared, its shape transform and its colour. A mesh's
|
|
115
|
+
/// points are uploaded when it is new or `points`, its triangles when `topology`.
|
|
116
|
+
void Place(PrimId prim, bool points, bool topology, Changes& changes);
|
|
114
117
|
/// @return The unit shape geometry of a kind, made the first time it is asked for.
|
|
115
118
|
GeometryId UnitShape(GeometryKind kind);
|
|
116
119
|
/// @return A new or recycled geometry id.
|
|
@@ -33,6 +33,7 @@ InstanceTable::InstanceTable(DeviceContext& context, Arenas& arenas)
|
|
|
33
33
|
nodes_ = column("instance nodes", DType::UInt32, {});
|
|
34
34
|
geometries_ = column("instance geometries", DType::UInt32, {});
|
|
35
35
|
shapes_ = column("instance shapes", DType::Float32, {3, 4});
|
|
36
|
+
colours_ = column("instance colours", DType::Float32, {3});
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
std::optional<std::uint32_t> InstanceTable::Row(PrimId prim) const {
|
|
@@ -48,6 +49,7 @@ void InstanceTable::Set(std::uint32_t row, const PrimGeometry& placed) {
|
|
|
48
49
|
hostNodes_[row] = placed.prim.slot;
|
|
49
50
|
hostGeometries_[row] = placed.geometry;
|
|
50
51
|
hostShapes_[row] = RowMajor(placed.shape);
|
|
52
|
+
hostColours_[row] = placed.colour;
|
|
51
53
|
rows_[placed.prim.slot] = row;
|
|
52
54
|
dirty_.push_back(row);
|
|
53
55
|
}
|
|
@@ -64,6 +66,7 @@ void InstanceTable::Remove(PrimId prim) {
|
|
|
64
66
|
hostNodes_[*row] = hostNodes_[last];
|
|
65
67
|
hostGeometries_[*row] = hostGeometries_[last];
|
|
66
68
|
hostShapes_[*row] = hostShapes_[last];
|
|
69
|
+
hostColours_[*row] = hostColours_[last];
|
|
67
70
|
rows_[prims_[*row].slot] = *row;
|
|
68
71
|
dirty_.push_back(*row);
|
|
69
72
|
}
|
|
@@ -72,6 +75,7 @@ void InstanceTable::Remove(PrimId prim) {
|
|
|
72
75
|
hostNodes_.pop_back();
|
|
73
76
|
hostGeometries_.pop_back();
|
|
74
77
|
hostShapes_.pop_back();
|
|
78
|
+
hostColours_.pop_back();
|
|
75
79
|
}
|
|
76
80
|
|
|
77
81
|
void InstanceTable::Apply(const GeometryPool::Changes& changes) {
|
|
@@ -92,13 +96,14 @@ void InstanceTable::Apply(const GeometryPool::Changes& changes) {
|
|
|
92
96
|
hostNodes_.emplace_back();
|
|
93
97
|
hostGeometries_.emplace_back();
|
|
94
98
|
hostShapes_.emplace_back();
|
|
99
|
+
hostColours_.emplace_back();
|
|
95
100
|
Set(static_cast<std::uint32_t>(prims_.size() - 1), placed);
|
|
96
101
|
}
|
|
97
102
|
}
|
|
98
103
|
|
|
99
104
|
void InstanceTable::AddUploads(graph::Graph& graph) {
|
|
100
105
|
const std::size_t rows = prims_.size();
|
|
101
|
-
for (DeviceColumn* column : {nodes_.get(), geometries_.get(), shapes_.get()}) {
|
|
106
|
+
for (DeviceColumn* column : {nodes_.get(), geometries_.get(), shapes_.get(), colours_.get()}) {
|
|
102
107
|
column->Resize(rows, context_.Main());
|
|
103
108
|
}
|
|
104
109
|
std::ranges::sort(dirty_);
|
|
@@ -114,10 +119,11 @@ void InstanceTable::AddUploads(graph::Graph& graph) {
|
|
|
114
119
|
upload(*nodes_, hostNodes_);
|
|
115
120
|
upload(*geometries_, hostGeometries_);
|
|
116
121
|
upload(*shapes_, hostShapes_);
|
|
122
|
+
upload(*colours_, hostColours_);
|
|
117
123
|
dirty_.clear();
|
|
118
|
-
std::array columns{
|
|
119
|
-
|
|
120
|
-
|
|
124
|
+
std::array columns{
|
|
125
|
+
graph.Import(*nodes_, nodes_->Name()), graph.Import(*geometries_, geometries_->Name()),
|
|
126
|
+
graph.Import(*shapes_, shapes_->Name()), graph.Import(*colours_, colours_->Name())};
|
|
121
127
|
graph.Add(
|
|
122
128
|
"Upload instances", graph::Kind::Copy,
|
|
123
129
|
[&](graph::PassBuilder& pass) {
|
|
@@ -18,8 +18,9 @@
|
|
|
18
18
|
namespace ernie {
|
|
19
19
|
|
|
20
20
|
/// @brief A row a drawn prim, in device columns: `Nodes` its transform graph slot, `Geometries` its
|
|
21
|
-
/// geometry
|
|
22
|
-
/// dense by swap-removal, so a row is no stable id; a prim's row
|
|
21
|
+
/// geometry, `Shapes` the 3x4 row-major transform from that geometry to the prim, and `Colours` its
|
|
22
|
+
/// linear RGB albedo. Rows are kept dense by swap-removal, so a row is no stable id; a prim's row
|
|
23
|
+
/// is found with `Row`.
|
|
23
24
|
class InstanceTable {
|
|
24
25
|
public:
|
|
25
26
|
using Shape = std::array<float, 12>;
|
|
@@ -48,6 +49,9 @@ class InstanceTable {
|
|
|
48
49
|
const DeviceColumn& Shapes() const {
|
|
49
50
|
return *shapes_;
|
|
50
51
|
}
|
|
52
|
+
const DeviceColumn& Colours() const {
|
|
53
|
+
return *colours_;
|
|
54
|
+
}
|
|
51
55
|
|
|
52
56
|
private:
|
|
53
57
|
void Set(std::uint32_t row, const PrimGeometry& placed);
|
|
@@ -60,12 +64,14 @@ class InstanceTable {
|
|
|
60
64
|
std::vector<std::uint32_t> hostNodes_;
|
|
61
65
|
std::vector<std::uint32_t> hostGeometries_;
|
|
62
66
|
std::vector<Shape> hostShapes_;
|
|
67
|
+
std::vector<glm::vec3> hostColours_;
|
|
63
68
|
/// Each prim's row by its id's slot.
|
|
64
69
|
std::vector<std::uint32_t> rows_;
|
|
65
70
|
std::vector<std::uint32_t> dirty_;
|
|
66
71
|
std::unique_ptr<DeviceColumn> nodes_;
|
|
67
72
|
std::unique_ptr<DeviceColumn> geometries_;
|
|
68
73
|
std::unique_ptr<DeviceColumn> shapes_;
|
|
74
|
+
std::unique_ptr<DeviceColumn> colours_;
|
|
69
75
|
};
|
|
70
76
|
|
|
71
77
|
} // namespace ernie
|