ernie-renderer 0.2.0.dev166__tar.gz → 0.2.0.dev168__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.

Files changed (947) hide show
  1. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/CMakeLists.txt +1 -1
  2. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/PKG-INFO +1 -1
  3. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/benchmarks/CMakeLists.txt +1 -0
  4. ernie_renderer-0.2.0.dev168/benchmarks/render/shared_prims.cpp +129 -0
  5. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/instances.cpp +13 -3
  6. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/instances.h +15 -4
  7. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/renderer.cpp +4 -1
  8. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/renderer.h +13 -0
  9. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/rt/ray_tracer.cpp +3 -1
  10. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/rt/top_levels.cpp +24 -17
  11. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/rt/top_levels.h +14 -6
  12. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/rt/ray_tracer.slang +40 -10
  13. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/scene/world_layout.slang +20 -5
  14. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/render/device_scene_test.cpp +22 -7
  15. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/render/renderer_test.cpp +25 -7
  16. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/.clang-format +0 -0
  17. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/.clang-tidy +0 -0
  18. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/.dockerignore +0 -0
  19. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/.gersemirc +0 -0
  20. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/.gitattributes +0 -0
  21. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/.github/scripts/coverage_badge.py +0 -0
  22. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/.github/scripts/install-lavapipe-windows.sh +0 -0
  23. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/.github/workflows/ci.yml +0 -0
  24. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/.gitignore +0 -0
  25. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/.pre-commit-config.yaml +0 -0
  26. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/CMakePresets.json +0 -0
  27. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/Dockerfile +0 -0
  28. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/LICENSE +0 -0
  29. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/README.md +0 -0
  30. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/benchmarks/app/viewer_frame.cpp +0 -0
  31. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/benchmarks/bench.h +0 -0
  32. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/benchmarks/device/pose_step.cpp +0 -0
  33. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/benchmarks/main.cpp +0 -0
  34. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/benchmarks/render/batch_step.cpp +0 -0
  35. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/benchmarks/render/hide_seek.cpp +0 -0
  36. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/benchmarks/render/transform_graph.cpp +0 -0
  37. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/benchmarks/scene/extents.cpp +0 -0
  38. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/benchmarks/scene/storage.cpp +0 -0
  39. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/EmbedFile.cmake +0 -0
  40. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/EmbedShader.cmake +0 -0
  41. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/ErnieConfig.cmake.in +0 -0
  42. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/ErnieFetch.cmake +0 -0
  43. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/ErnieInstall.cmake +0 -0
  44. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/ErniePackaging.cmake +0 -0
  45. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/ErnieShaders.cmake +0 -0
  46. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/ErnieTesting.cmake +0 -0
  47. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/ernie.pc.in +0 -0
  48. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/third_party/dear_imgui.cmake +0 -0
  49. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/third_party/fonts.cmake +0 -0
  50. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/third_party/glfw.cmake +0 -0
  51. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/third_party/googletest.cmake +0 -0
  52. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/third_party/nanobind.cmake +0 -0
  53. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/third_party/openexr.cmake +0 -0
  54. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/third_party/slang.cmake +0 -0
  55. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/cmake/third_party/tracy.cmake +0 -0
  56. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/demos/CMakeLists.txt +0 -0
  57. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/demos/basics/demo_basics_bounce.cpp +0 -0
  58. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/docs/README.md +0 -0
  59. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/docs/index.md +0 -0
  60. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/docs/requirements.txt +0 -0
  61. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/CMakeLists.txt +0 -0
  62. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/CMakeLists.txt +0 -0
  63. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/capture.cpp +0 -0
  64. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/capture.h +0 -0
  65. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/create.cpp +0 -0
  66. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/create.h +0 -0
  67. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/demo.cpp +0 -0
  68. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/demo.h +0 -0
  69. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/icons.h +0 -0
  70. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/imgui_backend.cpp +0 -0
  71. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/imgui_backend.h +0 -0
  72. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/main.cpp +0 -0
  73. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/timeline.cpp +0 -0
  74. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/timeline.h +0 -0
  75. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/ui.cpp +0 -0
  76. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/ui.h +0 -0
  77. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/viewer.cpp +0 -0
  78. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/app/viewer.h +0 -0
  79. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/CMakeLists.txt +0 -0
  80. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/acceleration.cpp +0 -0
  81. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/acceleration.h +0 -0
  82. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/arena.cpp +0 -0
  83. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/arena.h +0 -0
  84. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/bindless.cpp +0 -0
  85. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/bindless.h +0 -0
  86. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/buffer.cpp +0 -0
  87. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/buffer.h +0 -0
  88. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/column.cpp +0 -0
  89. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/column.h +0 -0
  90. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/commands.cpp +0 -0
  91. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/commands.h +0 -0
  92. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/context.cpp +0 -0
  93. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/context.h +0 -0
  94. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/cuda.cpp +0 -0
  95. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/cuda.h +0 -0
  96. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/device.h +0 -0
  97. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/external.cpp +0 -0
  98. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/external.h +0 -0
  99. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/image.cpp +0 -0
  100. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/image.h +0 -0
  101. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/instance.cpp +0 -0
  102. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/instance.h +0 -0
  103. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/kernel.cpp +0 -0
  104. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/kernel.h +0 -0
  105. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/profile.cpp +0 -0
  106. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/profile.h +0 -0
  107. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/queue.cpp +0 -0
  108. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/queue.h +0 -0
  109. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/shader_compiler.cpp +0 -0
  110. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/shader_compiler.h +0 -0
  111. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/staging.cpp +0 -0
  112. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/staging.h +0 -0
  113. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/vulkan.cpp +0 -0
  114. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/device/vulkan.h +0 -0
  115. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/geometry/CMakeLists.txt +0 -0
  116. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/geometry/bounds.h +0 -0
  117. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/geometry/triangulation.cpp +0 -0
  118. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/geometry/triangulation.h +0 -0
  119. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/graph/CMakeLists.txt +0 -0
  120. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/graph/blackboard.h +0 -0
  121. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/graph/dependencies.cpp +0 -0
  122. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/graph/dependencies.h +0 -0
  123. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/graph/graph.cpp +0 -0
  124. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/graph/graph.h +0 -0
  125. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/graph/pool.cpp +0 -0
  126. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/graph/pool.h +0 -0
  127. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/io/CMakeLists.txt +0 -0
  128. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/io/ies.cpp +0 -0
  129. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/io/ies.h +0 -0
  130. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/io/image.cpp +0 -0
  131. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/io/image.h +0 -0
  132. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/io/nanovdb.cpp +0 -0
  133. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/io/nanovdb.h +0 -0
  134. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/io/raster.cpp +0 -0
  135. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/io/raster.h +0 -0
  136. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/io/texture.cpp +0 -0
  137. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/io/texture.h +0 -0
  138. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/CMakeLists.txt +0 -0
  139. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/astronomy.cpp +0 -0
  140. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/astronomy.h +0 -0
  141. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/atmosphere.cpp +0 -0
  142. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/atmosphere.h +0 -0
  143. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/cloud.cpp +0 -0
  144. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/cloud.h +0 -0
  145. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/constants.h +0 -0
  146. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/reflectance_library.cpp +0 -0
  147. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/reflectance_library.h +0 -0
  148. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/reflectance_table.h +0 -0
  149. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/regolith.cpp +0 -0
  150. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/regolith.h +0 -0
  151. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/scattering.cpp +0 -0
  152. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/scattering.h +0 -0
  153. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/solar.cpp +0 -0
  154. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/solar.h +0 -0
  155. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/solar_table.h +0 -0
  156. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/spectrum.cpp +0 -0
  157. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/physics/spectrum.h +0 -0
  158. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/python/CMakeLists.txt +0 -0
  159. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/python/device.cpp +0 -0
  160. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/python/device.h +0 -0
  161. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/python/dlpack.cpp +0 -0
  162. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/python/dlpack.h +0 -0
  163. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/python/ernie/__init__.py +0 -0
  164. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/python/module.cpp +0 -0
  165. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/python/render.cpp +0 -0
  166. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/python/render.h +0 -0
  167. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/python/scene.cpp +0 -0
  168. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/python/scene.h +0 -0
  169. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/CMakeLists.txt +0 -0
  170. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/device_scene.cpp +0 -0
  171. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/device_scene.h +0 -0
  172. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/geometry.cpp +0 -0
  173. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/geometry.h +0 -0
  174. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/prim_rows.cpp +0 -0
  175. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/prim_rows.h +0 -0
  176. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/products.cpp +0 -0
  177. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/products.h +0 -0
  178. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/rt/bottom_levels.cpp +0 -0
  179. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/rt/bottom_levels.h +0 -0
  180. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/rt/camera_pass.cpp +0 -0
  181. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/rt/camera_pass.h +0 -0
  182. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/rt/ray_tracer.h +0 -0
  183. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/scene_columns.cpp +0 -0
  184. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/scene_columns.h +0 -0
  185. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/transform_graph.cpp +0 -0
  186. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/render/transform_graph.h +0 -0
  187. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/CMakeLists.txt +0 -0
  188. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/animation.cpp +0 -0
  189. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/convert.h +0 -0
  190. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/edit_history.cpp +0 -0
  191. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/edit_history.h +0 -0
  192. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/extent_cache.cpp +0 -0
  193. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/extent_cache.h +0 -0
  194. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/holder_index.cpp +0 -0
  195. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/holder_index.h +0 -0
  196. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/inherit.cpp +0 -0
  197. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/json.cpp +0 -0
  198. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/json.h +0 -0
  199. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/json_value.h +0 -0
  200. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/path.cpp +0 -0
  201. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/path.h +0 -0
  202. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/reference.cpp +0 -0
  203. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/reference.h +0 -0
  204. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/scene.cpp +0 -0
  205. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/scene.h +0 -0
  206. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/camera.cpp +0 -0
  207. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/camera.h +0 -0
  208. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/collection.h +0 -0
  209. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/geom.cpp +0 -0
  210. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/geom.h +0 -0
  211. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/instancer.cpp +0 -0
  212. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/instancer.h +0 -0
  213. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/lux.cpp +0 -0
  214. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/lux.h +0 -0
  215. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/mesh.cpp +0 -0
  216. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/mesh.h +0 -0
  217. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/planet.cpp +0 -0
  218. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/planet.h +0 -0
  219. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/registry.cpp +0 -0
  220. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/render.cpp +0 -0
  221. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/render.h +0 -0
  222. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/shade.cpp +0 -0
  223. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/shade.h +0 -0
  224. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/vol.cpp +0 -0
  225. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema/vol.h +0 -0
  226. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema.cpp +0 -0
  227. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/schema.h +0 -0
  228. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/storage.cpp +0 -0
  229. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/storage.h +0 -0
  230. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/time_samples.cpp +0 -0
  231. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/time_samples.h +0 -0
  232. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/tokens.h +0 -0
  233. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/usd_plugin.cpp +0 -0
  234. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/validate.cpp +0 -0
  235. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/value.h +0 -0
  236. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/view.cpp +0 -0
  237. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/view.h +0 -0
  238. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/xform.cpp +0 -0
  239. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/scene/xform.h +0 -0
  240. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/CMakeLists.txt +0 -0
  241. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/device/bindless.slang +0 -0
  242. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/device/buffer_ref.slang +0 -0
  243. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/math/affine.slang +0 -0
  244. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/math/double_float.slang +0 -0
  245. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/rt/write_instances.slang +0 -0
  246. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/scene/geometry.slang +0 -0
  247. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/scene/instance_colours.slang +0 -0
  248. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/scene/shapes.slang +0 -0
  249. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/scene/transform.slang +0 -0
  250. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/sensors/camera.slang +0 -0
  251. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/sensors/lens.slang +0 -0
  252. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/shared.h +0 -0
  253. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/shaders/spectral/spectrum.slang +0 -0
  254. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/CMakeLists.txt +0 -0
  255. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/algorithm.h +0 -0
  256. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/bytes.h +0 -0
  257. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/disk_cache.cpp +0 -0
  258. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/disk_cache.h +0 -0
  259. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/file.cpp +0 -0
  260. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/file.h +0 -0
  261. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/glm.h +0 -0
  262. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/hash_index.h +0 -0
  263. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/library.cpp +0 -0
  264. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/library.h +0 -0
  265. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/linear_algebra.h +0 -0
  266. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/log.cpp +0 -0
  267. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/log.h +0 -0
  268. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/math.h +0 -0
  269. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/noise.cpp +0 -0
  270. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/noise.h +0 -0
  271. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/numbers.h +0 -0
  272. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/on_failure.h +0 -0
  273. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/parallel.h +0 -0
  274. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/process.cpp +0 -0
  275. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/process.h +0 -0
  276. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/profiler.cpp +0 -0
  277. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/profiler.h +0 -0
  278. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/random.h +0 -0
  279. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/tensor.cpp +0 -0
  280. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/tensor.h +0 -0
  281. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/text.h +0 -0
  282. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/version.cpp +0 -0
  283. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/version.h +0 -0
  284. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/ernie/util/worker_pool.h +0 -0
  285. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/mkdocs.yml +0 -0
  286. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/pyproject.toml +0 -0
  287. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/CMakeLists.txt +0 -0
  288. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/app/capture_test.cpp +0 -0
  289. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/app/demo_test.cpp +0 -0
  290. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/app/orbit_camera_test.cpp +0 -0
  291. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/app/shell_test.cpp +0 -0
  292. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/app/timeline_test.cpp +0 -0
  293. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/app/view_test.cpp +0 -0
  294. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/app/viewer_test.cpp +0 -0
  295. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/common.h +0 -0
  296. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/consumer/CMakeLists.txt +0 -0
  297. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/consumer/first_render.cpp +0 -0
  298. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/consumer/main.cpp +0 -0
  299. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/device/acceleration_test.cpp +0 -0
  300. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/device/arena_test.cpp +0 -0
  301. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/device/bindless_test.cpp +0 -0
  302. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/device/column_test.cpp +0 -0
  303. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/device/columns.h +0 -0
  304. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/device/common.h +0 -0
  305. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/device/context_test.cpp +0 -0
  306. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/device/cuda_test.cpp +0 -0
  307. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/device/external_test.cpp +0 -0
  308. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/device/kernel_test.cpp +0 -0
  309. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/device/pose_step.h +0 -0
  310. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/device/profile_test.cpp +0 -0
  311. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/device/vulkan_devices_test.cpp +0 -0
  312. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/exr/README.md +0 -0
  313. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/exr/make_exr.py +0 -0
  314. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/exr/rgb_float_zip.exr +0 -0
  315. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/exr/rgba_half_window.exr +0 -0
  316. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/exr/y_half_zips.exr +0 -0
  317. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/ies/README.md +0 -0
  318. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/ies/downlight_quadrant.ies +0 -0
  319. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/ies/floodlight_type_b.ies +0 -0
  320. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/ies/lamp.tilt +0 -0
  321. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/images/grey16.png +0 -0
  322. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/ktx2/README.md +0 -0
  323. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/ktx2/quadrants_etc1s.ktx2 +0 -0
  324. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/ktx2/quadrants_uastc_zstd.ktx2 +0 -0
  325. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/ktx2/tilted_normal_etc1s.ktx2 +0 -0
  326. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/ktx2/tilted_normal_uastc.ktx2 +0 -0
  327. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/scenes/README.md +0 -0
  328. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/scenes/invalid/problems.expected +0 -0
  329. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/scenes/invalid/problems.json +0 -0
  330. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/scenes/rover.json +0 -0
  331. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/scenes/rover.saved.json +0 -0
  332. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/tiff/README.md +0 -0
  333. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/tiff/float_deflate_predictor3.tif +0 -0
  334. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/tiff/float_raw.tif +0 -0
  335. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/tiff/int16_bigtiff_bigendian.tif +0 -0
  336. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/tiff/rgb_lzw_predictor2.tif +0 -0
  337. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/tiff/rgb_planar_lzw.tif +0 -0
  338. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/tiff/rgb_planar_raw.tif +0 -0
  339. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/tiff/rgb_tiled_deflate.tif +0 -0
  340. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/volumes/cube.nvdb +0 -0
  341. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/fixtures/volumes/make_nvdb.py +0 -0
  342. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/geometry/bounds_test.cpp +0 -0
  343. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/geometry/triangulation_test.cpp +0 -0
  344. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/graph/dependencies_test.cpp +0 -0
  345. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/graph/graph_test.cpp +0 -0
  346. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/io/ies_test.cpp +0 -0
  347. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/io/image_test.cpp +0 -0
  348. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/io/nanovdb_test.cpp +0 -0
  349. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/io/raster_test.cpp +0 -0
  350. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/io/texture_test.cpp +0 -0
  351. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/physics/astronomy_test.cpp +0 -0
  352. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/physics/atmosphere_test.cpp +0 -0
  353. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/physics/cloud_test.cpp +0 -0
  354. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/physics/reflectance_library_test.cpp +0 -0
  355. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/physics/regolith_test.cpp +0 -0
  356. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/physics/scattering_test.cpp +0 -0
  357. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/physics/solar_test.cpp +0 -0
  358. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/physics/spectrum_test.cpp +0 -0
  359. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/python/conftest.py +0 -0
  360. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/python/test_device_dlpack.py +0 -0
  361. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/python/test_device_torch.py +0 -0
  362. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/python/test_package.py +0 -0
  363. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/python/test_render.py +0 -0
  364. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/python/test_scene.py +0 -0
  365. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/python/test_scene_schema.py +0 -0
  366. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/render/acceleration_scene_test.cpp +0 -0
  367. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/render/camera_pass_test.cpp +0 -0
  368. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/render/common.h +0 -0
  369. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/render/geometry_test.cpp +0 -0
  370. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/render/gradients_test.cpp +0 -0
  371. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/render/ray_tracer_test.cpp +0 -0
  372. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/render/scene_columns_test.cpp +0 -0
  373. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/render/shaders_test.cpp +0 -0
  374. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/render/transform_graph_test.cpp +0 -0
  375. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/edit_history_test.cpp +0 -0
  376. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/extent_cache_test.cpp +0 -0
  377. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/inherit_test.cpp +0 -0
  378. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/instancer_test.cpp +0 -0
  379. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/json_test.cpp +0 -0
  380. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/lux_test.cpp +0 -0
  381. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/mesh_test.cpp +0 -0
  382. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/path_test.cpp +0 -0
  383. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/planet_test.cpp +0 -0
  384. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/reference_test.cpp +0 -0
  385. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/render_test.cpp +0 -0
  386. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/scene_test.cpp +0 -0
  387. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/schema_test.cpp +0 -0
  388. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/shade_test.cpp +0 -0
  389. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/storage_test.cpp +0 -0
  390. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/time_samples_test.cpp +0 -0
  391. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/vol_test.cpp +0 -0
  392. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/scene/xform_test.cpp +0 -0
  393. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/algorithm_test.cpp +0 -0
  394. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/bytes_test.cpp +0 -0
  395. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/disk_cache_test.cpp +0 -0
  396. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/file_test.cpp +0 -0
  397. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/hash_index_test.cpp +0 -0
  398. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/linear_algebra_test.cpp +0 -0
  399. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/log_test.cpp +0 -0
  400. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/math_test.cpp +0 -0
  401. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/noise_test.cpp +0 -0
  402. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/parallel_test.cpp +0 -0
  403. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/profiler_test.cpp +0 -0
  404. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/random_test.cpp +0 -0
  405. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/tensor_test.cpp +0 -0
  406. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/text_test.cpp +0 -0
  407. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/version_test.cpp +0 -0
  408. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/tests/util/worker_pool_test.cpp +0 -0
  409. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/CMakeLists.txt +0 -0
  410. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/README.md +0 -0
  411. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/LICENSE +0 -0
  412. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/LICENSES/Apache-2.0.txt +0 -0
  413. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/LICENSES/BSD-3-clause.txt +0 -0
  414. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/LICENSES/MIT.txt +0 -0
  415. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/NOTICE +0 -0
  416. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/README.md +0 -0
  417. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu.h +0 -0
  418. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_astc_cfgs.inl +0 -0
  419. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_astc_hdr_core.h +0 -0
  420. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_astc_helpers.h +0 -0
  421. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_containers.h +0 -0
  422. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_containers_impl.h +0 -0
  423. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_dds_transcoder.inl +0 -0
  424. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_etc1_mods.inl +0 -0
  425. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_file_headers.h +0 -0
  426. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_idct.h +0 -0
  427. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_transcoder.cpp +0 -0
  428. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_transcoder.h +0 -0
  429. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_transcoder_internal.h +0 -0
  430. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_transcoder_tables_astc.inc +0 -0
  431. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_transcoder_tables_astc_0_255.inc +0 -0
  432. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_55.inc +0 -0
  433. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_56.inc +0 -0
  434. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_alpha.inc +0 -0
  435. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_color.inc +0 -0
  436. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_5.inc +0 -0
  437. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_6.inc +0 -0
  438. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_45.inc +0 -0
  439. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_alpha_33.inc +0 -0
  440. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_transcoder_uastc.h +0 -0
  441. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_xbc7_decoder.h +0 -0
  442. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/transcoder/basisu_xbc7_decoder.inl +0 -0
  443. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/zstd/LICENSE +0 -0
  444. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/zstd/zstd.h +0 -0
  445. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/basisu/zstd/zstd_errors.h +0 -0
  446. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/bc7enc/LICENSE +0 -0
  447. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/bc7enc/README.md +0 -0
  448. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/bc7enc/bc7decomp.cpp +0 -0
  449. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/bc7enc/bc7decomp.h +0 -0
  450. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/bc7enc/bc7enc.cpp +0 -0
  451. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/bc7enc/bc7enc.h +0 -0
  452. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/bc7enc/rgbcx.cpp +0 -0
  453. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/bc7enc/rgbcx.h +0 -0
  454. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/bc7enc/rgbcx_table4.h +0 -0
  455. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/bc7enc/rgbcx_table4_small.h +0 -0
  456. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/dlpack/LICENSE +0 -0
  457. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/dlpack/README.md +0 -0
  458. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/dlpack/include/dlpack/dlpack.h +0 -0
  459. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/README.md +0 -0
  460. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/copying.txt +0 -0
  461. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/common.hpp +0 -0
  462. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/_features.hpp +0 -0
  463. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/_fixes.hpp +0 -0
  464. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/_noise.hpp +0 -0
  465. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/_swizzle.hpp +0 -0
  466. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/_swizzle_func.hpp +0 -0
  467. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/_vectorize.hpp +0 -0
  468. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/compute_common.hpp +0 -0
  469. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/compute_vector_decl.hpp +0 -0
  470. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/compute_vector_relational.hpp +0 -0
  471. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_common.inl +0 -0
  472. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_common_simd.inl +0 -0
  473. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_exponential.inl +0 -0
  474. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_exponential_simd.inl +0 -0
  475. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_geometric.inl +0 -0
  476. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_geometric_simd.inl +0 -0
  477. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_integer.inl +0 -0
  478. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_integer_simd.inl +0 -0
  479. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_matrix.inl +0 -0
  480. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_matrix_simd.inl +0 -0
  481. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_packing.inl +0 -0
  482. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_packing_simd.inl +0 -0
  483. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_trigonometric.inl +0 -0
  484. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_trigonometric_simd.inl +0 -0
  485. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_vector_relational.inl +0 -0
  486. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/func_vector_relational_simd.inl +0 -0
  487. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/qualifier.hpp +0 -0
  488. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/setup.hpp +0 -0
  489. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_float.hpp +0 -0
  490. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_half.hpp +0 -0
  491. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_half.inl +0 -0
  492. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat2x2.hpp +0 -0
  493. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat2x2.inl +0 -0
  494. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat2x3.hpp +0 -0
  495. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat2x3.inl +0 -0
  496. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat2x4.hpp +0 -0
  497. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat2x4.inl +0 -0
  498. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat3x2.hpp +0 -0
  499. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat3x2.inl +0 -0
  500. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat3x3.hpp +0 -0
  501. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat3x3.inl +0 -0
  502. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat3x4.hpp +0 -0
  503. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat3x4.inl +0 -0
  504. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat4x2.hpp +0 -0
  505. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat4x2.inl +0 -0
  506. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat4x3.hpp +0 -0
  507. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat4x3.inl +0 -0
  508. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat4x4.hpp +0 -0
  509. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat4x4.inl +0 -0
  510. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_mat4x4_simd.inl +0 -0
  511. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_quat.hpp +0 -0
  512. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_quat.inl +0 -0
  513. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_quat_simd.inl +0 -0
  514. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_vec1.hpp +0 -0
  515. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_vec1.inl +0 -0
  516. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_vec2.hpp +0 -0
  517. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_vec2.inl +0 -0
  518. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_vec3.hpp +0 -0
  519. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_vec3.inl +0 -0
  520. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_vec4.hpp +0 -0
  521. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_vec4.inl +0 -0
  522. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/detail/type_vec_simd.inl +0 -0
  523. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/exponential.hpp +0 -0
  524. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/_matrix_vectorize.hpp +0 -0
  525. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_clip_space.hpp +0 -0
  526. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_clip_space.inl +0 -0
  527. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_common.hpp +0 -0
  528. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_common.inl +0 -0
  529. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double2x2.hpp +0 -0
  530. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double2x2_precision.hpp +0 -0
  531. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double2x3.hpp +0 -0
  532. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double2x3_precision.hpp +0 -0
  533. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double2x4.hpp +0 -0
  534. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double2x4_precision.hpp +0 -0
  535. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double3x2.hpp +0 -0
  536. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double3x2_precision.hpp +0 -0
  537. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double3x3.hpp +0 -0
  538. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double3x3_precision.hpp +0 -0
  539. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double3x4.hpp +0 -0
  540. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double3x4_precision.hpp +0 -0
  541. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double4x2.hpp +0 -0
  542. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double4x2_precision.hpp +0 -0
  543. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double4x3.hpp +0 -0
  544. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double4x3_precision.hpp +0 -0
  545. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double4x4.hpp +0 -0
  546. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_double4x4_precision.hpp +0 -0
  547. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float2x2.hpp +0 -0
  548. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float2x2_precision.hpp +0 -0
  549. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float2x3.hpp +0 -0
  550. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float2x3_precision.hpp +0 -0
  551. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float2x4.hpp +0 -0
  552. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float2x4_precision.hpp +0 -0
  553. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float3x2.hpp +0 -0
  554. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float3x2_precision.hpp +0 -0
  555. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float3x3.hpp +0 -0
  556. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float3x3_precision.hpp +0 -0
  557. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float3x4.hpp +0 -0
  558. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float3x4_precision.hpp +0 -0
  559. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float4x2.hpp +0 -0
  560. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float4x2_precision.hpp +0 -0
  561. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float4x3.hpp +0 -0
  562. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float4x3_precision.hpp +0 -0
  563. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float4x4.hpp +0 -0
  564. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_float4x4_precision.hpp +0 -0
  565. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int2x2.hpp +0 -0
  566. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int2x2_sized.hpp +0 -0
  567. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int2x3.hpp +0 -0
  568. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int2x3_sized.hpp +0 -0
  569. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int2x4.hpp +0 -0
  570. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int2x4_sized.hpp +0 -0
  571. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int3x2.hpp +0 -0
  572. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int3x2_sized.hpp +0 -0
  573. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int3x3.hpp +0 -0
  574. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int3x3_sized.hpp +0 -0
  575. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int3x4.hpp +0 -0
  576. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int3x4_sized.hpp +0 -0
  577. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int4x2.hpp +0 -0
  578. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int4x2_sized.hpp +0 -0
  579. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int4x3.hpp +0 -0
  580. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int4x3_sized.hpp +0 -0
  581. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int4x4.hpp +0 -0
  582. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_int4x4_sized.hpp +0 -0
  583. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_integer.hpp +0 -0
  584. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_integer.inl +0 -0
  585. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_projection.hpp +0 -0
  586. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_projection.inl +0 -0
  587. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_relational.hpp +0 -0
  588. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_relational.inl +0 -0
  589. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_transform.hpp +0 -0
  590. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_transform.inl +0 -0
  591. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint2x2.hpp +0 -0
  592. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint2x2_sized.hpp +0 -0
  593. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint2x3.hpp +0 -0
  594. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint2x3_sized.hpp +0 -0
  595. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint2x4.hpp +0 -0
  596. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint2x4_sized.hpp +0 -0
  597. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint3x2.hpp +0 -0
  598. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint3x2_sized.hpp +0 -0
  599. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint3x3.hpp +0 -0
  600. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint3x3_sized.hpp +0 -0
  601. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint3x4.hpp +0 -0
  602. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint3x4_sized.hpp +0 -0
  603. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint4x2.hpp +0 -0
  604. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint4x2_sized.hpp +0 -0
  605. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint4x3.hpp +0 -0
  606. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint4x3_sized.hpp +0 -0
  607. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint4x4.hpp +0 -0
  608. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/matrix_uint4x4_sized.hpp +0 -0
  609. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_common.hpp +0 -0
  610. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_common.inl +0 -0
  611. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_common_simd.inl +0 -0
  612. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_double.hpp +0 -0
  613. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_double_precision.hpp +0 -0
  614. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_exponential.hpp +0 -0
  615. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_exponential.inl +0 -0
  616. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_float.hpp +0 -0
  617. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_float_precision.hpp +0 -0
  618. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_geometric.hpp +0 -0
  619. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_geometric.inl +0 -0
  620. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_relational.hpp +0 -0
  621. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_relational.inl +0 -0
  622. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_transform.hpp +0 -0
  623. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_transform.inl +0 -0
  624. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_trigonometric.hpp +0 -0
  625. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/quaternion_trigonometric.inl +0 -0
  626. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_common.hpp +0 -0
  627. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_common.inl +0 -0
  628. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_constants.hpp +0 -0
  629. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_constants.inl +0 -0
  630. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_int_sized.hpp +0 -0
  631. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_integer.hpp +0 -0
  632. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_integer.inl +0 -0
  633. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_packing.hpp +0 -0
  634. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_packing.inl +0 -0
  635. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_reciprocal.hpp +0 -0
  636. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_reciprocal.inl +0 -0
  637. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_relational.hpp +0 -0
  638. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_relational.inl +0 -0
  639. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_uint_sized.hpp +0 -0
  640. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_ulp.hpp +0 -0
  641. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/scalar_ulp.inl +0 -0
  642. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_bool1.hpp +0 -0
  643. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_bool1_precision.hpp +0 -0
  644. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_bool2.hpp +0 -0
  645. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_bool2_precision.hpp +0 -0
  646. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_bool3.hpp +0 -0
  647. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_bool3_precision.hpp +0 -0
  648. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_bool4.hpp +0 -0
  649. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_bool4_precision.hpp +0 -0
  650. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_common.hpp +0 -0
  651. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_common.inl +0 -0
  652. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_double1.hpp +0 -0
  653. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_double1_precision.hpp +0 -0
  654. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_double2.hpp +0 -0
  655. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_double2_precision.hpp +0 -0
  656. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_double3.hpp +0 -0
  657. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_double3_precision.hpp +0 -0
  658. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_double4.hpp +0 -0
  659. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_double4_precision.hpp +0 -0
  660. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_float1.hpp +0 -0
  661. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_float1_precision.hpp +0 -0
  662. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_float2.hpp +0 -0
  663. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_float2_precision.hpp +0 -0
  664. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_float3.hpp +0 -0
  665. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_float3_precision.hpp +0 -0
  666. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_float4.hpp +0 -0
  667. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_float4_precision.hpp +0 -0
  668. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_int1.hpp +0 -0
  669. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_int1_sized.hpp +0 -0
  670. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_int2.hpp +0 -0
  671. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_int2_sized.hpp +0 -0
  672. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_int3.hpp +0 -0
  673. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_int3_sized.hpp +0 -0
  674. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_int4.hpp +0 -0
  675. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_int4_sized.hpp +0 -0
  676. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_integer.hpp +0 -0
  677. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_integer.inl +0 -0
  678. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_packing.hpp +0 -0
  679. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_packing.inl +0 -0
  680. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_reciprocal.hpp +0 -0
  681. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_reciprocal.inl +0 -0
  682. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_relational.hpp +0 -0
  683. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_relational.inl +0 -0
  684. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_uint1.hpp +0 -0
  685. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_uint1_sized.hpp +0 -0
  686. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_uint2.hpp +0 -0
  687. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_uint2_sized.hpp +0 -0
  688. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_uint3.hpp +0 -0
  689. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_uint3_sized.hpp +0 -0
  690. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_uint4.hpp +0 -0
  691. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_uint4_sized.hpp +0 -0
  692. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_ulp.hpp +0 -0
  693. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext/vector_ulp.inl +0 -0
  694. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/ext.hpp +0 -0
  695. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/fwd.hpp +0 -0
  696. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/geometric.hpp +0 -0
  697. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/glm.hpp +0 -0
  698. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/bitfield.hpp +0 -0
  699. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/bitfield.inl +0 -0
  700. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/color_space.hpp +0 -0
  701. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/color_space.inl +0 -0
  702. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/constants.hpp +0 -0
  703. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/constants.inl +0 -0
  704. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/epsilon.hpp +0 -0
  705. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/epsilon.inl +0 -0
  706. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/integer.hpp +0 -0
  707. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/integer.inl +0 -0
  708. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/matrix_access.hpp +0 -0
  709. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/matrix_access.inl +0 -0
  710. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/matrix_integer.hpp +0 -0
  711. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/matrix_inverse.hpp +0 -0
  712. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/matrix_inverse.inl +0 -0
  713. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/matrix_transform.hpp +0 -0
  714. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/matrix_transform.inl +0 -0
  715. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/noise.hpp +0 -0
  716. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/noise.inl +0 -0
  717. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/packing.hpp +0 -0
  718. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/packing.inl +0 -0
  719. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/quaternion.hpp +0 -0
  720. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/quaternion.inl +0 -0
  721. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/quaternion_simd.inl +0 -0
  722. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/random.hpp +0 -0
  723. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/random.inl +0 -0
  724. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/reciprocal.hpp +0 -0
  725. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/round.hpp +0 -0
  726. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/round.inl +0 -0
  727. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/type_aligned.hpp +0 -0
  728. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/type_precision.hpp +0 -0
  729. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/type_precision.inl +0 -0
  730. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/type_ptr.hpp +0 -0
  731. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/type_ptr.inl +0 -0
  732. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/ulp.hpp +0 -0
  733. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/ulp.inl +0 -0
  734. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtc/vec1.hpp +0 -0
  735. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/associated_min_max.hpp +0 -0
  736. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/associated_min_max.inl +0 -0
  737. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/bit.hpp +0 -0
  738. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/bit.inl +0 -0
  739. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/closest_point.hpp +0 -0
  740. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/closest_point.inl +0 -0
  741. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/color_encoding.hpp +0 -0
  742. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/color_encoding.inl +0 -0
  743. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/color_space.hpp +0 -0
  744. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/color_space.inl +0 -0
  745. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/color_space_YCoCg.hpp +0 -0
  746. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/color_space_YCoCg.inl +0 -0
  747. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/common.hpp +0 -0
  748. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/common.inl +0 -0
  749. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/compatibility.hpp +0 -0
  750. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/compatibility.inl +0 -0
  751. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/component_wise.hpp +0 -0
  752. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/component_wise.inl +0 -0
  753. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/dual_quaternion.hpp +0 -0
  754. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/dual_quaternion.inl +0 -0
  755. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/easing.hpp +0 -0
  756. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/easing.inl +0 -0
  757. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/euler_angles.hpp +0 -0
  758. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/euler_angles.inl +0 -0
  759. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/extend.hpp +0 -0
  760. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/extend.inl +0 -0
  761. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/extended_min_max.hpp +0 -0
  762. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/extended_min_max.inl +0 -0
  763. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/exterior_product.hpp +0 -0
  764. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/exterior_product.inl +0 -0
  765. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/fast_exponential.hpp +0 -0
  766. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/fast_exponential.inl +0 -0
  767. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/fast_square_root.hpp +0 -0
  768. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/fast_square_root.inl +0 -0
  769. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/fast_trigonometry.hpp +0 -0
  770. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/fast_trigonometry.inl +0 -0
  771. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/float_normalize.inl +0 -0
  772. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/functions.hpp +0 -0
  773. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/functions.inl +0 -0
  774. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/gradient_paint.hpp +0 -0
  775. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/gradient_paint.inl +0 -0
  776. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/handed_coordinate_space.hpp +0 -0
  777. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/handed_coordinate_space.inl +0 -0
  778. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/hash.hpp +0 -0
  779. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/hash.inl +0 -0
  780. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/integer.hpp +0 -0
  781. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/integer.inl +0 -0
  782. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/intersect.hpp +0 -0
  783. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/intersect.inl +0 -0
  784. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/io.hpp +0 -0
  785. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/io.inl +0 -0
  786. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/iteration.hpp +0 -0
  787. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/iteration.inl +0 -0
  788. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/log_base.hpp +0 -0
  789. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/log_base.inl +0 -0
  790. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_cross_product.hpp +0 -0
  791. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_cross_product.inl +0 -0
  792. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_decompose.hpp +0 -0
  793. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_decompose.inl +0 -0
  794. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_factorisation.hpp +0 -0
  795. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_factorisation.inl +0 -0
  796. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_interpolation.hpp +0 -0
  797. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_interpolation.inl +0 -0
  798. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_major_storage.hpp +0 -0
  799. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_major_storage.inl +0 -0
  800. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_operation.hpp +0 -0
  801. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_operation.inl +0 -0
  802. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_query.hpp +0 -0
  803. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_query.inl +0 -0
  804. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_transform_2d.hpp +0 -0
  805. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/matrix_transform_2d.inl +0 -0
  806. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/mixed_product.hpp +0 -0
  807. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/mixed_product.inl +0 -0
  808. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/norm.hpp +0 -0
  809. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/norm.inl +0 -0
  810. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/normal.hpp +0 -0
  811. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/normal.inl +0 -0
  812. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/normalize_dot.hpp +0 -0
  813. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/normalize_dot.inl +0 -0
  814. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/number_precision.hpp +0 -0
  815. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/optimum_pow.hpp +0 -0
  816. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/optimum_pow.inl +0 -0
  817. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/orthonormalize.hpp +0 -0
  818. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/orthonormalize.inl +0 -0
  819. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/pca.hpp +0 -0
  820. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/pca.inl +0 -0
  821. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/perpendicular.hpp +0 -0
  822. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/perpendicular.inl +0 -0
  823. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/polar_coordinates.hpp +0 -0
  824. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/polar_coordinates.inl +0 -0
  825. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/projection.hpp +0 -0
  826. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/projection.inl +0 -0
  827. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/quaternion.hpp +0 -0
  828. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/quaternion.inl +0 -0
  829. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/range.hpp +0 -0
  830. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/raw_data.hpp +0 -0
  831. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/raw_data.inl +0 -0
  832. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/rotate_normalized_axis.hpp +0 -0
  833. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/rotate_normalized_axis.inl +0 -0
  834. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/rotate_vector.hpp +0 -0
  835. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/rotate_vector.inl +0 -0
  836. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/scalar_multiplication.hpp +0 -0
  837. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/scalar_relational.hpp +0 -0
  838. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/scalar_relational.inl +0 -0
  839. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/spline.hpp +0 -0
  840. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/spline.inl +0 -0
  841. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/std_based_type.hpp +0 -0
  842. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/std_based_type.inl +0 -0
  843. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/string_cast.hpp +0 -0
  844. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/string_cast.inl +0 -0
  845. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/structured_bindings.hpp +0 -0
  846. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/structured_bindings.inl +0 -0
  847. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/texture.hpp +0 -0
  848. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/texture.inl +0 -0
  849. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/transform.hpp +0 -0
  850. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/transform.inl +0 -0
  851. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/transform2.hpp +0 -0
  852. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/transform2.inl +0 -0
  853. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/type_aligned.hpp +0 -0
  854. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/type_aligned.inl +0 -0
  855. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/type_trait.hpp +0 -0
  856. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/type_trait.inl +0 -0
  857. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/vec_swizzle.hpp +0 -0
  858. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/vector_angle.hpp +0 -0
  859. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/vector_angle.inl +0 -0
  860. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/vector_query.hpp +0 -0
  861. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/vector_query.inl +0 -0
  862. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/wrap.hpp +0 -0
  863. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/gtx/wrap.inl +0 -0
  864. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/integer.hpp +0 -0
  865. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/mat2x2.hpp +0 -0
  866. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/mat2x3.hpp +0 -0
  867. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/mat2x4.hpp +0 -0
  868. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/mat3x2.hpp +0 -0
  869. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/mat3x3.hpp +0 -0
  870. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/mat3x4.hpp +0 -0
  871. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/mat4x2.hpp +0 -0
  872. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/mat4x3.hpp +0 -0
  873. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/mat4x4.hpp +0 -0
  874. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/matrix.hpp +0 -0
  875. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/packing.hpp +0 -0
  876. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/simd/common.h +0 -0
  877. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/simd/exponential.h +0 -0
  878. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/simd/geometric.h +0 -0
  879. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/simd/integer.h +0 -0
  880. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/simd/matrix.h +0 -0
  881. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/simd/neon.h +0 -0
  882. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/simd/packing.h +0 -0
  883. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/simd/platform.h +0 -0
  884. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/simd/trigonometric.h +0 -0
  885. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/simd/vector_relational.h +0 -0
  886. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/trigonometric.hpp +0 -0
  887. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/vec2.hpp +0 -0
  888. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/vec3.hpp +0 -0
  889. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/vec4.hpp +0 -0
  890. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/glm/glm/vector_relational.hpp +0 -0
  891. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/json/LICENSE.MIT +0 -0
  892. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/json/README.md +0 -0
  893. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/json/include/nlohmann/json.hpp +0 -0
  894. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/json/include/nlohmann/json_fwd.hpp +0 -0
  895. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/nanovdb/LICENSE +0 -0
  896. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/nanovdb/PNanoVDB.h +0 -0
  897. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/stb/LICENSE +0 -0
  898. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/stb/README.md +0 -0
  899. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/stb/stb_image.h +0 -0
  900. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/stb/stb_image_write.h +0 -0
  901. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/stb.cpp +0 -0
  902. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vma/LICENSE.txt +0 -0
  903. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vma/README.md +0 -0
  904. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vma/include/vk_mem_alloc.h +0 -0
  905. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vma.cpp +0 -0
  906. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/volk/LICENSE.md +0 -0
  907. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/volk/README.md +0 -0
  908. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/volk/volk.c +0 -0
  909. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/volk/volk.h +0 -0
  910. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/LICENSE.md +0 -0
  911. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/LICENSES/Apache-2.0.txt +0 -0
  912. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/LICENSES/MIT.txt +0 -0
  913. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/README.md +0 -0
  914. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std.h +0 -0
  915. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_decode.h +0 -0
  916. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_encode.h +0 -0
  917. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std.h +0 -0
  918. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_decode.h +0 -0
  919. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_encode.h +0 -0
  920. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std.h +0 -0
  921. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_decode.h +0 -0
  922. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_encode.h +0 -0
  923. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std.h +0 -0
  924. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std_decode.h +0 -0
  925. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vk_video/vulkan_video_codecs_common.h +0 -0
  926. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vk_icd.h +0 -0
  927. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vk_layer.h +0 -0
  928. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vk_platform.h +0 -0
  929. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan.h +0 -0
  930. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_android.h +0 -0
  931. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_beta.h +0 -0
  932. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_core.h +0 -0
  933. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_directfb.h +0 -0
  934. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_fuchsia.h +0 -0
  935. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_ggp.h +0 -0
  936. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_ios.h +0 -0
  937. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_macos.h +0 -0
  938. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_metal.h +0 -0
  939. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_ohos.h +0 -0
  940. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_screen.h +0 -0
  941. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_ubm.h +0 -0
  942. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_vi.h +0 -0
  943. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_wayland.h +0 -0
  944. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_win32.h +0 -0
  945. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_xcb.h +0 -0
  946. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/third_party/vulkan_headers/include/vulkan/vulkan_xlib.h +0 -0
  947. {ernie_renderer-0.2.0.dev166 → ernie_renderer-0.2.0.dev168}/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 ".dev166" CACHE STRING "Pre-release suffix of Ernie's version")
