ernie-renderer 0.2.0.dev117__tar.gz → 0.2.0.dev119__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.dev117 → ernie_renderer-0.2.0.dev119}/CMakeLists.txt +2 -1
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/Dockerfile +2 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/PKG-INFO +1 -1
- ernie_renderer-0.2.0.dev119/cmake/EmbedShader.cmake +42 -0
- ernie_renderer-0.2.0.dev119/cmake/ErnieShaders.cmake +30 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/CMakeLists.txt +12 -0
- ernie_renderer-0.2.0.dev119/ernie/render/ray_tracer.cpp +41 -0
- ernie_renderer-0.2.0.dev119/ernie/render/ray_tracer.h +23 -0
- ernie_renderer-0.2.0.dev119/ernie/render/shaders/affine.slang +40 -0
- ernie_renderer-0.2.0.dev119/ernie/render/shaders/compose.slang +24 -0
- ernie_renderer-0.2.0.dev119/ernie/render/shaders/double_float.slang +117 -0
- ernie_renderer-0.2.0.dev119/ernie/render/shaders/local.slang +114 -0
- ernie_renderer-0.2.0.dev119/ernie/render/shaders/ray_tracer.slang +117 -0
- ernie_renderer-0.2.0.dev119/ernie/render/shaders/shapes.slang +158 -0
- ernie_renderer-0.2.0.dev119/ernie/render/shaders/world.slang +10 -0
- ernie_renderer-0.2.0.dev119/ernie/render/shaders/write_instances.slang +33 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/top_levels.cpp +2 -33
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/transform_graph.cpp +10 -303
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/CMakeLists.txt +1 -0
- ernie_renderer-0.2.0.dev119/tests/render/ray_tracer_test.cpp +42 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.clang-format +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.clang-tidy +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.dockerignore +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.gersemirc +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.gitattributes +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.github/scripts/coverage_badge.py +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.github/scripts/install-lavapipe-windows.sh +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.github/workflows/ci.yml +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.gitignore +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.pre-commit-config.yaml +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/CMakePresets.json +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/benchmarks/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/benchmarks/bench.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/benchmarks/device/pose_step.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/benchmarks/main.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/benchmarks/render/transform_graph.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/benchmarks/scene/extents.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/benchmarks/scene/storage.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/ErnieConfig.cmake.in +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/ErnieFetch.cmake +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/ErnieInstall.cmake +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/ErniePackaging.cmake +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/ErnieTesting.cmake +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/ernie.pc.in +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/third_party/dear_imgui.cmake +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/third_party/glfw.cmake +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/third_party/googletest.cmake +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/third_party/nanobind.cmake +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/third_party/openexr.cmake +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/third_party/slang.cmake +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/third_party/tracy.cmake +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/docs/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/docs/index.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/docs/requirements.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/imgui_backend.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/imgui_backend.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/main.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/ui.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/ui.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/viewer.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/viewer.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/acceleration.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/acceleration.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/arena.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/arena.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/bindless.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/bindless.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/buffer.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/buffer.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/column.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/column.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/context.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/context.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/cuda.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/cuda.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/device.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/external.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/external.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/image.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/image.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/instance.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/instance.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/kernel.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/kernel.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/profile.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/profile.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/queue.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/queue.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/shader_compiler.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/shader_compiler.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/staging.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/staging.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/vulkan.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/vulkan.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/geometry/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/geometry/bounds.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/geometry/triangulation.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/geometry/triangulation.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/blackboard.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/dependencies.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/dependencies.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/graph.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/graph.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/pool.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/pool.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/ies.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/ies.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/image.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/image.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/nanovdb.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/nanovdb.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/raster.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/raster.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/texture.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/texture.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/astronomy.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/astronomy.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/atmosphere.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/atmosphere.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/cloud.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/cloud.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/constants.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/reflectance_library.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/reflectance_library.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/reflectance_table.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/regolith.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/regolith.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/scattering.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/scattering.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/solar.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/solar.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/solar_table.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/spectrum.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/spectrum.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/device.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/device.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/dlpack.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/dlpack.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/ernie/__init__.py +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/module.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/scene.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/scene.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/bottom_levels.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/bottom_levels.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/device_scene.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/device_scene.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/geometry.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/geometry.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/instances.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/instances.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/prim_rows.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/prim_rows.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/scene_columns.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/scene_columns.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/top_levels.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/transform_graph.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/animation.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/convert.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/edit_history.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/edit_history.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/extent_cache.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/extent_cache.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/holder_index.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/holder_index.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/inherit.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/json.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/json.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/json_value.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/path.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/path.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/reference.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/reference.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/scene.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/scene.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/camera.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/camera.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/collection.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/geom.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/geom.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/instancer.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/instancer.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/lux.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/lux.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/mesh.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/mesh.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/planet.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/planet.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/registry.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/render.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/render.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/shade.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/shade.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/vol.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/vol.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/storage.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/storage.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/time_samples.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/time_samples.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/tokens.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/usd_plugin.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/validate.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/value.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/view.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/view.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/xform.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/xform.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/algorithm.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/bytes.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/disk_cache.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/disk_cache.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/file.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/file.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/glm.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/hash_index.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/library.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/library.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/linear_algebra.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/log.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/log.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/math.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/noise.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/noise.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/numbers.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/on_failure.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/parallel.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/profiler.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/profiler.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/random.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/tensor.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/tensor.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/text.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/version.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/version.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/worker_pool.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/mkdocs.yml +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/pyproject.toml +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/app/orbit_camera_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/app/shell_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/app/view_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/app/viewer_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/common.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/consumer/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/consumer/main.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/acceleration_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/arena_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/bindless_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/column_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/columns.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/common.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/context_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/cuda_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/external_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/kernel_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/pose_step.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/profile_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/vulkan_devices_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/exr/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/exr/make_exr.py +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/exr/rgb_float_zip.exr +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/exr/rgba_half_window.exr +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/exr/y_half_zips.exr +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ies/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ies/downlight_quadrant.ies +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ies/floodlight_type_b.ies +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ies/lamp.tilt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/images/grey16.png +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ktx2/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ktx2/quadrants_etc1s.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ktx2/quadrants_uastc_zstd.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ktx2/tilted_normal_etc1s.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ktx2/tilted_normal_uastc.ktx2 +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/scenes/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/scenes/invalid/problems.expected +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/scenes/invalid/problems.json +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/scenes/rover.json +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/scenes/rover.saved.json +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/float_deflate_predictor3.tif +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/float_raw.tif +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/int16_bigtiff_bigendian.tif +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/rgb_lzw_predictor2.tif +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/rgb_planar_lzw.tif +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/rgb_planar_raw.tif +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/rgb_tiled_deflate.tif +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/volumes/cube.nvdb +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/volumes/make_nvdb.py +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/geometry/bounds_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/geometry/triangulation_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/graph/dependencies_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/graph/graph_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/io/ies_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/io/image_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/io/nanovdb_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/io/raster_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/io/texture_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/astronomy_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/atmosphere_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/cloud_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/reflectance_library_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/regolith_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/scattering_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/solar_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/spectrum_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/python/conftest.py +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/python/test_device_dlpack.py +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/python/test_device_torch.py +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/python/test_package.py +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/python/test_scene.py +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/python/test_scene_schema.py +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/render/acceleration_scene_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/render/device_scene_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/render/geometry_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/render/scene_columns_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/render/transform_graph_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/edit_history_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/extent_cache_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/inherit_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/instancer_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/json_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/lux_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/mesh_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/path_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/planet_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/reference_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/render_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/scene_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/schema_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/shade_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/storage_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/time_samples_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/vol_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/xform_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/algorithm_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/bytes_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/disk_cache_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/file_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/hash_index_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/linear_algebra_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/log_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/math_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/noise_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/parallel_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/profiler_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/random_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/tensor_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/text_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/version_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/worker_pool_test.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/CMakeLists.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/LICENSES/Apache-2.0.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/LICENSES/BSD-3-clause.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/LICENSES/MIT.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/NOTICE +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_astc_cfgs.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_astc_hdr_core.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_astc_helpers.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_containers.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_containers_impl.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_dds_transcoder.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_etc1_mods.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_file_headers.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_idct.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_internal.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_astc.inc +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_astc_0_255.inc +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_55.inc +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_56.inc +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_alpha.inc +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_color.inc +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_5.inc +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_6.inc +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_45.inc +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_alpha_33.inc +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_uastc.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_xbc7_decoder.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_xbc7_decoder.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/zstd/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/zstd/zstd.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/zstd/zstd_errors.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/bc7decomp.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/bc7decomp.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/bc7enc.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/bc7enc.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/rgbcx.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/rgbcx.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/rgbcx_table4.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/rgbcx_table4_small.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/dlpack/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/dlpack/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/dlpack/include/dlpack/dlpack.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/copying.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/common.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/_features.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/_fixes.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/_noise.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/_swizzle.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/_swizzle_func.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/_vectorize.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/compute_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/compute_vector_decl.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/compute_vector_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_common.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_common_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_exponential.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_exponential_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_geometric.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_geometric_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_integer_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_matrix.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_matrix_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_packing.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_packing_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_trigonometric.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_trigonometric_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_vector_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_vector_relational_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/qualifier.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/setup.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_float.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_half.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_half.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat2x2.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat2x3.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat2x4.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat3x2.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat3x3.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat3x4.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat4x2.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat4x3.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat4x4.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat4x4_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_quat.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_quat.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_quat_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec1.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec1.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec2.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec3.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec4.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/exponential.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/_matrix_vectorize.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_clip_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_clip_space.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_common.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double2x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double2x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double2x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double3x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double3x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double3x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double4x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double4x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double4x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float2x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float2x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float2x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float3x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float3x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float3x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float4x2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float4x3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float4x4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int2x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int2x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int2x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int3x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int3x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int3x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int4x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int4x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int4x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_projection.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_projection.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_transform.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint2x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint2x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint2x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint3x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint3x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint3x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint4x2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint4x3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint4x4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_common.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_common_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_double.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_double_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_exponential.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_exponential.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_float.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_float_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_geometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_geometric.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_transform.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_trigonometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_trigonometric.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_common.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_constants.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_constants.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_int_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_packing.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_reciprocal.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_reciprocal.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_uint_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_ulp.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_ulp.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool1.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool1_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_common.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_common.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double1.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double1_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float1.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float1_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float2_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float3_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float4_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int1.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int1_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_integer.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_packing.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_reciprocal.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_reciprocal.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint1.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint1_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint2_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint3_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint4_sized.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_ulp.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_ulp.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/fwd.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/geometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/glm.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/bitfield.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/bitfield.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/color_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/color_space.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/constants.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/constants.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/epsilon.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/epsilon.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/integer.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/matrix_access.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/matrix_access.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/matrix_integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/matrix_inverse.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/matrix_inverse.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/matrix_transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/matrix_transform.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/noise.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/noise.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/packing.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/quaternion.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/quaternion.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/quaternion_simd.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/random.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/random.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/reciprocal.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/round.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/round.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/type_aligned.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/type_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/type_precision.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/type_ptr.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/type_ptr.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/ulp.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/ulp.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/vec1.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/associated_min_max.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/associated_min_max.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/bit.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/bit.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/closest_point.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/closest_point.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/color_encoding.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/color_encoding.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/color_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/color_space.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/color_space_YCoCg.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/color_space_YCoCg.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/common.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/common.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/compatibility.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/compatibility.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/component_wise.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/component_wise.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/dual_quaternion.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/dual_quaternion.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/easing.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/easing.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/euler_angles.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/euler_angles.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/extend.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/extend.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/extended_min_max.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/extended_min_max.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/exterior_product.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/exterior_product.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/fast_exponential.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/fast_exponential.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/fast_square_root.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/fast_square_root.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/fast_trigonometry.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/fast_trigonometry.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/float_normalize.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/functions.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/functions.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/gradient_paint.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/gradient_paint.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/handed_coordinate_space.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/handed_coordinate_space.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/hash.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/hash.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/integer.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/intersect.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/intersect.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/io.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/io.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/iteration.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/iteration.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/log_base.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/log_base.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_cross_product.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_cross_product.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_decompose.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_decompose.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_factorisation.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_factorisation.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_interpolation.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_interpolation.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_major_storage.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_major_storage.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_operation.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_operation.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_query.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_query.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_transform_2d.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_transform_2d.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/mixed_product.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/mixed_product.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/norm.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/norm.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/normal.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/normal.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/normalize_dot.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/normalize_dot.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/number_precision.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/optimum_pow.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/optimum_pow.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/orthonormalize.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/orthonormalize.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/pca.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/pca.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/perpendicular.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/perpendicular.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/polar_coordinates.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/polar_coordinates.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/projection.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/projection.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/quaternion.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/quaternion.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/range.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/raw_data.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/raw_data.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/rotate_normalized_axis.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/rotate_normalized_axis.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/rotate_vector.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/rotate_vector.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/scalar_multiplication.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/scalar_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/scalar_relational.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/spline.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/spline.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/std_based_type.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/std_based_type.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/string_cast.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/string_cast.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/structured_bindings.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/structured_bindings.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/texture.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/texture.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/transform.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/transform.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/transform2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/transform2.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/type_aligned.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/type_aligned.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/type_trait.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/type_trait.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/vec_swizzle.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/vector_angle.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/vector_angle.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/vector_query.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/vector_query.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/wrap.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/wrap.inl +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/integer.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat2x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat2x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat2x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat3x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat3x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat3x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat4x2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat4x3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat4x4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/matrix.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/packing.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/common.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/exponential.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/geometric.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/integer.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/matrix.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/neon.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/packing.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/platform.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/trigonometric.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/vector_relational.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/trigonometric.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/vec2.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/vec3.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/vec4.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/vector_relational.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/json/LICENSE.MIT +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/json/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/json/include/nlohmann/json.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/json/include/nlohmann/json_fwd.hpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/nanovdb/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/nanovdb/PNanoVDB.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/stb/LICENSE +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/stb/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/stb/stb_image.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/stb/stb_image_write.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/stb.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vma/LICENSE.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vma/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vma/include/vk_mem_alloc.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vma.cpp +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/volk/LICENSE.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/volk/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/volk/volk.c +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/volk/volk.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/LICENSE.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/LICENSES/Apache-2.0.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/LICENSES/MIT.txt +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/README.md +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_encode.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_encode.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_encode.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std_decode.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codecs_common.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vk_icd.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vk_layer.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vk_platform.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_android.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_beta.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_core.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_directfb.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_fuchsia.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_ggp.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_ios.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_macos.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_metal.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_ohos.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_screen.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_ubm.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_vi.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_wayland.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_win32.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_xcb.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_xlib.h +0 -0
- {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/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 ".dev119" 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)
|
|
@@ -54,6 +54,7 @@ include(cmake/ErnieFetch.cmake)
|
|
|
54
54
|
include(cmake/third_party/openexr.cmake)
|
|
55
55
|
include(cmake/third_party/tracy.cmake)
|
|
56
56
|
include(cmake/third_party/slang.cmake)
|
|
57
|
+
include(cmake/ErnieShaders.cmake)
|
|
57
58
|
add_subdirectory(third_party)
|
|
58
59
|
|
|
59
60
|
add_library(ernie_build_options INTERFACE)
|
|
@@ -17,6 +17,8 @@ RUN apt-get update \
|
|
|
17
17
|
&& apt-get install -y --no-install-recommends libvulkan1 mesa-vulkan-drivers \
|
|
18
18
|
&& rm -rf /var/lib/apt/lists/*
|
|
19
19
|
COPY --from=build /opt/ernie/bin/ernie /usr/local/bin/ernie
|
|
20
|
+
# Its private libraries, as Slang's compiler, where its rpath ($ORIGIN/../lib/ernie) looks.
|
|
21
|
+
COPY --from=build /opt/ernie/lib/ernie /usr/local/lib/ernie
|
|
20
22
|
# Data and the licences of everything the program carries.
|
|
21
23
|
COPY --from=build /opt/ernie/share /usr/local/share
|
|
22
24
|
ENV NVIDIA_DRIVER_CAPABILITIES=graphics,compute,utility
|
|
@@ -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.dev119
|
|
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
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
# Embeds one Slang file in a header as an ernie::ShaderModule
|
|
3
|
+
file(READ "${INPUT}" source)
|
|
4
|
+
string(FIND "${source}" ")slang\"" delimiter)
|
|
5
|
+
if(NOT delimiter EQUAL -1)
|
|
6
|
+
message(FATAL_ERROR "${INPUT} holds )slang\", which ends the raw string it is embedded in")
|
|
7
|
+
endif()
|
|
8
|
+
|
|
9
|
+
string(REPLACE "_" ";" words "${NAME}")
|
|
10
|
+
set(identifier "k")
|
|
11
|
+
foreach(word IN LISTS words)
|
|
12
|
+
string(SUBSTRING "${word}" 0 1 first)
|
|
13
|
+
string(SUBSTRING "${word}" 1 -1 rest)
|
|
14
|
+
string(TOUPPER "${first}" first)
|
|
15
|
+
string(APPEND identifier "${first}${rest}")
|
|
16
|
+
endforeach()
|
|
17
|
+
|
|
18
|
+
set(chunks "")
|
|
19
|
+
string(LENGTH "${source}" length)
|
|
20
|
+
set(chunk 8192)
|
|
21
|
+
set(at 0)
|
|
22
|
+
while(at LESS length)
|
|
23
|
+
string(SUBSTRING "${source}" ${at} ${chunk} piece)
|
|
24
|
+
string(APPEND chunks " R\"slang(${piece})slang\"\n")
|
|
25
|
+
math(EXPR at "${at} + ${chunk}")
|
|
26
|
+
endwhile()
|
|
27
|
+
if(chunks STREQUAL "")
|
|
28
|
+
set(chunks " \"\"\n")
|
|
29
|
+
endif()
|
|
30
|
+
|
|
31
|
+
file(RELATIVE_PATH from "${ROOT}" "${INPUT}")
|
|
32
|
+
set(header
|
|
33
|
+
"// Generated from ${from} by cmake/EmbedShader.cmake: edit that file.\n#pragma once\n\n#include \"ernie/device/shader_compiler.h\"\n\nnamespace ernie::shaders {\n\ninline const ShaderModule ${identifier}{\n \"${NAME}\",\n${chunks}};\n\n} // namespace ernie::shaders\n"
|
|
34
|
+
)
|
|
35
|
+
# Unchanged headers keep their times, so nothing that includes them rebuilds.
|
|
36
|
+
if(EXISTS "${OUTPUT}")
|
|
37
|
+
file(READ "${OUTPUT}" previous)
|
|
38
|
+
if(previous STREQUAL header)
|
|
39
|
+
return()
|
|
40
|
+
endif()
|
|
41
|
+
endif()
|
|
42
|
+
file(WRITE "${OUTPUT}" "${header}")
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
# Slang shaders kept in .slang files and embedded in the library, so editors highlight and
|
|
3
|
+
# resolve them and the program needs no files beside it.
|
|
4
|
+
#
|
|
5
|
+
# ernie_add_shaders(ernie_render shaders/affine.slang shaders/world.slang)
|
|
6
|
+
# // In C++: #include "ernie/render/shaders/affine.h" for ernie::shaders::kAffine.
|
|
7
|
+
|
|
8
|
+
# Builds each file's header beside its path under the build's include directory, before the
|
|
9
|
+
# target compiles.
|
|
10
|
+
function(ernie_add_shaders target)
|
|
11
|
+
set(headers "")
|
|
12
|
+
foreach(file IN LISTS ARGN)
|
|
13
|
+
get_filename_component(source "${file}" ABSOLUTE)
|
|
14
|
+
get_filename_component(name "${file}" NAME_WE)
|
|
15
|
+
file(RELATIVE_PATH relative "${PROJECT_SOURCE_DIR}" "${source}")
|
|
16
|
+
string(REGEX REPLACE "\\.slang$" ".h" relative "${relative}")
|
|
17
|
+
set(header "${PROJECT_BINARY_DIR}/include/${relative}")
|
|
18
|
+
add_custom_command(
|
|
19
|
+
OUTPUT "${header}"
|
|
20
|
+
COMMAND
|
|
21
|
+
"${CMAKE_COMMAND}" "-DINPUT=${source}" "-DOUTPUT=${header}" "-DNAME=${name}"
|
|
22
|
+
"-DROOT=${PROJECT_SOURCE_DIR}" -P "${PROJECT_SOURCE_DIR}/cmake/EmbedShader.cmake"
|
|
23
|
+
DEPENDS "${source}" "${PROJECT_SOURCE_DIR}/cmake/EmbedShader.cmake"
|
|
24
|
+
COMMENT "Embedding ${relative}"
|
|
25
|
+
VERBATIM
|
|
26
|
+
)
|
|
27
|
+
list(APPEND headers "${header}")
|
|
28
|
+
endforeach()
|
|
29
|
+
target_sources(${target} PRIVATE ${headers})
|
|
30
|
+
endfunction()
|
|
@@ -7,10 +7,22 @@ add_library(
|
|
|
7
7
|
geometry.cpp
|
|
8
8
|
instances.cpp
|
|
9
9
|
prim_rows.cpp
|
|
10
|
+
ray_tracer.cpp
|
|
10
11
|
scene_columns.cpp
|
|
11
12
|
top_levels.cpp
|
|
12
13
|
transform_graph.cpp
|
|
13
14
|
)
|
|
15
|
+
ernie_add_shaders(
|
|
16
|
+
ernie_render
|
|
17
|
+
shaders/affine.slang
|
|
18
|
+
shaders/compose.slang
|
|
19
|
+
shaders/double_float.slang
|
|
20
|
+
shaders/local.slang
|
|
21
|
+
shaders/ray_tracer.slang
|
|
22
|
+
shaders/shapes.slang
|
|
23
|
+
shaders/world.slang
|
|
24
|
+
shaders/write_instances.slang
|
|
25
|
+
)
|
|
14
26
|
target_link_libraries(
|
|
15
27
|
ernie_render
|
|
16
28
|
PUBLIC ernie_geometry ernie_scene ernie_graph
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
/// @file ray_tracer.cpp
|
|
3
|
+
/// @brief The tracing modules: the geometry kinds generated from `GeometryKind`, then the shapes
|
|
4
|
+
/// and ray tracer embedded from their .slang files.
|
|
5
|
+
#include "ernie/render/ray_tracer.h"
|
|
6
|
+
|
|
7
|
+
#include "ernie/render/geometry.h"
|
|
8
|
+
#include "ernie/render/shaders/ray_tracer.h"
|
|
9
|
+
#include "ernie/render/shaders/shapes.h"
|
|
10
|
+
|
|
11
|
+
#include <array>
|
|
12
|
+
#include <string>
|
|
13
|
+
|
|
14
|
+
namespace ernie {
|
|
15
|
+
namespace {
|
|
16
|
+
|
|
17
|
+
/// The geometry kinds as the shaders name them, from `GeometryKind`.
|
|
18
|
+
ShaderModule KindsModule() {
|
|
19
|
+
std::string source;
|
|
20
|
+
const auto kind = [&](const char* name, GeometryKind value) {
|
|
21
|
+
source += std::string("public static const uint ") + name + " = " +
|
|
22
|
+
std::to_string(static_cast<std::uint32_t>(value)) + ";\n";
|
|
23
|
+
};
|
|
24
|
+
kind("kTriangles", GeometryKind::Triangles);
|
|
25
|
+
kind("kSphere", GeometryKind::Sphere);
|
|
26
|
+
kind("kCube", GeometryKind::Cube);
|
|
27
|
+
kind("kCylinder", GeometryKind::Cylinder);
|
|
28
|
+
kind("kCone", GeometryKind::Cone);
|
|
29
|
+
kind("kCapsule", GeometryKind::Capsule);
|
|
30
|
+
kind("kPlane", GeometryKind::Plane);
|
|
31
|
+
return {"geometry_kinds", std::move(source)};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
} // namespace
|
|
35
|
+
|
|
36
|
+
std::span<const ShaderModule> RayTracerModules() {
|
|
37
|
+
static const std::array modules{KindsModule(), shaders::kShapes, shaders::kRayTracer};
|
|
38
|
+
return modules;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
} // namespace ernie
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
/// @file ray_tracer.h
|
|
3
|
+
/// @brief The Slang modules every tracing kernel imports: `IRayTracer`, the one interface passes
|
|
4
|
+
/// trace through whatever backend answers it, its hardware ray-query backend, and the exact
|
|
5
|
+
/// intersections of the implicit shapes.
|
|
6
|
+
///
|
|
7
|
+
/// import ray_tracer;
|
|
8
|
+
/// HardwareRayQuery tracer = { parameters.scene, parameters.records };
|
|
9
|
+
/// Hit hit = tracer.TraceClosest(ray, 0xff);
|
|
10
|
+
/// if (hit.found) { float3 n = WorldNormal(hit, parameters.records); }
|
|
11
|
+
#pragma once
|
|
12
|
+
|
|
13
|
+
#include "ernie/device/shader_compiler.h"
|
|
14
|
+
|
|
15
|
+
#include <span>
|
|
16
|
+
|
|
17
|
+
namespace ernie {
|
|
18
|
+
|
|
19
|
+
/// @return The modules, in import order, a tracing kernel compiles with: the geometry kinds,
|
|
20
|
+
/// `shapes` (unit shapes intersected in their own frame) and `ray_tracer`.
|
|
21
|
+
std::span<const ShaderModule> RayTracerModules();
|
|
22
|
+
|
|
23
|
+
} // namespace ernie
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
/// @file affine.slang
|
|
3
|
+
/// @brief 3x4 affine transforms as float rows: identity, loads, stores and products.
|
|
4
|
+
|
|
5
|
+
/// A 3x4 affine transform's rows; its fourth row is (0, 0, 0, 1).
|
|
6
|
+
public struct Affine {
|
|
7
|
+
public float4 rows[3];
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
public Affine Identity() {
|
|
11
|
+
Affine m;
|
|
12
|
+
m.rows[0] = float4(1, 0, 0, 0);
|
|
13
|
+
m.rows[1] = float4(0, 1, 0, 0);
|
|
14
|
+
m.rows[2] = float4(0, 0, 1, 0);
|
|
15
|
+
return m;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
public Affine Load(float4* matrices, uint index) {
|
|
19
|
+
Affine m;
|
|
20
|
+
for (uint r = 0; r < 3; ++r) {
|
|
21
|
+
m.rows[r] = matrices[3 * index + r];
|
|
22
|
+
}
|
|
23
|
+
return m;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public void Store(float4* matrices, uint index, Affine m) {
|
|
27
|
+
for (uint r = 0; r < 3; ++r) {
|
|
28
|
+
matrices[3 * index + r] = m.rows[r];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
public Affine Mul(Affine a, Affine b) {
|
|
33
|
+
Affine c;
|
|
34
|
+
for (uint r = 0; r < 3; ++r) {
|
|
35
|
+
float4 row = a.rows[r];
|
|
36
|
+
c.rows[r] = row.x * b.rows[0] + row.y * b.rows[1] + row.z * b.rows[2] +
|
|
37
|
+
float4(0, 0, 0, row.w);
|
|
38
|
+
}
|
|
39
|
+
return c;
|
|
40
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
/// @file compose.slang
|
|
3
|
+
/// @brief One level of the transform graph: each node's world from its parent's and its local, in
|
|
4
|
+
/// double-float.
|
|
5
|
+
import affine;
|
|
6
|
+
import double_float;
|
|
7
|
+
// The op kinds and program layout, generated from transform_graph.cpp's constants.
|
|
8
|
+
import ops;
|
|
9
|
+
|
|
10
|
+
struct Parameters { uint* slots; uint* parents; float4* locals; float4* worlds; uint count; };
|
|
11
|
+
[[vk::push_constant]] ConstantBuffer<Parameters> parameters;
|
|
12
|
+
|
|
13
|
+
[shader("compute")]
|
|
14
|
+
[numthreads(64, 1, 1)]
|
|
15
|
+
void main(uint3 id : SV_DispatchThreadID) {
|
|
16
|
+
if (id.x >= parameters.count) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
uint slot = parameters.slots[id.x];
|
|
20
|
+
uint parent = parameters.parents[slot];
|
|
21
|
+
DoubleAffine local = LoadDouble(parameters.locals, slot);
|
|
22
|
+
StoreDouble(parameters.worlds, slot,
|
|
23
|
+
parent == kNone ? local : Mul(LoadDouble(parameters.worlds, parent), local));
|
|
24
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
/// @file double_float.slang
|
|
3
|
+
/// @brief Double-float arithmetic after Dekker (1971) and Hida, Li and Bailey's QD library (2001):
|
|
4
|
+
/// error-free sums and Veltkamp-split products, about 48 bits of mantissa from pairs of floats.
|
|
5
|
+
/// `precise` keeps every step as written (SPIR-V NoContraction).
|
|
6
|
+
import affine;
|
|
7
|
+
|
|
8
|
+
/// Four values, each the unevaluated sum of a high float and a low one.
|
|
9
|
+
public struct Double4 {
|
|
10
|
+
public float4 hi;
|
|
11
|
+
public float4 lo;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
Double4 Pair(float4 hi, float4 lo) {
|
|
15
|
+
Double4 d;
|
|
16
|
+
d.hi = hi;
|
|
17
|
+
d.lo = lo;
|
|
18
|
+
return d;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/// The sum and its rounding error, for any a and b.
|
|
22
|
+
Double4 TwoSum(float4 a, float4 b) {
|
|
23
|
+
precise float4 s = a + b;
|
|
24
|
+
precise float4 v = s - a;
|
|
25
|
+
precise float4 e = (a - (s - v)) + (b - v);
|
|
26
|
+
return Pair(s, e);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/// The sum renormalised, for |a| >= |b|.
|
|
30
|
+
Double4 QuickTwoSum(float4 a, float4 b) {
|
|
31
|
+
precise float4 s = a + b;
|
|
32
|
+
precise float4 e = b - (s - a);
|
|
33
|
+
return Pair(s, e);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
public Double4 Add(Double4 a, Double4 b) {
|
|
37
|
+
Double4 s = TwoSum(a.hi, b.hi);
|
|
38
|
+
precise float4 e = s.lo + (a.lo + b.lo);
|
|
39
|
+
return QuickTwoSum(s.hi, e);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/// Veltkamp's split of each float into two 12-bit halves, whose products are exact.
|
|
43
|
+
void Halves(float4 a, out float4 high, out float4 low) {
|
|
44
|
+
precise float4 c = 4097.0 * a;
|
|
45
|
+
precise float4 big = c - a;
|
|
46
|
+
precise float4 h = c - big;
|
|
47
|
+
precise float4 l = a - h;
|
|
48
|
+
high = h;
|
|
49
|
+
low = l;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/// The product and its rounding error, without fused multiply-adds: Vulkan and WebGPU do not
|
|
53
|
+
/// promise `fma` rounds once.
|
|
54
|
+
Double4 TwoProduct(float4 a, float4 b) {
|
|
55
|
+
float4 ah, al, bh, bl;
|
|
56
|
+
Halves(a, ah, al);
|
|
57
|
+
Halves(b, bh, bl);
|
|
58
|
+
precise float4 p = a * b;
|
|
59
|
+
precise float4 e = ((ah * bh - p) + ah * bl + al * bh) + al * bl;
|
|
60
|
+
return Pair(p, e);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/// `a` times the double-float scalar `hi + lo`.
|
|
64
|
+
public Double4 Scale(Double4 a, float hi, float lo) {
|
|
65
|
+
Double4 p = TwoProduct(a.hi, float4(hi));
|
|
66
|
+
precise float4 e = p.lo + (a.hi * lo + a.lo * hi);
|
|
67
|
+
return QuickTwoSum(p.hi, e);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/// A 3x4 affine transform's rows in double-float.
|
|
71
|
+
public struct DoubleAffine {
|
|
72
|
+
public Double4 rows[3];
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
public DoubleAffine Promote(Affine m) {
|
|
76
|
+
DoubleAffine d;
|
|
77
|
+
for (uint r = 0; r < 3; ++r) {
|
|
78
|
+
d.rows[r] = Pair(m.rows[r], float4(0));
|
|
79
|
+
}
|
|
80
|
+
return d;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
public DoubleAffine Mul(DoubleAffine a, DoubleAffine b) {
|
|
84
|
+
DoubleAffine c;
|
|
85
|
+
for (uint r = 0; r < 3; ++r) {
|
|
86
|
+
Double4 row = a.rows[r];
|
|
87
|
+
Double4 sum = Pair(float4(0, 0, 0, row.hi.w), float4(0, 0, 0, row.lo.w));
|
|
88
|
+
sum = Add(sum, Scale(b.rows[0], row.hi.x, row.lo.x));
|
|
89
|
+
sum = Add(sum, Scale(b.rows[1], row.hi.y, row.lo.y));
|
|
90
|
+
c.rows[r] = Add(sum, Scale(b.rows[2], row.hi.z, row.lo.z));
|
|
91
|
+
}
|
|
92
|
+
return c;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/// Six float4 a transform: its high rows, then its low rows.
|
|
96
|
+
public DoubleAffine LoadDouble(float4* matrices, uint index) {
|
|
97
|
+
DoubleAffine m;
|
|
98
|
+
for (uint r = 0; r < 3; ++r) {
|
|
99
|
+
m.rows[r] = Pair(matrices[6 * index + r], matrices[6 * index + 3 + r]);
|
|
100
|
+
}
|
|
101
|
+
return m;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
public void StoreDouble(float4* matrices, uint index, DoubleAffine m) {
|
|
105
|
+
for (uint r = 0; r < 3; ++r) {
|
|
106
|
+
matrices[6 * index + r] = m.rows[r].hi;
|
|
107
|
+
matrices[6 * index + 3 + r] = m.rows[r].lo;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
public Affine Round(DoubleAffine m) {
|
|
112
|
+
Affine f;
|
|
113
|
+
for (uint r = 0; r < 3; ++r) {
|
|
114
|
+
f.rows[r] = m.rows[r].hi + m.rows[r].lo;
|
|
115
|
+
}
|
|
116
|
+
return f;
|
|
117
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
/// @file local.slang
|
|
3
|
+
/// @brief The transform graph's local transforms: each programmed node's ops evaluated in
|
|
4
|
+
/// double-float, bound ops read in place from the columns CUDA, Warp or kernels write.
|
|
5
|
+
import affine;
|
|
6
|
+
import double_float;
|
|
7
|
+
// The op kinds and program layout, generated from transform_graph.cpp's constants.
|
|
8
|
+
import ops;
|
|
9
|
+
|
|
10
|
+
struct Op { uint kind; uint flags; float* source; float4 hi[3]; float4 lo[3]; };
|
|
11
|
+
struct Parameters { uint* slots; Op* programs; uint* lengths; float4* locals; uint count; };
|
|
12
|
+
[[vk::push_constant]] ConstantBuffer<Parameters> parameters;
|
|
13
|
+
|
|
14
|
+
static const uint3 kAxes[6] = { uint3(0, 1, 2), uint3(0, 2, 1), uint3(1, 0, 2),
|
|
15
|
+
uint3(1, 2, 0), uint3(2, 0, 1), uint3(2, 1, 0) };
|
|
16
|
+
|
|
17
|
+
/// A right-handed turn about one axis, as the host's AxisRotation builds it.
|
|
18
|
+
Affine Turn(uint axis, float degrees) {
|
|
19
|
+
float c = cos(radians(degrees));
|
|
20
|
+
float s = sin(radians(degrees));
|
|
21
|
+
uint a = (axis + 1) % 3;
|
|
22
|
+
uint b = (axis + 2) % 3;
|
|
23
|
+
Affine m = Identity();
|
|
24
|
+
m.rows[a][a] = c;
|
|
25
|
+
m.rows[a][b] = -s;
|
|
26
|
+
m.rows[b][a] = s;
|
|
27
|
+
m.rows[b][b] = c;
|
|
28
|
+
return m;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
Affine Inverse(Affine m) {
|
|
32
|
+
float3 a = m.rows[0].xyz;
|
|
33
|
+
float3 b = m.rows[1].xyz;
|
|
34
|
+
float3 c = m.rows[2].xyz;
|
|
35
|
+
float3 r0 = cross(b, c);
|
|
36
|
+
float3 r1 = cross(c, a);
|
|
37
|
+
float3 r2 = cross(a, b);
|
|
38
|
+
float invDet = 1 / dot(a, r0);
|
|
39
|
+
// The inverse's columns are the cofactor rows over the determinant.
|
|
40
|
+
float3x3 inv = transpose(float3x3(r0, r1, r2)) * invDet;
|
|
41
|
+
float3 t = float3(m.rows[0].w, m.rows[1].w, m.rows[2].w);
|
|
42
|
+
float3 back = -mul(inv, t);
|
|
43
|
+
Affine result;
|
|
44
|
+
for (uint r = 0; r < 3; ++r) {
|
|
45
|
+
result.rows[r] = float4(inv[r], back[r]);
|
|
46
|
+
}
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/// A bound op's matrix from the floats it reads.
|
|
51
|
+
Affine OpMatrix(Op op) {
|
|
52
|
+
Affine m = Identity();
|
|
53
|
+
float* v = op.source;
|
|
54
|
+
uint floats = (op.flags >> kFloatsShift) & 0xff;
|
|
55
|
+
if (op.kind == kTranslate) {
|
|
56
|
+
m.rows[0].w = v[0];
|
|
57
|
+
m.rows[1].w = v[1];
|
|
58
|
+
m.rows[2].w = v[2];
|
|
59
|
+
} else if (op.kind == kScale) {
|
|
60
|
+
float3 s = floats == 1 ? float3(v[0]) : float3(v[0], v[1], v[2]);
|
|
61
|
+
m.rows[0].x = s.x;
|
|
62
|
+
m.rows[1].y = s.y;
|
|
63
|
+
m.rows[2].z = s.z;
|
|
64
|
+
} else if (op.kind < kRotateXYZ) {
|
|
65
|
+
m = Turn(op.kind - kRotateX, v[0]);
|
|
66
|
+
} else if (op.kind < kOrient) {
|
|
67
|
+
// The order's first axis turns first: R = Rk * Rj * Ri, each by its own axis' angle.
|
|
68
|
+
uint3 axes = kAxes[op.kind - kRotateXYZ];
|
|
69
|
+
m = Mul(Mul(Turn(axes.z, v[axes.z]), Turn(axes.y, v[axes.y])),
|
|
70
|
+
Turn(axes.x, v[axes.x]));
|
|
71
|
+
} else if (op.kind == kOrient) {
|
|
72
|
+
float4 q = normalize(float4(v[0], v[1], v[2], v[3]));
|
|
73
|
+
m.rows[0] = float4(1 - 2 * (q.y * q.y + q.z * q.z), 2 * (q.x * q.y - q.z * q.w),
|
|
74
|
+
2 * (q.x * q.z + q.y * q.w), 0);
|
|
75
|
+
m.rows[1] = float4(2 * (q.x * q.y + q.z * q.w), 1 - 2 * (q.x * q.x + q.z * q.z),
|
|
76
|
+
2 * (q.y * q.z - q.x * q.w), 0);
|
|
77
|
+
m.rows[2] = float4(2 * (q.x * q.z - q.y * q.w), 2 * (q.y * q.z + q.x * q.w),
|
|
78
|
+
1 - 2 * (q.x * q.x + q.y * q.y), 0);
|
|
79
|
+
} else {
|
|
80
|
+
// Column-major, as the scene's matrices are.
|
|
81
|
+
for (uint r = 0; r < 3; ++r) {
|
|
82
|
+
m.rows[r] = float4(v[r], v[4 + r], v[8 + r], v[12 + r]);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return (op.flags & kInvert) != 0 ? Inverse(m) : m;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/// An op's matrix: a folded constant exactly as the host split it, a bound op from its floats.
|
|
89
|
+
DoubleAffine OpDoubleMatrix(Op op) {
|
|
90
|
+
if (op.kind != kConstant) {
|
|
91
|
+
return Promote(OpMatrix(op));
|
|
92
|
+
}
|
|
93
|
+
DoubleAffine m;
|
|
94
|
+
for (uint r = 0; r < 3; ++r) {
|
|
95
|
+
m.rows[r].hi = op.hi[r];
|
|
96
|
+
m.rows[r].lo = op.lo[r];
|
|
97
|
+
}
|
|
98
|
+
return m;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/// One thread a programmed node, its program at its place in the list.
|
|
102
|
+
[shader("compute")]
|
|
103
|
+
[numthreads(64, 1, 1)]
|
|
104
|
+
void main(uint3 id : SV_DispatchThreadID) {
|
|
105
|
+
uint at = id.x;
|
|
106
|
+
if (at >= parameters.count) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
DoubleAffine local = Promote(Identity());
|
|
110
|
+
for (uint k = 0; k < parameters.lengths[at]; ++k) {
|
|
111
|
+
local = Mul(local, OpDoubleMatrix(parameters.programs[at * kMaxOps + k]));
|
|
112
|
+
}
|
|
113
|
+
StoreDouble(parameters.locals, parameters.slots[at], local);
|
|
114
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
/// @file ray_tracer.slang
|
|
3
|
+
/// @brief `IRayTracer`, the one interface passes trace through whatever backend answers it, and
|
|
4
|
+
/// its hardware ray-query backend.
|
|
5
|
+
// The geometry kinds, generated from GeometryKind in ray_tracer.cpp.
|
|
6
|
+
import geometry_kinds;
|
|
7
|
+
import shapes;
|
|
8
|
+
|
|
9
|
+
/// A geometry's record, as the C++ `GeometryRecord`: an instance's custom index finds it.
|
|
10
|
+
public struct GeometryRecord {
|
|
11
|
+
public uint kind;
|
|
12
|
+
public float halfLength;
|
|
13
|
+
public uint vertexCount;
|
|
14
|
+
public uint triangleCount;
|
|
15
|
+
public float* vertices;
|
|
16
|
+
public uint* indices;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/// What a ray hit: where along it, which instance, primitive and geometry, and the transforms
|
|
20
|
+
/// between the instance's frame and the scene's. Surfaces are reconstructed from it.
|
|
21
|
+
public struct Hit {
|
|
22
|
+
public bool found;
|
|
23
|
+
public float t;
|
|
24
|
+
/// The instance's row: `InstanceIndex()`.
|
|
25
|
+
public uint instance;
|
|
26
|
+
public uint primitive;
|
|
27
|
+
public uint geometry;
|
|
28
|
+
public float2 barycentrics;
|
|
29
|
+
/// An implicit shape's outward normal, in its own frame.
|
|
30
|
+
public float3 objectNormal;
|
|
31
|
+
public float3x4 objectToWorld;
|
|
32
|
+
public float3x4 worldToObject;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/// The one interface every pass traces through, whichever backend answers it.
|
|
36
|
+
public interface IRayTracer {
|
|
37
|
+
/// @return The nearest hit along the ray among instances in `mask`.
|
|
38
|
+
Hit TraceClosest(RayDesc ray, uint mask);
|
|
39
|
+
/// @return Whether anything in `mask` blocks the ray, for visibility.
|
|
40
|
+
bool TraceAny(RayDesc ray, uint mask);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/// Ray queries against a hardware top level, by its device address.
|
|
44
|
+
public struct HardwareRayQuery : IRayTracer {
|
|
45
|
+
public uint64_t scene;
|
|
46
|
+
public GeometryRecord* records;
|
|
47
|
+
|
|
48
|
+
/// Runs the query, solving each procedural candidate exactly; `Flags` may end it at the first
|
|
49
|
+
/// hit. NVIDIA's compiler fails on `CandidateObjectRay*`: the object ray comes from the
|
|
50
|
+
/// candidate's matrix instead.
|
|
51
|
+
void Run<let Flags : int>(inout RayQuery<Flags> query, RayDesc ray, uint mask,
|
|
52
|
+
out ShapeHit nearest) {
|
|
53
|
+
query.TraceRayInline(RaytracingAccelerationStructure(scene), RAY_FLAG_NONE, mask, ray);
|
|
54
|
+
nearest.t = ray.TMax;
|
|
55
|
+
nearest.normal = float3(0, 0, 1);
|
|
56
|
+
while (query.Proceed()) {
|
|
57
|
+
if (query.CandidateType() != CANDIDATE_PROCEDURAL_PRIMITIVE) {
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
GeometryRecord record = records[query.CandidateInstanceID()];
|
|
61
|
+
float3x4 toObject = query.CandidateWorldToObject3x4();
|
|
62
|
+
float3 o = mul(toObject, float4(query.WorldRayOrigin(), 1));
|
|
63
|
+
float3 d = mul(toObject, float4(query.WorldRayDirection(), 0));
|
|
64
|
+
// Object-space distances along the transformed direction are the ray's own.
|
|
65
|
+
ShapeHit hit = nearest;
|
|
66
|
+
hit.t = query.CommittedRayT();
|
|
67
|
+
if (IntersectShape(record.kind, record.halfLength, o, d, ray.TMin, hit)) {
|
|
68
|
+
query.CommitProceduralPrimitiveHit(hit.t);
|
|
69
|
+
nearest = hit;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
public Hit TraceClosest(RayDesc ray, uint mask) {
|
|
75
|
+
RayQuery<RAY_FLAG_NONE> query;
|
|
76
|
+
ShapeHit nearest;
|
|
77
|
+
Run(query, ray, mask, nearest);
|
|
78
|
+
Hit hit;
|
|
79
|
+
uint status = query.CommittedStatus();
|
|
80
|
+
hit.found = status != COMMITTED_NOTHING;
|
|
81
|
+
hit.t = query.CommittedRayT();
|
|
82
|
+
hit.instance = hit.found ? query.CommittedInstanceIndex() : 0;
|
|
83
|
+
hit.primitive = hit.found ? query.CommittedPrimitiveIndex() : 0;
|
|
84
|
+
hit.geometry = hit.found ? query.CommittedInstanceID() : 0;
|
|
85
|
+
hit.barycentrics = status == COMMITTED_TRIANGLE_HIT ? query.CommittedTriangleBarycentrics()
|
|
86
|
+
: float2(0);
|
|
87
|
+
hit.objectNormal = nearest.normal;
|
|
88
|
+
hit.objectToWorld = query.CommittedObjectToWorld3x4();
|
|
89
|
+
hit.worldToObject = query.CommittedWorldToObject3x4();
|
|
90
|
+
return hit;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
public bool TraceAny(RayDesc ray, uint mask) {
|
|
94
|
+
RayQuery<RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH> query;
|
|
95
|
+
ShapeHit nearest;
|
|
96
|
+
Run(query, ray, mask, nearest);
|
|
97
|
+
return query.CommittedStatus() != COMMITTED_NOTHING;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/// @return The surface's geometric normal at a hit, in the scene's frame, facing out of an
|
|
102
|
+
/// implicit shape or by a triangle's winding.
|
|
103
|
+
public float3 WorldNormal(Hit hit, GeometryRecord* records) {
|
|
104
|
+
float3 normal = hit.objectNormal;
|
|
105
|
+
GeometryRecord record = records[hit.geometry];
|
|
106
|
+
if (record.kind == kTriangles) {
|
|
107
|
+
uint* corners = record.indices + 3 * hit.primitive;
|
|
108
|
+
float3 p[3];
|
|
109
|
+
for (uint i = 0; i < 3; ++i) {
|
|
110
|
+
float* v = record.vertices + 3 * corners[i];
|
|
111
|
+
p[i] = float3(v[0], v[1], v[2]);
|
|
112
|
+
}
|
|
113
|
+
normal = cross(p[1] - p[0], p[2] - p[0]);
|
|
114
|
+
}
|
|
115
|
+
// Normals take the inverse transpose: a row vector times the world-to-object matrix.
|
|
116
|
+
return normalize(mul(normal, (float3x3)hit.worldToObject));
|
|
117
|
+
}
|