18
+ set(ERNIE_VERSION_SUFFIX ".dev168" CACHE STRING "Pre-release suffix of Ernie's version")
19
19
  set(ERNIE_VERSION "${PROJECT_VERSION}${ERNIE_VERSION_SUFFIX}")
20
20
 
21
21
  option(ERNIE_BUILD_TESTS "Build Ernie's tests" OFF)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ernie-renderer
3
- Version: 0.2.0.dev166
3
+ Version: 0.2.0.dev168
4
4
  Summary: Efficient Renderer for Natural and Interplanetary Environments: a physically based, spectral Vulkan ray tracer
5
5
  Author: Alex Maietta
6
6
  License-Expression: BSD-3-Clause
@@ -6,6 +6,7 @@ add_executable(
6
6
  device/pose_step.cpp
7
7
  render/batch_step.cpp
8
8
  render/hide_seek.cpp
9
+ render/shared_prims.cpp
9
10
  render/transform_graph.cpp
10
11
  scene/extents.cpp
11
12
  scene/storage.cpp
@@ -0,0 +1,129 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ /// @file shared_prims.cpp
3
+ /// @brief How batch worlds best trace the prims they share, as Isaac Lab's scenes have
4
+ /// them: a shared ground and room, with furniture, and a few small objects a world whose poses
5
+ /// device columns hold, so every step rebuilds the top levels as a learning step does. Each world
6
+ /// renders colour and depth at 64 x 64. Reports a step's time with the shared prims duplicated
7
+ /// into every world's top level and with them in a top level of their own.
8
+ #include "benchmarks/bench.h"
9
+ #include "ernie/device/context.h"
10
+ #include "ernie/render/renderer.h"
11
+ #include "ernie/scene/schema/camera.h"
12
+ #include "ernie/scene/schema/geom.h"
13
+ #include "ernie/scene/schema/planet.h"
14
+ #include "ernie/scene/schema/render.h"
15
+ #include "ernie/scene/tokens.h"
16
+ #include "ernie/scene/xform.h"
17
+
18
+ #include <cstdio>
19
+ #include <memory>
20
+ #include <random>
21
+ #include <string>
22
+ #include <vector>
23
+
24
+ namespace ernie::bench {
25
+ namespace {
26
+
27
+ constexpr int kObjectsPerWorld = 8;
28
+ constexpr std::uint32_t kSide = 64;
29
+
30
+ /// @brief A room 10 m square around the origin: the ground, four walls, and furniture making up
31
+ /// `shared` prims in all; and `worlds` worlds, each with small objects and a camera inside it.
32
+ void BuildRoom(Scene& scene, int worlds, int shared) {
33
+ GroundPlane::Define(scene, "/Room/Ground");
34
+ for (int wall = 0; wall < 4; ++wall) {
35
+ const std::string path = "/Room/Wall" + std::to_string(wall);
36
+ Cube::Define(scene, path).SetSize(1.0);
37
+ const double angle = 1.5707963267948966 * wall;
38
+ SetXform(
39
+ scene, path,
40
+ {.translate = glm::dvec3(5.0 * std::cos(angle), 5.0 * std::sin(angle), 1.5),
41
+ .scale = wall % 2 == 0 ? glm::dvec3(0.2, 10.0, 3.0) : glm::dvec3(10.0, 0.2, 3.0)});
42
+ }
43
+ std::mt19937 random(11);
44
+ std::uniform_real_distribution<double> across(-4.0, 4.0);
45
+ for (int item = 5; item < shared; ++item) {
46
+ const std::string path = "/Room/Furniture" + std::to_string(item);
47
+ Cube::Define(scene, path).SetSize(0.5);
48
+ SetXform(scene, path, {.translate = glm::dvec3(across(random), across(random), 0.25)});
49
+ }
50
+ const std::vector<Path> vars{Path("/Render/Vars/Colour"), Path("/Render/Vars/Depth")};
51
+ RenderVar::Define(scene, vars[0]).SetSourceName(std::string(render_vars::kLdrColor));
52
+ RenderVar::Define(scene, vars[1]).SetSourceName(std::string(render_vars::kDistanceToCamera));
53
+ std::vector<Path> products;
54
+ for (int world = 0; world < worlds; ++world) {
55
+ const std::string root = "/World" + std::to_string(world);
56
+ Xform::Define(scene, root).SetWorld(world);
57
+ for (int object = 0; object < kObjectsPerWorld; ++object) {
58
+ const std::string path = root + "/Object" + std::to_string(object);
59
+ if (object % 2 == 0) {
60
+ Sphere::Define(scene, path).SetRadius(0.15);
61
+ } else {
62
+ Cube::Define(scene, path).SetSize(0.25);
63
+ }
64
+ SetXform(scene, path, {.translate = glm::dvec3(across(random), across(random), 0.2)});
65
+ }
66
+ const std::string camera = root + "/Camera";
67
+ Camera::Define(scene, camera).SetHorizontalAperture(0.036).SetVerticalAperture(0.036);
68
+ scene.Set(camera, tokens::kTransform,
69
+ LookAtTransform({across(random), -4.5, 1.5}, {0.0, 0.0, 0.5}, {0.0, 0.0, 1.0}));
70
+ products.emplace_back("/Render/View" + std::to_string(world));
71
+ RenderProduct::Define(scene, products.back())
72
+ .SetCamera(camera)
73
+ .SetResolution(glm::dvec2(kSide))
74
+ .SetOrderedVars(vars);
75
+ }
76
+ RenderSettings::Define(scene, "/Render/Settings").SetProducts(products);
77
+ }
78
+
79
+ Timing StepRoom(SharedPrims policy, int worlds, int shared) {
80
+ const double targetMs = 0.005 * worlds;
81
+ std::unique_ptr<Renderer> renderer;
82
+ try {
83
+ renderer = std::make_unique<Renderer>(RendererOptions{.sharedPrims = policy});
84
+ } catch (const std::exception& error) {
85
+ std::printf("skipped: %s\n", error.what());
86
+ return {0.0, targetMs};
87
+ }
88
+ Scene scene;
89
+ BuildRoom(scene, worlds, shared);
90
+ // The objects' poses on the device, as a simulation writes them: every step rebuilds the top
91
+ // levels.
92
+ renderer->BindColumn(scene, "/World0/Object0", "xformOp:translate");
93
+ renderer->BindColumn(scene, "/World0/Object1", "xformOp:translate");
94
+ renderer->Step(scene);
95
+ renderer->Context().WaitIdle();
96
+ const double ms = Fastest([] {},
97
+ [&] {
98
+ renderer->Step(scene);
99
+ renderer->Context().WaitIdle();
100
+ });
101
+ std::printf(" %s, %d worlds, %d shared prims: %.0f views a second\n",
102
+ policy == SharedPrims::Duplicated ? "duplicated" : "own top level", worlds, shared,
103
+ 1000.0 * worlds / ms);
104
+ return {ms, targetMs};
105
+ }
106
+
107
+ bool RegisterRoom(SharedPrims policy, int worlds, int shared) {
108
+ const std::string name = policy == SharedPrims::Duplicated ? "duplicated" : "own_top_level";
109
+ return Register("render.shared_prims." + name + "." + std::to_string(worlds) + "_worlds_" +
110
+ std::to_string(shared) + "_shared",
111
+ [=] { return StepRoom(policy, worlds, shared); });
112
+ }
113
+
114
+ bool RegisterRooms() {
115
+ for (const int shared : {8, 64}) {
116
+ for (const int worlds : {64, 1024, 4096, 16384}) {
117
+ for (const SharedPrims policy :
118
+ {SharedPrims::Duplicated, SharedPrims::SharedTopLevel}) {
119
+ RegisterRoom(policy, worlds, shared);
120
+ }
121
+ }
122
+ }
123
+ return true;
124
+ }
125
+
126
+ const bool kRooms = RegisterRooms();
127
+
128
+ } // namespace
129
+ } // namespace ernie::bench
@@ -111,7 +111,9 @@ void InstanceTable::LayOutWorlds() {
111
111
  std::to_string(capacities_.worlds) + " declared");
112
112
  }
113
113
  const std::size_t count = capacities_.worlds > 0 ? capacities_.worlds : needed;
114
- std::vector<std::uint32_t> records(count, shared);
114
+ // With one world, a top level of their own would only add an empty one to trace.
115
+ const bool ownTop = capacities_.sharedPrims == SharedPrims::SharedTopLevel && count > 1;
116
+ std::vector<std::uint32_t> records(count, ownTop ? 0u : shared);
115
117
  for (const std::int32_t world : hostWorlds_) {
116
118
  if (world >= 0) {
117
119
  ++records[static_cast<std::size_t>(world)];
@@ -131,6 +133,11 @@ void InstanceTable::LayOutWorlds() {
131
133
  worlds_[world] = {.first = static_cast<std::uint32_t>(world) * stride_,
132
134
  .count = records[world]};
133
135
  }
136
+ shared_.reset();
137
+ if (ownTop && shared > 0) {
138
+ shared_ =
139
+ WorldRecords{.first = static_cast<std::uint32_t>(count) * stride_, .count = shared};
140
+ }
134
141
  }
135
142
 
136
143
  void InstanceTable::AddLayoutPasses(graph::Graph& graph, graph::Buffer rowWorlds,
@@ -144,7 +151,9 @@ void InstanceTable::AddLayoutPasses(graph::Graph& graph, graph::Buffer rowWorlds
144
151
  .rows = Count(),
145
152
  .worldCount = static_cast<std::uint32_t>(worlds_.size()),
146
153
  .stride = stride_,
147
- .sharedCount = sharedCount_};
154
+ .sharedCount = sharedCount_,
155
+ .sharedFirst =
156
+ shared_ ? shared_->first : shaders::kNoSource};
148
157
  const auto add = [&](const char* name, const ComputeKernel& kernel, std::uint32_t items,
149
158
  const auto& declare) {
150
159
  if (items == 0) {
@@ -174,7 +183,8 @@ void InstanceTable::AddLayoutPasses(graph::Graph& graph, graph::Buffer rowWorlds
174
183
  cursors = pass.WriteAddress(cursors);
175
184
  shared = pass.WriteAddress(shared);
176
185
  });
177
- add("Share records", sharer_, layout.worldCount * sharedCount_, [&](graph::PassBuilder& pass) {
186
+ const std::uint32_t copies = shared_ ? sharedCount_ : layout.worldCount * sharedCount_;
187
+ add("Share records", sharer_, copies, [&](graph::PassBuilder& pass) {
178
188
  pass.ReadAddress(shared);
179
189
  sources = pass.WriteAddress(sources);
180
190
  });
@@ -10,6 +10,7 @@
10
10
  #include "ernie/device/staging.h"
11
11
  #include "ernie/graph/graph.h"
12
12
  #include "ernie/render/geometry.h"
13
+ #include "ernie/render/renderer.h"
13
14
  #include "ernie/util/glm.h"
14
15
 
15
16
  #include <algorithm>
@@ -35,8 +36,11 @@ namespace ernie {
35
36
  /// so nothing is laid out again or reallocated as counts move; 0 for as many as there are.
36
37
  struct WorldCapacities {
37
38
  std::uint32_t worlds = 0;
38
- /// Each world's records: its own instances and the shared ones.
39
+ /// Each world's records: its own instances, and the shared ones when duplicated.
39
40
  std::uint32_t instancesPerWorld = 0;
41
+ /// How the shared rows are traced: in every world's records, or in their own top level's
42
+ /// when there is more than one world.
43
+ SharedPrims sharedPrims = SharedPrims::SharedTopLevel;
40
44
  };
41
45
 
42
46
  class InstanceTable {
@@ -96,6 +100,11 @@ class InstanceTable {
96
100
  std::span<const WorldRecords> Worlds() const {
97
101
  return worlds_;
98
102
  }
103
+ /// @return The records of the shared rows' own top level, after every world's; none when
104
+ /// they are duplicated into each world's, or there are none.
105
+ std::optional<WorldRecords> Shared() const {
106
+ return shared_;
107
+ }
99
108
  /// @return Each top-level record's instance row, a uint32 a record, world after world, each
100
109
  /// world's own rows in no fixed order; `kNoRow` for a record no instance fills.
101
110
  const DeviceColumn& Sources() const {
@@ -104,10 +113,11 @@ class InstanceTable {
104
113
  const WorldCapacities& Capacities() const {
105
114
  return capacities_;
106
115
  }
107
- /// @return The records of every world: as many a world as the declared capacity, or as the
108
- /// largest world's.
116
+ /// @return Every top level's records: as many a world as the declared capacity, or as the
117
+ /// largest world's, then the shared ones' own.
109
118
  std::uint32_t Records() const {
110
- return static_cast<std::uint32_t>(worlds_.size()) * stride_;
119
+ return static_cast<std::uint32_t>(worlds_.size()) * stride_ +
120
+ (shared_ ? shared_->count : 0);
111
121
  }
112
122
 
113
123
  private:
@@ -168,6 +178,7 @@ class InstanceTable {
168
178
  /// Records from one world's first to the next's.
169
179
  std::uint32_t stride_ = 0;
170
180
  std::uint32_t sharedCount_ = 0;
181
+ std::optional<WorldRecords> shared_;
171
182
  std::unique_ptr<DeviceColumn> sources_;
172
183
  std::unique_ptr<DeviceColumn> rowWorlds_;
173
184
  /// The layout kernels' scratch.
@@ -90,6 +90,7 @@ struct Renderer::Device {
90
90
  std::uint64_t sceneId = 0;
91
91
  std::unique_ptr<DeviceScene> deviceScene;
92
92
  std::uint32_t outputSets = 1;
93
+ SharedPrims sharedPrims = SharedPrims::SharedTopLevel;
93
94
  std::vector<Batch> batches;
94
95
  /// Each output set's batches.
95
96
  std::vector<std::vector<RenderBatch>> rendered;
@@ -180,6 +181,7 @@ Renderer::Renderer(const RendererOptions& options) : device_(std::make_unique<De
180
181
  throw std::invalid_argument("A renderer needs at least one output set");
181
182
  }
182
183
  device.outputSets = options.outputSets;
184
+ device.sharedPrims = options.sharedPrims;
183
185
  device.context = std::make_unique<DeviceContext>(
184
186
  DeviceContextOptions{.validation = options.validation, .device = options.device});
185
187
  if (!device.context->Capabilities().rayQuery) {
@@ -208,7 +210,8 @@ DeviceScene& Renderer::Device::Follow(const Scene& scene) {
208
210
  deviceScene = std::make_unique<DeviceScene>(
209
211
  *context, *arenas, scene, compiler,
210
212
  WorldCapacities{.worlds = capacities.worlds,
211
- .instancesPerWorld = capacities.instancesPerWorld});
213
+ .instancesPerWorld = capacities.instancesPerWorld,
214
+ .sharedPrims = sharedPrims});
212
215
  sceneId = scene.Id();
213
216
  batches.clear();
214
217
  rendered.clear();
@@ -40,6 +40,17 @@ struct RenderCapacities {
40
40
  std::uint32_t views = 0;
41
41
  };
42
42
 
43
+ /// @brief How batch worlds trace the prims in every world, such as a shared ground and room. A
44
+ /// scene of one world keeps them in its top level either way.
45
+ enum class SharedPrims : std::uint8_t {
46
+ /// In every world's top level, beside its own prims.
47
+ Duplicated,
48
+ /// In one top level of their own, traced after each world's: a world's top level holds only
49
+ /// its own prims, however many shared ones there are. Measured faster from 64 to 16,384
50
+ /// worlds, by up to 40% with 64 shared prims (`render.shared_prims` in ernie_benchmarks).
51
+ SharedTopLevel,
52
+ };
53
+
43
54
  struct RendererOptions {
44
55
  /// The device: its UUID in hex, or part of its name; empty for the best scoring one.
45
56
  std::string device;
@@ -49,6 +60,8 @@ struct RendererOptions {
49
60
  /// The sets of outputs steps take turns rendering into: with 2, a learner reads one step's
50
61
  /// outputs while the next step renders into the other set.
51
62
  std::uint32_t outputSets = 1;
63
+ /// How worlds trace their shared prims; the default is the faster one as measured.
64
+ SharedPrims sharedPrims = SharedPrims::SharedTopLevel;
52
65
  };
53
66
 
54
67
  /// @brief One var of a batch: every view's pixels, stacked on the device.
@@ -36,7 +36,9 @@ void RayTracer::AddBuild(graph::Graph& graph, const GeometryPool::Changes& chang
36
36
  graph.Board().Put(
37
37
  TraceScene{.parameters = {.tops = ToBufferRef<shaders::TopLevel>(tops_.Tops()),
38
38
  .sources = ToBufferRef<shaders::uint>(instances.Sources()),
39
- .records = ToBufferRef<shaders::GeometryRecord>(records)},
39
+ .records = ToBufferRef<shaders::GeometryRecord>(records),
40
+ .worlds = tops_.Worlds(),
41
+ .shared = tops_.SharedTop().value_or(shaders::kNoSharedTop)},
40
42
  .top = top,
41
43
  .tables = {graph.Import(tops_.Tops()), graph.Import(instances.Sources()),
42
44
  graph.Import(records)},
@@ -46,8 +46,14 @@ graph::Acceleration TopLevels::AddBuild(graph::Graph& graph, const TransformGrap
46
46
  const InstanceTable& instances, const BottomLevels& bottoms,
47
47
  bool rebuild) {
48
48
  ERNIE_ZONE("Prepare the top levels");
49
- const std::span<const InstanceTable::WorldRecords> worlds = instances.Worlds();
50
- EnsureCapacity(worlds, instances.Capacities().instancesPerWorld);
49
+ // Each world's top level, then the shared prims' own, if any.
50
+ std::vector<InstanceTable::WorldRecords> tops(instances.Worlds().begin(),
51
+ instances.Worlds().end());
52
+ worlds_ = static_cast<std::uint32_t>(tops.size());
53
+ if (const std::optional<InstanceTable::WorldRecords> shared = instances.Shared()) {
54
+ tops.push_back(*shared);
55
+ }
56
+ EnsureCapacity(tops, instances.Capacities().instancesPerWorld, worlds_);
51
57
  if (uploader_.Staged()) {
52
58
  std::array buffers{graph.Import(*tops_)};
53
59
  graph::AddUploadPass(graph, "Upload top levels", uploader_, buffers);
@@ -61,30 +67,31 @@ graph::Acceleration TopLevels::AddBuild(graph::Graph& graph, const TransformGrap
61
67
  if (instances.Records() > 0) {
62
68
  AddWritePass(graph, transforms, instances, bottoms, records);
63
69
  }
64
- return AddBuildPass(graph, bottoms, worlds, records);
70
+ return AddBuildPass(graph, bottoms, tops, records);
65
71
  }
66
72
 
67
- void TopLevels::EnsureCapacity(std::span<const InstanceTable::WorldRecords> worlds,
68
- std::uint32_t declared) {
73
+ void TopLevels::EnsureCapacity(std::span<const InstanceTable::WorldRecords> tops,
74
+ std::uint32_t declared, std::size_t worlds) {
69
75
  // Frames in flight keep the old ones: destroying them retires them.
70
- structures_.resize(worlds.size());
71
- hostTops_.resize(worlds.size());
76
+ structures_.resize(tops.size());
77
+ hostTops_.resize(tops.size());
72
78
  bool changed = false;
73
- for (std::size_t world = 0; world < worlds.size(); ++world) {
74
- std::unique_ptr<AccelerationStructure>& top = structures_[world];
75
- const std::uint32_t count = worlds[world].count;
79
+ for (std::size_t index = 0; index < tops.size(); ++index) {
80
+ std::unique_ptr<AccelerationStructure>& top = structures_[index];
81
+ const std::uint32_t count = tops[index].count;
76
82
  const std::uint32_t capacity = top ? top->Sizes().primitives[0] : 0;
77
- const bool resize = declared > 0
78
- ? capacity != declared
79
- : count > capacity || (capacity > 4 && count < capacity / 4);
83
+ // The shared top level, after the worlds', grows with its prims.
84
+ const std::uint32_t fixed = index < worlds ? declared : 0;
85
+ const bool resize = fixed > 0 ? capacity != fixed
86
+ : count > capacity || (capacity > 4 && count < capacity / 4);
80
87
  if (!top || resize) {
81
88
  top = std::make_unique<AccelerationStructure>(
82
- pool_, Sizes(context_, declared > 0 ? declared : RoundUpCapacity(count), kRebuilt),
83
- "world " + std::to_string(world));
89
+ pool_, Sizes(context_, fixed > 0 ? fixed : RoundUpCapacity(count), kRebuilt),
90
+ index < worlds ? "world " + std::to_string(index) : std::string("shared"));
84
91
  }
85
92
  const shaders::TopLevel next{
86
- .address = top->Address(), .first = worlds[world].first, .count = count};
87
- shaders::TopLevel& last = hostTops_[world];
93
+ .address = top->Address(), .first = tops[index].first, .count = count};
94
+ shaders::TopLevel& last = hostTops_[index];
88
95
  if (last.address != next.address || last.first != next.first || last.count != count) {
89
96
  last = next;
90
97
  changed = true;
@@ -25,7 +25,8 @@ namespace ernie {
25
25
  /// instance records, laid out by the instance table, from their world transforms, shape transforms
26
26
  /// and geometries' bottom levels, and one call builds them all. Instances whose bottom level is not
27
27
  /// built are switched off. An instance's custom index is its geometry; its row in the instance
28
- /// table is `InstanceIndex()`. Shared prims are in every world's top level. A world's capacity
28
+ /// table is `InstanceIndex()`. Shared prims are in every world's top level, or in one of their own
29
+ /// after the worlds', as the instance table lays them out. A world's capacity
29
30
  /// grows by doubling and shrinks once it is four times what is needed, so instance counts that
30
31
  /// wobble do not reallocate.
31
32
  class TopLevels {
@@ -47,15 +48,21 @@ class TopLevels {
47
48
  const DeviceColumn& Tops() const {
48
49
  return *tops_;
49
50
  }
51
+ /// @return The batch worlds' top levels: `Tops`' first entries.
50
52
  std::uint32_t Worlds() const {
51
- return static_cast<std::uint32_t>(structures_.size());
53
+ return worlds_;
54
+ }
55
+ /// @return The shared prims' own top level's index in `Tops`, after the worlds'; none when
56
+ /// each world's holds them.
57
+ std::optional<std::uint32_t> SharedTop() const {
58
+ return structures_.size() > worlds_ ? std::optional(worlds_) : std::nullopt;
52
59
  }
53
60
 
54
61
  private:
55
- /// Remakes the top levels whose worlds outgrow them or use under a quarter of them; with a
56
- /// `declared` capacity a world, makes each once at that size.
57
- void EnsureCapacity(std::span<const InstanceTable::WorldRecords> worlds,
58
- std::uint32_t declared);
62
+ /// Remakes the top levels whose records outgrow them or use under a quarter of them; with a
63
+ /// `declared` capacity a world, makes each of the first `worlds` once at that size.
64
+ void EnsureCapacity(std::span<const InstanceTable::WorldRecords> tops, std::uint32_t declared,
65
+ std::size_t worlds);
59
66
  /// Adds the pass writing each record from its instance's world and shape transforms.
60
67
  void AddWritePass(graph::Graph& graph, const TransformGraph& transforms,
61
68
  const InstanceTable& instances, const BottomLevels& bottoms,
@@ -70,6 +77,7 @@ class TopLevels {
70
77
  Uploader uploader_;
71
78
  std::vector<std::unique_ptr<AccelerationStructure>> structures_;
72
79
  std::vector<shaders::TopLevel> hostTops_;
80
+ std::uint32_t worlds_ = 0;
73
81
  std::unique_ptr<DeviceColumn> tops_;
74
82
  };
75
83
 
@@ -26,13 +26,21 @@ struct TopLevel {
26
26
  uint count;
27
27
  };
28
28
 
29
+ /// `TracerParameters::shared` without a shared top level.
30
+ static const uint kNoSharedTop = 0xffffffff;
31
+
29
32
  /// What a pass hands its tracer.
30
33
  struct TracerParameters {
31
- /// Each world's top level.
34
+ /// Each world's top level, then the shared one, if any.
32
35
  BufferRef<TopLevel> tops;
33
36
  /// Each top-level record's instance row, world after world.
34
37
  BufferRef<uint> sources;
35
38
  BufferRef<GeometryRecord> records;
39
+ /// The batch worlds' top levels, the first of `tops`.
40
+ uint worlds;
41
+ /// The top level of the prims every world sees, traced after each world's own; or
42
+ /// `kNoSharedTop` when every world's top level holds them.
43
+ uint shared;
36
44
  };
37
45
 
38
46
  #ifdef __cplusplus
@@ -69,11 +77,33 @@ struct RayTracer {
69
77
  this.top = parameters.tops[world];
70
78
  }
71
79
 
72
- /// @return The nearest hit along the ray among instances in `mask`.
80
+ /// @return The nearest hit along the ray among instances in `mask`: the world's own, then
81
+ /// the shared prims nearer than it.
73
82
  Hit TraceClosest(RayDesc ray, uint mask) {
83
+ Hit hit = TraceTop(top, ray, mask);
84
+ if (parameters.shared != kNoSharedTop) {
85
+ RayDesc nearer = ray;
86
+ nearer.TMax = hit.found ? hit.t : ray.TMax;
87
+ Hit shared = TraceTop(parameters.tops[parameters.shared], nearer, mask);
88
+ if (shared.found) {
89
+ hit = shared;
90
+ }
91
+ }
92
+ return hit;
93
+ }
94
+
95
+ /// @return Whether anything in `mask` blocks the ray, for visibility.
96
+ bool TraceAny(RayDesc ray, uint mask) {
97
+ return Blocks(top, ray, mask) ||
98
+ (parameters.shared != kNoSharedTop &&
99
+ Blocks(parameters.tops[parameters.shared], ray, mask));
100
+ }
101
+
102
+ /// @return The nearest hit along the ray in one top level.
103
+ Hit TraceTop(TopLevel traced, RayDesc ray, uint mask) {
74
104
  RayQuery<RAY_FLAG_NONE> query;
75
105
  ShapeHit nearest;
76
- Run(query, ray, mask, nearest);
106
+ Run(query, traced, ray, mask, nearest);
77
107
  Hit hit = {};
78
108
  uint status = query.CommittedStatus();
79
109
  hit.found = status != COMMITTED_NOTHING;
@@ -81,7 +111,7 @@ struct RayTracer {
81
111
  // A committed instance's values are read only once there is one: lavapipe faults on them
82
112
  // after a miss.
83
113
  if (hit.found) {
84
- hit.instance = parameters.sources[top.first + query.CommittedInstanceIndex()];
114
+ hit.instance = parameters.sources[traced.first + query.CommittedInstanceIndex()];
85
115
  hit.primitive = query.CommittedPrimitiveIndex();
86
116
  hit.geometry = query.CommittedInstanceID();
87
117
  if (status == COMMITTED_TRIANGLE_HIT) {
@@ -93,11 +123,11 @@ struct RayTracer {
93
123
  return hit;
94
124
  }
95
125
 
96
- /// @return Whether anything in `mask` blocks the ray, for visibility.
97
- bool TraceAny(RayDesc ray, uint mask) {
126
+ /// @return Whether anything in `mask` in one top level blocks the ray.
127
+ bool Blocks(TopLevel traced, RayDesc ray, uint mask) {
98
128
  RayQuery<RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH> query;
99
129
  ShapeHit nearest;
100
- Run(query, ray, mask, nearest);
130
+ Run(query, traced, ray, mask, nearest);
101
131
  return query.CommittedStatus() != COMMITTED_NOTHING;
102
132
  }
103
133
 
@@ -117,9 +147,9 @@ struct RayTracer {
117
147
 
118
148
  /// Runs the query; `Flags` may end it at the first hit. NVIDIA's compiler fails on
119
149
  /// `CandidateObjectRay*`: the object ray comes from the candidate's matrix instead.
120
- void Run<let Flags : int>(inout RayQuery<Flags> query, RayDesc ray, uint mask,
121
- out ShapeHit nearest) {
122
- query.TraceRayInline(RaytracingAccelerationStructure(top.address), RAY_FLAG_NONE,
150
+ void Run<let Flags : int>(inout RayQuery<Flags> query, TopLevel traced, RayDesc ray,
151
+ uint mask, out ShapeHit nearest) {
152
+ query.TraceRayInline(RaytracingAccelerationStructure(traced.address), RAY_FLAG_NONE,
123
153
  mask, ray);
124
154
  nearest.t = ray.TMax;
125
155
  nearest.normal = float3(0, 0, 1);
@@ -2,9 +2,9 @@
2
2
  /// @file world_layout.slang
3
3
  /// @brief The top levels' records sorted by world on the device, from each instance row's world:
4
4
  /// `Clear` empties every record, `Scatter` puts each row in its world after the shared ones, and
5
- /// `FillShared` copies the shared rows into every world. Each world's records start `stride`
6
- /// apart; within a world, its own rows come in no fixed order. The parameters are shared with C++
7
- /// (instances.cpp).
5
+ /// `FillShared` copies the shared rows into every world, or once into their own top level's
6
+ /// records after every world's. Each world's records start `stride` apart; within a world, its
7
+ /// own rows come in no fixed order. The parameters are shared with C++ (instances.cpp).
8
8
  #ifdef __cplusplus
9
9
  #pragma once
10
10
  #include "ernie/shaders/shared.h"
@@ -29,6 +29,9 @@ struct LayoutParameters {
29
29
  uint worldCount;
30
30
  uint stride;
31
31
  uint sharedCount;
32
+ /// The first record of the shared rows' own top level, after every world's; `kNoSource`
33
+ /// when each world's records hold them first.
34
+ uint sharedFirst;
32
35
  /// The threads dispatched, each taking every `threads`th item.
33
36
  uint threads;
34
37
  };
@@ -40,7 +43,11 @@ struct LayoutParameters {
40
43
  [shader("compute")]
41
44
  [numthreads(64, 1, 1)]
42
45
  void Clear(uint3 id : SV_DispatchThreadID, uniform LayoutParameters parameters) {
43
- for (uint i = id.x; i < parameters.worldCount * parameters.stride; i += parameters.threads) {
46
+ uint records = parameters.worldCount * parameters.stride;
47
+ if (parameters.sharedFirst != kNoSource) {
48
+ records += parameters.sharedCount;
49
+ }
50
+ for (uint i = id.x; i < records; i += parameters.threads) {
44
51
  parameters.sources[i] = kNoSource;
45
52
  }
46
53
  for (uint i = id.x; i <= parameters.worldCount; i += parameters.threads) {
@@ -56,7 +63,8 @@ void Scatter(uint3 id : SV_DispatchThreadID, uniform LayoutParameters parameters
56
63
  if (world < 0) {
57
64
  parameters.sharedRows[parameters.cursors.AtomicAdd(parameters.worldCount, 1)] = row;
58
65
  } else if (uint(world) < parameters.worldCount) {
59
- uint slot = parameters.sharedCount + parameters.cursors.AtomicAdd(uint(world), 1);
66
+ uint ahead = parameters.sharedFirst == kNoSource ? parameters.sharedCount : 0;
67
+ uint slot = ahead + parameters.cursors.AtomicAdd(uint(world), 1);
60
68
  parameters.sources[uint(world) * parameters.stride + slot] = row;
61
69
  }
62
70
  }
@@ -65,6 +73,13 @@ void Scatter(uint3 id : SV_DispatchThreadID, uniform LayoutParameters parameters
65
73
  [shader("compute")]
66
74
  [numthreads(64, 1, 1)]
67
75
  void FillShared(uint3 id : SV_DispatchThreadID, uniform LayoutParameters parameters) {
76
+ if (parameters.sharedFirst != kNoSource) {
77
+ // Once, in their own top level's records.
78
+ for (uint i = id.x; i < parameters.sharedCount; i += parameters.threads) {
79
+ parameters.sources[parameters.sharedFirst + i] = parameters.sharedRows[i];
80
+ }
81
+ return;
82
+ }
68
83
  uint count = parameters.worldCount * parameters.sharedCount;
69
84
  for (uint i = id.x; i < count; i += parameters.threads) {
70
85
  uint world = i / parameters.sharedCount;
@@ -197,14 +197,23 @@ void ExpectSources(DeviceContext& context, DeviceScene& frame, const Scene& scen
197
197
  return part;
198
198
  };
199
199
  ASSERT_EQ(instances.Worlds().size(), own.size());
200
- const std::size_t stride = instances.Records() / own.size();
200
+ // The shared rows lead each world's records, or have their own after every world's.
201
+ const std::optional<InstanceTable::WorldRecords> sharedTop = instances.Shared();
202
+ const std::size_t ahead = sharedTop ? 0 : shared.size();
203
+ const std::size_t stride =
204
+ (instances.Records() - (sharedTop ? sharedTop->count : 0)) / own.size();
205
+ if (sharedTop) {
206
+ EXPECT_EQ(sharedTop->first, own.size() * stride);
207
+ EXPECT_EQ(sharedTop->count, shared.size());
208
+ EXPECT_EQ(sorted(sharedTop->first, sharedTop->first + sharedTop->count), rows(shared));
209
+ }
201
210
  for (std::size_t world = 0; world < own.size(); ++world) {
202
211
  const InstanceTable::WorldRecords records = instances.Worlds()[world];
203
212
  EXPECT_EQ(records.first, world * stride);
204
- EXPECT_EQ(records.count, shared.size() + own[world].size()) << "world " << world;
205
- EXPECT_EQ(sorted(records.first, records.first + shared.size()), rows(shared));
206
- EXPECT_EQ(sorted(records.first + shared.size(), records.first + records.count),
207
- rows(own[world]))
213
+ EXPECT_EQ(records.count, ahead + own[world].size()) << "world " << world;
214
+ EXPECT_EQ(sorted(records.first, records.first + ahead),
215
+ sharedTop ? std::vector<std::uint32_t>{} : rows(shared));
216
+ EXPECT_EQ(sorted(records.first + ahead, records.first + records.count), rows(own[world]))
208
217
  << "world " << world;
209
218
  for (std::size_t spare = records.first + records.count; spare < (world + 1) * stride;
210
219
  ++spare) {
@@ -216,8 +225,14 @@ void ExpectSources(DeviceContext& context, DeviceScene& frame, const Scene& scen
216
225
  TEST(DeviceScene, SortsInstancesByWorldOnTheDevice) {
217
226
  ERNIE_CONTEXT(context);
218
227
  const ShaderCompiler compiler;
219
- for (const WorldCapacities capacities : {WorldCapacities{}, WorldCapacities{4, 6}}) {
220
- SCOPED_TRACE(capacities.worlds);
228
+ for (const WorldCapacities capacities :
229
+ {WorldCapacities{.sharedPrims = SharedPrims::Duplicated},
230
+ WorldCapacities{4, 6, SharedPrims::Duplicated},
231
+ WorldCapacities{.sharedPrims = SharedPrims::SharedTopLevel},
232
+ WorldCapacities{4, 6, SharedPrims::SharedTopLevel}}) {
233
+ SCOPED_TRACE(
234
+ std::to_string(capacities.worlds) +
235
+ (capacities.sharedPrims == SharedPrims::Duplicated ? " duplicated" : " own top level"));
221
236
  // Two walls in every world; world 0 has a ball, world 1 none and world 2 three.
222
237
  Scene scene;
223
238
  Cube::Define(scene, "/Wall0");