ernie-renderer 0.2.0.dev135__tar.gz → 0.2.0.dev137__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 (916) hide show
  1. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/CMakeLists.txt +1 -1
  2. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/PKG-INFO +1 -1
  3. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/app/viewer.cpp +41 -33
  4. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/app/viewer.h +6 -0
  5. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/shader_compiler.cpp +25 -8
  6. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/staging.h +8 -0
  7. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/geometry.cpp +17 -16
  8. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/instances.cpp +1 -11
  9. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/instances.h +2 -1
  10. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/rt/bottom_levels.cpp +52 -40
  11. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/rt/bottom_levels.h +21 -0
  12. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/rt/camera_pass.cpp +9 -12
  13. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/rt/top_levels.cpp +41 -29
  14. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/rt/top_levels.h +9 -0
  15. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/transform_graph.cpp +3 -3
  16. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/shaders/math/double_float.slang +1 -1
  17. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/shaders/rt/ray_tracer.slang +0 -2
  18. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/shaders/scene/geometry.slang +1 -1
  19. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/shaders/scene/shapes.slang +2 -2
  20. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/shaders/sensors/camera.slang +4 -2
  21. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/shaders/spectral/spectrum.slang +3 -3
  22. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/glm.h +16 -0
  23. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/device/acceleration_test.cpp +1 -3
  24. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/device/columns.h +12 -6
  25. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/device/common.h +6 -0
  26. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/graph/graph_test.cpp +2 -6
  27. ernie_renderer-0.2.0.dev137/tests/render/acceleration_scene_test.cpp +80 -0
  28. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/render/camera_pass_test.cpp +41 -61
  29. ernie_renderer-0.2.0.dev137/tests/render/common.h +175 -0
  30. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/render/geometry_test.cpp +2 -8
  31. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/render/ray_tracer_test.cpp +8 -135
  32. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/render/shaders_test.cpp +3 -16
  33. ernie_renderer-0.2.0.dev135/tests/render/acceleration_scene_test.cpp +0 -163
  34. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/.clang-format +0 -0
  35. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/.clang-tidy +0 -0
  36. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/.dockerignore +0 -0
  37. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/.gersemirc +0 -0
  38. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/.gitattributes +0 -0
  39. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/.github/scripts/coverage_badge.py +0 -0
  40. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/.github/scripts/install-lavapipe-windows.sh +0 -0
  41. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/.github/workflows/ci.yml +0 -0
  42. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/.gitignore +0 -0
  43. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/.pre-commit-config.yaml +0 -0
  44. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/CMakePresets.json +0 -0
  45. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/Dockerfile +0 -0
  46. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/LICENSE +0 -0
  47. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/README.md +0 -0
  48. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/benchmarks/CMakeLists.txt +0 -0
  49. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/benchmarks/bench.h +0 -0
  50. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/benchmarks/device/pose_step.cpp +0 -0
  51. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/benchmarks/main.cpp +0 -0
  52. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/benchmarks/render/transform_graph.cpp +0 -0
  53. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/benchmarks/scene/extents.cpp +0 -0
  54. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/benchmarks/scene/storage.cpp +0 -0
  55. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/cmake/EmbedShader.cmake +0 -0
  56. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/cmake/ErnieConfig.cmake.in +0 -0
  57. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/cmake/ErnieFetch.cmake +0 -0
  58. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/cmake/ErnieInstall.cmake +0 -0
  59. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/cmake/ErniePackaging.cmake +0 -0
  60. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/cmake/ErnieShaders.cmake +0 -0
  61. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/cmake/ErnieTesting.cmake +0 -0
  62. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/cmake/ernie.pc.in +0 -0
  63. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/cmake/third_party/dear_imgui.cmake +0 -0
  64. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/cmake/third_party/glfw.cmake +0 -0
  65. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/cmake/third_party/googletest.cmake +0 -0
  66. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/cmake/third_party/nanobind.cmake +0 -0
  67. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/cmake/third_party/openexr.cmake +0 -0
  68. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/cmake/third_party/slang.cmake +0 -0
  69. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/cmake/third_party/tracy.cmake +0 -0
  70. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/docs/README.md +0 -0
  71. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/docs/index.md +0 -0
  72. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/docs/requirements.txt +0 -0
  73. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/CMakeLists.txt +0 -0
  74. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/app/CMakeLists.txt +0 -0
  75. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/app/imgui_backend.cpp +0 -0
  76. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/app/imgui_backend.h +0 -0
  77. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/app/main.cpp +0 -0
  78. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/app/ui.cpp +0 -0
  79. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/app/ui.h +0 -0
  80. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/CMakeLists.txt +0 -0
  81. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/acceleration.cpp +0 -0
  82. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/acceleration.h +0 -0
  83. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/arena.cpp +0 -0
  84. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/arena.h +0 -0
  85. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/bindless.cpp +0 -0
  86. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/bindless.h +0 -0
  87. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/buffer.cpp +0 -0
  88. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/buffer.h +0 -0
  89. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/column.cpp +0 -0
  90. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/column.h +0 -0
  91. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/context.cpp +0 -0
  92. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/context.h +0 -0
  93. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/cuda.cpp +0 -0
  94. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/cuda.h +0 -0
  95. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/device.h +0 -0
  96. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/external.cpp +0 -0
  97. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/external.h +0 -0
  98. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/image.cpp +0 -0
  99. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/image.h +0 -0
  100. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/instance.cpp +0 -0
  101. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/instance.h +0 -0
  102. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/kernel.cpp +0 -0
  103. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/kernel.h +0 -0
  104. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/profile.cpp +0 -0
  105. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/profile.h +0 -0
  106. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/queue.cpp +0 -0
  107. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/queue.h +0 -0
  108. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/shader_compiler.h +0 -0
  109. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/staging.cpp +0 -0
  110. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/vulkan.cpp +0 -0
  111. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/device/vulkan.h +0 -0
  112. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/geometry/CMakeLists.txt +0 -0
  113. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/geometry/bounds.h +0 -0
  114. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/geometry/triangulation.cpp +0 -0
  115. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/geometry/triangulation.h +0 -0
  116. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/graph/CMakeLists.txt +0 -0
  117. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/graph/blackboard.h +0 -0
  118. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/graph/dependencies.cpp +0 -0
  119. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/graph/dependencies.h +0 -0
  120. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/graph/graph.cpp +0 -0
  121. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/graph/graph.h +0 -0
  122. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/graph/pool.cpp +0 -0
  123. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/graph/pool.h +0 -0
  124. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/io/CMakeLists.txt +0 -0
  125. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/io/ies.cpp +0 -0
  126. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/io/ies.h +0 -0
  127. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/io/image.cpp +0 -0
  128. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/io/image.h +0 -0
  129. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/io/nanovdb.cpp +0 -0
  130. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/io/nanovdb.h +0 -0
  131. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/io/raster.cpp +0 -0
  132. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/io/raster.h +0 -0
  133. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/io/texture.cpp +0 -0
  134. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/io/texture.h +0 -0
  135. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/CMakeLists.txt +0 -0
  136. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/astronomy.cpp +0 -0
  137. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/astronomy.h +0 -0
  138. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/atmosphere.cpp +0 -0
  139. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/atmosphere.h +0 -0
  140. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/cloud.cpp +0 -0
  141. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/cloud.h +0 -0
  142. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/constants.h +0 -0
  143. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/reflectance_library.cpp +0 -0
  144. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/reflectance_library.h +0 -0
  145. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/reflectance_table.h +0 -0
  146. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/regolith.cpp +0 -0
  147. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/regolith.h +0 -0
  148. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/scattering.cpp +0 -0
  149. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/scattering.h +0 -0
  150. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/solar.cpp +0 -0
  151. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/solar.h +0 -0
  152. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/solar_table.h +0 -0
  153. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/spectrum.cpp +0 -0
  154. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/physics/spectrum.h +0 -0
  155. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/python/CMakeLists.txt +0 -0
  156. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/python/device.cpp +0 -0
  157. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/python/device.h +0 -0
  158. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/python/dlpack.cpp +0 -0
  159. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/python/dlpack.h +0 -0
  160. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/python/ernie/__init__.py +0 -0
  161. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/python/module.cpp +0 -0
  162. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/python/render.cpp +0 -0
  163. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/python/render.h +0 -0
  164. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/python/scene.cpp +0 -0
  165. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/python/scene.h +0 -0
  166. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/CMakeLists.txt +0 -0
  167. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/device_scene.cpp +0 -0
  168. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/device_scene.h +0 -0
  169. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/geometry.h +0 -0
  170. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/prim_rows.cpp +0 -0
  171. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/prim_rows.h +0 -0
  172. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/renderer.cpp +0 -0
  173. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/renderer.h +0 -0
  174. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/rt/camera_pass.h +0 -0
  175. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/rt/ray_tracer.cpp +0 -0
  176. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/rt/ray_tracer.h +0 -0
  177. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/scene_columns.cpp +0 -0
  178. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/scene_columns.h +0 -0
  179. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/render/transform_graph.h +0 -0
  180. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/CMakeLists.txt +0 -0
  181. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/animation.cpp +0 -0
  182. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/convert.h +0 -0
  183. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/edit_history.cpp +0 -0
  184. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/edit_history.h +0 -0
  185. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/extent_cache.cpp +0 -0
  186. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/extent_cache.h +0 -0
  187. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/holder_index.cpp +0 -0
  188. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/holder_index.h +0 -0
  189. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/inherit.cpp +0 -0
  190. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/json.cpp +0 -0
  191. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/json.h +0 -0
  192. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/json_value.h +0 -0
  193. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/path.cpp +0 -0
  194. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/path.h +0 -0
  195. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/reference.cpp +0 -0
  196. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/reference.h +0 -0
  197. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/scene.cpp +0 -0
  198. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/scene.h +0 -0
  199. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/camera.cpp +0 -0
  200. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/camera.h +0 -0
  201. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/collection.h +0 -0
  202. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/geom.cpp +0 -0
  203. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/geom.h +0 -0
  204. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/instancer.cpp +0 -0
  205. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/instancer.h +0 -0
  206. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/lux.cpp +0 -0
  207. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/lux.h +0 -0
  208. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/mesh.cpp +0 -0
  209. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/mesh.h +0 -0
  210. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/planet.cpp +0 -0
  211. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/planet.h +0 -0
  212. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/registry.cpp +0 -0
  213. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/render.cpp +0 -0
  214. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/render.h +0 -0
  215. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/shade.cpp +0 -0
  216. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/shade.h +0 -0
  217. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/vol.cpp +0 -0
  218. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema/vol.h +0 -0
  219. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema.cpp +0 -0
  220. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/schema.h +0 -0
  221. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/storage.cpp +0 -0
  222. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/storage.h +0 -0
  223. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/time_samples.cpp +0 -0
  224. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/time_samples.h +0 -0
  225. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/tokens.h +0 -0
  226. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/usd_plugin.cpp +0 -0
  227. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/validate.cpp +0 -0
  228. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/value.h +0 -0
  229. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/view.cpp +0 -0
  230. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/view.h +0 -0
  231. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/xform.cpp +0 -0
  232. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/scene/xform.h +0 -0
  233. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/shaders/CMakeLists.txt +0 -0
  234. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/shaders/device/bindless.slang +0 -0
  235. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/shaders/math/affine.slang +0 -0
  236. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/shaders/rt/write_instances.slang +0 -0
  237. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/shaders/scene/transform.slang +0 -0
  238. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/CMakeLists.txt +0 -0
  239. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/algorithm.h +0 -0
  240. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/bytes.h +0 -0
  241. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/disk_cache.cpp +0 -0
  242. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/disk_cache.h +0 -0
  243. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/file.cpp +0 -0
  244. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/file.h +0 -0
  245. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/hash_index.h +0 -0
  246. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/library.cpp +0 -0
  247. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/library.h +0 -0
  248. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/linear_algebra.h +0 -0
  249. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/log.cpp +0 -0
  250. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/log.h +0 -0
  251. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/math.h +0 -0
  252. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/noise.cpp +0 -0
  253. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/noise.h +0 -0
  254. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/numbers.h +0 -0
  255. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/on_failure.h +0 -0
  256. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/parallel.h +0 -0
  257. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/profiler.cpp +0 -0
  258. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/profiler.h +0 -0
  259. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/random.h +0 -0
  260. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/tensor.cpp +0 -0
  261. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/tensor.h +0 -0
  262. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/text.h +0 -0
  263. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/version.cpp +0 -0
  264. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/version.h +0 -0
  265. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/ernie/util/worker_pool.h +0 -0
  266. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/mkdocs.yml +0 -0
  267. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/pyproject.toml +0 -0
  268. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/CMakeLists.txt +0 -0
  269. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/app/orbit_camera_test.cpp +0 -0
  270. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/app/shell_test.cpp +0 -0
  271. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/app/view_test.cpp +0 -0
  272. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/app/viewer_test.cpp +0 -0
  273. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/common.h +0 -0
  274. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/consumer/CMakeLists.txt +0 -0
  275. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/consumer/first_render.cpp +0 -0
  276. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/consumer/main.cpp +0 -0
  277. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/device/arena_test.cpp +0 -0
  278. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/device/bindless_test.cpp +0 -0
  279. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/device/column_test.cpp +0 -0
  280. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/device/context_test.cpp +0 -0
  281. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/device/cuda_test.cpp +0 -0
  282. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/device/external_test.cpp +0 -0
  283. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/device/kernel_test.cpp +0 -0
  284. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/device/pose_step.h +0 -0
  285. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/device/profile_test.cpp +0 -0
  286. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/device/vulkan_devices_test.cpp +0 -0
  287. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/exr/README.md +0 -0
  288. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/exr/make_exr.py +0 -0
  289. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/exr/rgb_float_zip.exr +0 -0
  290. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/exr/rgba_half_window.exr +0 -0
  291. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/exr/y_half_zips.exr +0 -0
  292. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/ies/README.md +0 -0
  293. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/ies/downlight_quadrant.ies +0 -0
  294. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/ies/floodlight_type_b.ies +0 -0
  295. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/ies/lamp.tilt +0 -0
  296. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/images/grey16.png +0 -0
  297. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/ktx2/README.md +0 -0
  298. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/ktx2/quadrants_etc1s.ktx2 +0 -0
  299. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/ktx2/quadrants_uastc_zstd.ktx2 +0 -0
  300. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/ktx2/tilted_normal_etc1s.ktx2 +0 -0
  301. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/ktx2/tilted_normal_uastc.ktx2 +0 -0
  302. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/scenes/README.md +0 -0
  303. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/scenes/invalid/problems.expected +0 -0
  304. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/scenes/invalid/problems.json +0 -0
  305. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/scenes/rover.json +0 -0
  306. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/scenes/rover.saved.json +0 -0
  307. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/tiff/README.md +0 -0
  308. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/tiff/float_deflate_predictor3.tif +0 -0
  309. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/tiff/float_raw.tif +0 -0
  310. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/tiff/int16_bigtiff_bigendian.tif +0 -0
  311. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/tiff/rgb_lzw_predictor2.tif +0 -0
  312. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/tiff/rgb_planar_lzw.tif +0 -0
  313. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/tiff/rgb_planar_raw.tif +0 -0
  314. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/tiff/rgb_tiled_deflate.tif +0 -0
  315. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/volumes/cube.nvdb +0 -0
  316. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/fixtures/volumes/make_nvdb.py +0 -0
  317. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/geometry/bounds_test.cpp +0 -0
  318. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/geometry/triangulation_test.cpp +0 -0
  319. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/graph/dependencies_test.cpp +0 -0
  320. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/io/ies_test.cpp +0 -0
  321. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/io/image_test.cpp +0 -0
  322. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/io/nanovdb_test.cpp +0 -0
  323. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/io/raster_test.cpp +0 -0
  324. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/io/texture_test.cpp +0 -0
  325. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/physics/astronomy_test.cpp +0 -0
  326. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/physics/atmosphere_test.cpp +0 -0
  327. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/physics/cloud_test.cpp +0 -0
  328. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/physics/reflectance_library_test.cpp +0 -0
  329. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/physics/regolith_test.cpp +0 -0
  330. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/physics/scattering_test.cpp +0 -0
  331. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/physics/solar_test.cpp +0 -0
  332. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/physics/spectrum_test.cpp +0 -0
  333. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/python/conftest.py +0 -0
  334. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/python/test_device_dlpack.py +0 -0
  335. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/python/test_device_torch.py +0 -0
  336. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/python/test_package.py +0 -0
  337. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/python/test_render.py +0 -0
  338. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/python/test_scene.py +0 -0
  339. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/python/test_scene_schema.py +0 -0
  340. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/render/device_scene_test.cpp +0 -0
  341. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/render/renderer_test.cpp +0 -0
  342. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/render/scene_columns_test.cpp +0 -0
  343. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/render/transform_graph_test.cpp +0 -0
  344. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/edit_history_test.cpp +0 -0
  345. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/extent_cache_test.cpp +0 -0
  346. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/inherit_test.cpp +0 -0
  347. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/instancer_test.cpp +0 -0
  348. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/json_test.cpp +0 -0
  349. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/lux_test.cpp +0 -0
  350. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/mesh_test.cpp +0 -0
  351. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/path_test.cpp +0 -0
  352. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/planet_test.cpp +0 -0
  353. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/reference_test.cpp +0 -0
  354. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/render_test.cpp +0 -0
  355. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/scene_test.cpp +0 -0
  356. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/schema_test.cpp +0 -0
  357. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/shade_test.cpp +0 -0
  358. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/storage_test.cpp +0 -0
  359. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/time_samples_test.cpp +0 -0
  360. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/vol_test.cpp +0 -0
  361. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/scene/xform_test.cpp +0 -0
  362. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/algorithm_test.cpp +0 -0
  363. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/bytes_test.cpp +0 -0
  364. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/disk_cache_test.cpp +0 -0
  365. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/file_test.cpp +0 -0
  366. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/hash_index_test.cpp +0 -0
  367. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/linear_algebra_test.cpp +0 -0
  368. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/log_test.cpp +0 -0
  369. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/math_test.cpp +0 -0
  370. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/noise_test.cpp +0 -0
  371. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/parallel_test.cpp +0 -0
  372. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/profiler_test.cpp +0 -0
  373. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/random_test.cpp +0 -0
  374. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/tensor_test.cpp +0 -0
  375. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/text_test.cpp +0 -0
  376. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/version_test.cpp +0 -0
  377. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/tests/util/worker_pool_test.cpp +0 -0
  378. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/CMakeLists.txt +0 -0
  379. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/README.md +0 -0
  380. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/LICENSE +0 -0
  381. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/LICENSES/Apache-2.0.txt +0 -0
  382. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/LICENSES/BSD-3-clause.txt +0 -0
  383. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/LICENSES/MIT.txt +0 -0
  384. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/NOTICE +0 -0
  385. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/README.md +0 -0
  386. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu.h +0 -0
  387. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_astc_cfgs.inl +0 -0
  388. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_astc_hdr_core.h +0 -0
  389. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_astc_helpers.h +0 -0
  390. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_containers.h +0 -0
  391. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_containers_impl.h +0 -0
  392. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_dds_transcoder.inl +0 -0
  393. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_etc1_mods.inl +0 -0
  394. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_file_headers.h +0 -0
  395. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_idct.h +0 -0
  396. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_transcoder.cpp +0 -0
  397. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_transcoder.h +0 -0
  398. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_transcoder_internal.h +0 -0
  399. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_transcoder_tables_astc.inc +0 -0
  400. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_transcoder_tables_astc_0_255.inc +0 -0
  401. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_55.inc +0 -0
  402. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_56.inc +0 -0
  403. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_alpha.inc +0 -0
  404. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_color.inc +0 -0
  405. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_5.inc +0 -0
  406. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_6.inc +0 -0
  407. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_45.inc +0 -0
  408. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_alpha_33.inc +0 -0
  409. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_transcoder_uastc.h +0 -0
  410. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_xbc7_decoder.h +0 -0
  411. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/transcoder/basisu_xbc7_decoder.inl +0 -0
  412. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/zstd/LICENSE +0 -0
  413. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/zstd/zstd.h +0 -0
  414. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/basisu/zstd/zstd_errors.h +0 -0
  415. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/bc7enc/LICENSE +0 -0
  416. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/bc7enc/README.md +0 -0
  417. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/bc7enc/bc7decomp.cpp +0 -0
  418. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/bc7enc/bc7decomp.h +0 -0
  419. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/bc7enc/bc7enc.cpp +0 -0
  420. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/bc7enc/bc7enc.h +0 -0
  421. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/bc7enc/rgbcx.cpp +0 -0
  422. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/bc7enc/rgbcx.h +0 -0
  423. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/bc7enc/rgbcx_table4.h +0 -0
  424. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/bc7enc/rgbcx_table4_small.h +0 -0
  425. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/dlpack/LICENSE +0 -0
  426. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/dlpack/README.md +0 -0
  427. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/dlpack/include/dlpack/dlpack.h +0 -0
  428. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/README.md +0 -0
  429. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/copying.txt +0 -0
  430. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/common.hpp +0 -0
  431. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/_features.hpp +0 -0
  432. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/_fixes.hpp +0 -0
  433. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/_noise.hpp +0 -0
  434. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/_swizzle.hpp +0 -0
  435. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/_swizzle_func.hpp +0 -0
  436. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/_vectorize.hpp +0 -0
  437. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/compute_common.hpp +0 -0
  438. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/compute_vector_decl.hpp +0 -0
  439. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/compute_vector_relational.hpp +0 -0
  440. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_common.inl +0 -0
  441. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_common_simd.inl +0 -0
  442. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_exponential.inl +0 -0
  443. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_exponential_simd.inl +0 -0
  444. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_geometric.inl +0 -0
  445. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_geometric_simd.inl +0 -0
  446. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_integer.inl +0 -0
  447. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_integer_simd.inl +0 -0
  448. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_matrix.inl +0 -0
  449. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_matrix_simd.inl +0 -0
  450. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_packing.inl +0 -0
  451. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_packing_simd.inl +0 -0
  452. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_trigonometric.inl +0 -0
  453. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_trigonometric_simd.inl +0 -0
  454. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_vector_relational.inl +0 -0
  455. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/func_vector_relational_simd.inl +0 -0
  456. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/qualifier.hpp +0 -0
  457. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/setup.hpp +0 -0
  458. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_float.hpp +0 -0
  459. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_half.hpp +0 -0
  460. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_half.inl +0 -0
  461. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat2x2.hpp +0 -0
  462. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat2x2.inl +0 -0
  463. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat2x3.hpp +0 -0
  464. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat2x3.inl +0 -0
  465. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat2x4.hpp +0 -0
  466. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat2x4.inl +0 -0
  467. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat3x2.hpp +0 -0
  468. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat3x2.inl +0 -0
  469. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat3x3.hpp +0 -0
  470. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat3x3.inl +0 -0
  471. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat3x4.hpp +0 -0
  472. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat3x4.inl +0 -0
  473. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat4x2.hpp +0 -0
  474. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat4x2.inl +0 -0
  475. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat4x3.hpp +0 -0
  476. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat4x3.inl +0 -0
  477. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat4x4.hpp +0 -0
  478. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat4x4.inl +0 -0
  479. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_mat4x4_simd.inl +0 -0
  480. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_quat.hpp +0 -0
  481. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_quat.inl +0 -0
  482. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_quat_simd.inl +0 -0
  483. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_vec1.hpp +0 -0
  484. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_vec1.inl +0 -0
  485. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_vec2.hpp +0 -0
  486. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_vec2.inl +0 -0
  487. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_vec3.hpp +0 -0
  488. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_vec3.inl +0 -0
  489. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_vec4.hpp +0 -0
  490. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_vec4.inl +0 -0
  491. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/detail/type_vec_simd.inl +0 -0
  492. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/exponential.hpp +0 -0
  493. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/_matrix_vectorize.hpp +0 -0
  494. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_clip_space.hpp +0 -0
  495. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_clip_space.inl +0 -0
  496. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_common.hpp +0 -0
  497. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_common.inl +0 -0
  498. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double2x2.hpp +0 -0
  499. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double2x2_precision.hpp +0 -0
  500. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double2x3.hpp +0 -0
  501. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double2x3_precision.hpp +0 -0
  502. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double2x4.hpp +0 -0
  503. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double2x4_precision.hpp +0 -0
  504. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double3x2.hpp +0 -0
  505. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double3x2_precision.hpp +0 -0
  506. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double3x3.hpp +0 -0
  507. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double3x3_precision.hpp +0 -0
  508. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double3x4.hpp +0 -0
  509. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double3x4_precision.hpp +0 -0
  510. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double4x2.hpp +0 -0
  511. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double4x2_precision.hpp +0 -0
  512. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double4x3.hpp +0 -0
  513. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double4x3_precision.hpp +0 -0
  514. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double4x4.hpp +0 -0
  515. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_double4x4_precision.hpp +0 -0
  516. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float2x2.hpp +0 -0
  517. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float2x2_precision.hpp +0 -0
  518. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float2x3.hpp +0 -0
  519. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float2x3_precision.hpp +0 -0
  520. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float2x4.hpp +0 -0
  521. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float2x4_precision.hpp +0 -0
  522. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float3x2.hpp +0 -0
  523. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float3x2_precision.hpp +0 -0
  524. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float3x3.hpp +0 -0
  525. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float3x3_precision.hpp +0 -0
  526. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float3x4.hpp +0 -0
  527. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float3x4_precision.hpp +0 -0
  528. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float4x2.hpp +0 -0
  529. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float4x2_precision.hpp +0 -0
  530. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float4x3.hpp +0 -0
  531. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float4x3_precision.hpp +0 -0
  532. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float4x4.hpp +0 -0
  533. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_float4x4_precision.hpp +0 -0
  534. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int2x2.hpp +0 -0
  535. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int2x2_sized.hpp +0 -0
  536. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int2x3.hpp +0 -0
  537. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int2x3_sized.hpp +0 -0
  538. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int2x4.hpp +0 -0
  539. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int2x4_sized.hpp +0 -0
  540. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int3x2.hpp +0 -0
  541. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int3x2_sized.hpp +0 -0
  542. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int3x3.hpp +0 -0
  543. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int3x3_sized.hpp +0 -0
  544. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int3x4.hpp +0 -0
  545. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int3x4_sized.hpp +0 -0
  546. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int4x2.hpp +0 -0
  547. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int4x2_sized.hpp +0 -0
  548. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int4x3.hpp +0 -0
  549. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int4x3_sized.hpp +0 -0
  550. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int4x4.hpp +0 -0
  551. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_int4x4_sized.hpp +0 -0
  552. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_integer.hpp +0 -0
  553. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_integer.inl +0 -0
  554. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_projection.hpp +0 -0
  555. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_projection.inl +0 -0
  556. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_relational.hpp +0 -0
  557. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_relational.inl +0 -0
  558. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_transform.hpp +0 -0
  559. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_transform.inl +0 -0
  560. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint2x2.hpp +0 -0
  561. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint2x2_sized.hpp +0 -0
  562. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint2x3.hpp +0 -0
  563. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint2x3_sized.hpp +0 -0
  564. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint2x4.hpp +0 -0
  565. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint2x4_sized.hpp +0 -0
  566. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint3x2.hpp +0 -0
  567. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint3x2_sized.hpp +0 -0
  568. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint3x3.hpp +0 -0
  569. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint3x3_sized.hpp +0 -0
  570. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint3x4.hpp +0 -0
  571. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint3x4_sized.hpp +0 -0
  572. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint4x2.hpp +0 -0
  573. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint4x2_sized.hpp +0 -0
  574. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint4x3.hpp +0 -0
  575. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint4x3_sized.hpp +0 -0
  576. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint4x4.hpp +0 -0
  577. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/matrix_uint4x4_sized.hpp +0 -0
  578. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_common.hpp +0 -0
  579. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_common.inl +0 -0
  580. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_common_simd.inl +0 -0
  581. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_double.hpp +0 -0
  582. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_double_precision.hpp +0 -0
  583. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_exponential.hpp +0 -0
  584. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_exponential.inl +0 -0
  585. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_float.hpp +0 -0
  586. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_float_precision.hpp +0 -0
  587. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_geometric.hpp +0 -0
  588. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_geometric.inl +0 -0
  589. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_relational.hpp +0 -0
  590. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_relational.inl +0 -0
  591. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_transform.hpp +0 -0
  592. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_transform.inl +0 -0
  593. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_trigonometric.hpp +0 -0
  594. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/quaternion_trigonometric.inl +0 -0
  595. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_common.hpp +0 -0
  596. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_common.inl +0 -0
  597. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_constants.hpp +0 -0
  598. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_constants.inl +0 -0
  599. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_int_sized.hpp +0 -0
  600. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_integer.hpp +0 -0
  601. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_integer.inl +0 -0
  602. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_packing.hpp +0 -0
  603. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_packing.inl +0 -0
  604. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_reciprocal.hpp +0 -0
  605. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_reciprocal.inl +0 -0
  606. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_relational.hpp +0 -0
  607. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_relational.inl +0 -0
  608. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_uint_sized.hpp +0 -0
  609. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_ulp.hpp +0 -0
  610. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/scalar_ulp.inl +0 -0
  611. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_bool1.hpp +0 -0
  612. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_bool1_precision.hpp +0 -0
  613. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_bool2.hpp +0 -0
  614. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_bool2_precision.hpp +0 -0
  615. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_bool3.hpp +0 -0
  616. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_bool3_precision.hpp +0 -0
  617. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_bool4.hpp +0 -0
  618. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_bool4_precision.hpp +0 -0
  619. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_common.hpp +0 -0
  620. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_common.inl +0 -0
  621. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_double1.hpp +0 -0
  622. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_double1_precision.hpp +0 -0
  623. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_double2.hpp +0 -0
  624. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_double2_precision.hpp +0 -0
  625. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_double3.hpp +0 -0
  626. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_double3_precision.hpp +0 -0
  627. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_double4.hpp +0 -0
  628. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_double4_precision.hpp +0 -0
  629. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_float1.hpp +0 -0
  630. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_float1_precision.hpp +0 -0
  631. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_float2.hpp +0 -0
  632. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_float2_precision.hpp +0 -0
  633. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_float3.hpp +0 -0
  634. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_float3_precision.hpp +0 -0
  635. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_float4.hpp +0 -0
  636. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_float4_precision.hpp +0 -0
  637. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_int1.hpp +0 -0
  638. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_int1_sized.hpp +0 -0
  639. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_int2.hpp +0 -0
  640. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_int2_sized.hpp +0 -0
  641. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_int3.hpp +0 -0
  642. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_int3_sized.hpp +0 -0
  643. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_int4.hpp +0 -0
  644. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_int4_sized.hpp +0 -0
  645. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_integer.hpp +0 -0
  646. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_integer.inl +0 -0
  647. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_packing.hpp +0 -0
  648. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_packing.inl +0 -0
  649. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_reciprocal.hpp +0 -0
  650. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_reciprocal.inl +0 -0
  651. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_relational.hpp +0 -0
  652. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_relational.inl +0 -0
  653. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_uint1.hpp +0 -0
  654. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_uint1_sized.hpp +0 -0
  655. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_uint2.hpp +0 -0
  656. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_uint2_sized.hpp +0 -0
  657. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_uint3.hpp +0 -0
  658. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_uint3_sized.hpp +0 -0
  659. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_uint4.hpp +0 -0
  660. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_uint4_sized.hpp +0 -0
  661. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_ulp.hpp +0 -0
  662. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext/vector_ulp.inl +0 -0
  663. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/ext.hpp +0 -0
  664. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/fwd.hpp +0 -0
  665. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/geometric.hpp +0 -0
  666. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/glm.hpp +0 -0
  667. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/bitfield.hpp +0 -0
  668. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/bitfield.inl +0 -0
  669. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/color_space.hpp +0 -0
  670. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/color_space.inl +0 -0
  671. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/constants.hpp +0 -0
  672. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/constants.inl +0 -0
  673. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/epsilon.hpp +0 -0
  674. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/epsilon.inl +0 -0
  675. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/integer.hpp +0 -0
  676. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/integer.inl +0 -0
  677. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/matrix_access.hpp +0 -0
  678. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/matrix_access.inl +0 -0
  679. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/matrix_integer.hpp +0 -0
  680. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/matrix_inverse.hpp +0 -0
  681. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/matrix_inverse.inl +0 -0
  682. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/matrix_transform.hpp +0 -0
  683. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/matrix_transform.inl +0 -0
  684. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/noise.hpp +0 -0
  685. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/noise.inl +0 -0
  686. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/packing.hpp +0 -0
  687. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/packing.inl +0 -0
  688. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/quaternion.hpp +0 -0
  689. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/quaternion.inl +0 -0
  690. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/quaternion_simd.inl +0 -0
  691. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/random.hpp +0 -0
  692. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/random.inl +0 -0
  693. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/reciprocal.hpp +0 -0
  694. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/round.hpp +0 -0
  695. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/round.inl +0 -0
  696. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/type_aligned.hpp +0 -0
  697. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/type_precision.hpp +0 -0
  698. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/type_precision.inl +0 -0
  699. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/type_ptr.hpp +0 -0
  700. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/type_ptr.inl +0 -0
  701. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/ulp.hpp +0 -0
  702. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/ulp.inl +0 -0
  703. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtc/vec1.hpp +0 -0
  704. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/associated_min_max.hpp +0 -0
  705. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/associated_min_max.inl +0 -0
  706. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/bit.hpp +0 -0
  707. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/bit.inl +0 -0
  708. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/closest_point.hpp +0 -0
  709. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/closest_point.inl +0 -0
  710. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/color_encoding.hpp +0 -0
  711. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/color_encoding.inl +0 -0
  712. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/color_space.hpp +0 -0
  713. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/color_space.inl +0 -0
  714. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/color_space_YCoCg.hpp +0 -0
  715. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/color_space_YCoCg.inl +0 -0
  716. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/common.hpp +0 -0
  717. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/common.inl +0 -0
  718. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/compatibility.hpp +0 -0
  719. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/compatibility.inl +0 -0
  720. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/component_wise.hpp +0 -0
  721. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/component_wise.inl +0 -0
  722. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/dual_quaternion.hpp +0 -0
  723. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/dual_quaternion.inl +0 -0
  724. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/easing.hpp +0 -0
  725. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/easing.inl +0 -0
  726. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/euler_angles.hpp +0 -0
  727. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/euler_angles.inl +0 -0
  728. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/extend.hpp +0 -0
  729. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/extend.inl +0 -0
  730. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/extended_min_max.hpp +0 -0
  731. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/extended_min_max.inl +0 -0
  732. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/exterior_product.hpp +0 -0
  733. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/exterior_product.inl +0 -0
  734. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/fast_exponential.hpp +0 -0
  735. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/fast_exponential.inl +0 -0
  736. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/fast_square_root.hpp +0 -0
  737. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/fast_square_root.inl +0 -0
  738. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/fast_trigonometry.hpp +0 -0
  739. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/fast_trigonometry.inl +0 -0
  740. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/float_normalize.inl +0 -0
  741. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/functions.hpp +0 -0
  742. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/functions.inl +0 -0
  743. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/gradient_paint.hpp +0 -0
  744. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/gradient_paint.inl +0 -0
  745. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/handed_coordinate_space.hpp +0 -0
  746. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/handed_coordinate_space.inl +0 -0
  747. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/hash.hpp +0 -0
  748. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/hash.inl +0 -0
  749. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/integer.hpp +0 -0
  750. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/integer.inl +0 -0
  751. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/intersect.hpp +0 -0
  752. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/intersect.inl +0 -0
  753. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/io.hpp +0 -0
  754. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/io.inl +0 -0
  755. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/iteration.hpp +0 -0
  756. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/iteration.inl +0 -0
  757. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/log_base.hpp +0 -0
  758. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/log_base.inl +0 -0
  759. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_cross_product.hpp +0 -0
  760. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_cross_product.inl +0 -0
  761. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_decompose.hpp +0 -0
  762. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_decompose.inl +0 -0
  763. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_factorisation.hpp +0 -0
  764. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_factorisation.inl +0 -0
  765. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_interpolation.hpp +0 -0
  766. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_interpolation.inl +0 -0
  767. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_major_storage.hpp +0 -0
  768. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_major_storage.inl +0 -0
  769. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_operation.hpp +0 -0
  770. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_operation.inl +0 -0
  771. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_query.hpp +0 -0
  772. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_query.inl +0 -0
  773. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_transform_2d.hpp +0 -0
  774. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/matrix_transform_2d.inl +0 -0
  775. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/mixed_product.hpp +0 -0
  776. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/mixed_product.inl +0 -0
  777. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/norm.hpp +0 -0
  778. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/norm.inl +0 -0
  779. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/normal.hpp +0 -0
  780. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/normal.inl +0 -0
  781. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/normalize_dot.hpp +0 -0
  782. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/normalize_dot.inl +0 -0
  783. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/number_precision.hpp +0 -0
  784. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/optimum_pow.hpp +0 -0
  785. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/optimum_pow.inl +0 -0
  786. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/orthonormalize.hpp +0 -0
  787. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/orthonormalize.inl +0 -0
  788. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/pca.hpp +0 -0
  789. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/pca.inl +0 -0
  790. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/perpendicular.hpp +0 -0
  791. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/perpendicular.inl +0 -0
  792. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/polar_coordinates.hpp +0 -0
  793. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/polar_coordinates.inl +0 -0
  794. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/projection.hpp +0 -0
  795. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/projection.inl +0 -0
  796. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/quaternion.hpp +0 -0
  797. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/quaternion.inl +0 -0
  798. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/range.hpp +0 -0
  799. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/raw_data.hpp +0 -0
  800. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/raw_data.inl +0 -0
  801. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/rotate_normalized_axis.hpp +0 -0
  802. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/rotate_normalized_axis.inl +0 -0
  803. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/rotate_vector.hpp +0 -0
  804. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/rotate_vector.inl +0 -0
  805. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/scalar_multiplication.hpp +0 -0
  806. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/scalar_relational.hpp +0 -0
  807. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/scalar_relational.inl +0 -0
  808. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/spline.hpp +0 -0
  809. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/spline.inl +0 -0
  810. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/std_based_type.hpp +0 -0
  811. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/std_based_type.inl +0 -0
  812. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/string_cast.hpp +0 -0
  813. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/string_cast.inl +0 -0
  814. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/structured_bindings.hpp +0 -0
  815. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/structured_bindings.inl +0 -0
  816. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/texture.hpp +0 -0
  817. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/texture.inl +0 -0
  818. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/transform.hpp +0 -0
  819. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/transform.inl +0 -0
  820. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/transform2.hpp +0 -0
  821. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/transform2.inl +0 -0
  822. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/type_aligned.hpp +0 -0
  823. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/type_aligned.inl +0 -0
  824. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/type_trait.hpp +0 -0
  825. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/type_trait.inl +0 -0
  826. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/vec_swizzle.hpp +0 -0
  827. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/vector_angle.hpp +0 -0
  828. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/vector_angle.inl +0 -0
  829. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/vector_query.hpp +0 -0
  830. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/vector_query.inl +0 -0
  831. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/wrap.hpp +0 -0
  832. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/gtx/wrap.inl +0 -0
  833. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/integer.hpp +0 -0
  834. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/mat2x2.hpp +0 -0
  835. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/mat2x3.hpp +0 -0
  836. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/mat2x4.hpp +0 -0
  837. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/mat3x2.hpp +0 -0
  838. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/mat3x3.hpp +0 -0
  839. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/mat3x4.hpp +0 -0
  840. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/mat4x2.hpp +0 -0
  841. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/mat4x3.hpp +0 -0
  842. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/mat4x4.hpp +0 -0
  843. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/matrix.hpp +0 -0
  844. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/packing.hpp +0 -0
  845. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/simd/common.h +0 -0
  846. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/simd/exponential.h +0 -0
  847. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/simd/geometric.h +0 -0
  848. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/simd/integer.h +0 -0
  849. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/simd/matrix.h +0 -0
  850. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/simd/neon.h +0 -0
  851. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/simd/packing.h +0 -0
  852. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/simd/platform.h +0 -0
  853. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/simd/trigonometric.h +0 -0
  854. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/simd/vector_relational.h +0 -0
  855. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/trigonometric.hpp +0 -0
  856. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/vec2.hpp +0 -0
  857. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/vec3.hpp +0 -0
  858. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/vec4.hpp +0 -0
  859. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/glm/glm/vector_relational.hpp +0 -0
  860. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/json/LICENSE.MIT +0 -0
  861. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/json/README.md +0 -0
  862. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/json/include/nlohmann/json.hpp +0 -0
  863. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/json/include/nlohmann/json_fwd.hpp +0 -0
  864. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/nanovdb/LICENSE +0 -0
  865. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/nanovdb/PNanoVDB.h +0 -0
  866. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/stb/LICENSE +0 -0
  867. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/stb/README.md +0 -0
  868. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/stb/stb_image.h +0 -0
  869. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/stb/stb_image_write.h +0 -0
  870. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/stb.cpp +0 -0
  871. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vma/LICENSE.txt +0 -0
  872. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vma/README.md +0 -0
  873. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vma/include/vk_mem_alloc.h +0 -0
  874. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vma.cpp +0 -0
  875. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/volk/LICENSE.md +0 -0
  876. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/volk/README.md +0 -0
  877. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/volk/volk.c +0 -0
  878. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/volk/volk.h +0 -0
  879. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/LICENSE.md +0 -0
  880. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/LICENSES/Apache-2.0.txt +0 -0
  881. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/LICENSES/MIT.txt +0 -0
  882. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/README.md +0 -0
  883. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std.h +0 -0
  884. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_decode.h +0 -0
  885. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_encode.h +0 -0
  886. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std.h +0 -0
  887. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_decode.h +0 -0
  888. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_encode.h +0 -0
  889. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std.h +0 -0
  890. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_decode.h +0 -0
  891. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_encode.h +0 -0
  892. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std.h +0 -0
  893. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std_decode.h +0 -0
  894. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vk_video/vulkan_video_codecs_common.h +0 -0
  895. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vk_icd.h +0 -0
  896. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vk_layer.h +0 -0
  897. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vk_platform.h +0 -0
  898. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan.h +0 -0
  899. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_android.h +0 -0
  900. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_beta.h +0 -0
  901. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_core.h +0 -0
  902. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_directfb.h +0 -0
  903. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_fuchsia.h +0 -0
  904. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_ggp.h +0 -0
  905. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_ios.h +0 -0
  906. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_macos.h +0 -0
  907. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_metal.h +0 -0
  908. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_ohos.h +0 -0
  909. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_screen.h +0 -0
  910. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_ubm.h +0 -0
  911. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_vi.h +0 -0
  912. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_wayland.h +0 -0
  913. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_win32.h +0 -0
  914. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_xcb.h +0 -0
  915. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/third_party/vulkan_headers/include/vulkan/vulkan_xlib.h +0 -0
  916. {ernie_renderer-0.2.0.dev135 → ernie_renderer-0.2.0.dev137}/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 ".dev135" CACHE STRING "Pre-release suffix of Ernie's version")
18
+ set(ERNIE_VERSION_SUFFIX ".dev137" 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.dev135
3
+ Version: 0.2.0.dev137
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
@@ -186,31 +186,35 @@ void Viewer::ShowViewport() {
186
186
  const ImVec2 scale = ImGui::GetIO().DisplayFramebufferScale;
187
187
  const glm::uvec2 pixels(std::max(1.0f, size.x * scale.x), std::max(1.0f, size.y * scale.y));
188
188
  if (!viewport_ || glm::uvec2(viewport_->Description().extent) != pixels) {
189
- ERNIE_ZONE("Resize the viewport");
190
- // Frames in flight may still sample the old image.
191
- context_->Main().Last().Wait();
192
- if (viewport_) {
193
- renderer_->RemoveTexture(viewportTexture_);
194
- if (heap_) {
195
- heap_->RemoveStorageImage(viewportImage_);
196
- }
197
- }
198
- viewport_ = std::make_unique<DeviceImage>(
199
- *context_,
200
- ImageDescription{.format = ImageFormat::Rgba8Unorm,
201
- .extent = {pixels, 1},
202
- .usage = ImageUsage::Sampled | ImageUsage::Storage},
203
- "Viewport");
204
- viewportTexture_ = renderer_->AddTexture(viewport_->View(), sampler_->Handle());
205
- if (heap_) {
206
- viewportImage_ = heap_->AddStorageImage(*viewport_);
207
- }
189
+ ResizeViewport(pixels);
208
190
  }
209
191
  ImGui::GetBackgroundDrawList()->AddImage(viewportTexture_, position,
210
192
  {position.x + size.x, position.y + size.y});
211
193
  }
212
194
 
213
- void Viewer::AddPasses(graph::Graph& graph, ImDrawData& data, const FrameTarget& target) {
195
+ void Viewer::ResizeViewport(glm::uvec2 pixels) {
196
+ ERNIE_ZONE("Resize the viewport");
197
+ // Frames in flight may still sample the old image.
198
+ context_->Main().Last().Wait();
199
+ if (viewport_) {
200
+ renderer_->RemoveTexture(viewportTexture_);
201
+ if (heap_) {
202
+ heap_->RemoveStorageImage(viewportImage_);
203
+ }
204
+ }
205
+ viewport_ = std::make_unique<DeviceImage>(
206
+ *context_,
207
+ ImageDescription{.format = ImageFormat::Rgba8Unorm,
208
+ .extent = {pixels, 1},
209
+ .usage = ImageUsage::Sampled | ImageUsage::Storage},
210
+ "Viewport");
211
+ viewportTexture_ = renderer_->AddTexture(viewport_->View(), sampler_->Handle());
212
+ if (heap_) {
213
+ viewportImage_ = heap_->AddStorageImage(*viewport_);
214
+ }
215
+ }
216
+
217
+ graph::Image Viewer::AddViewportPass(graph::Graph& graph) {
214
218
  graph::Image viewport = graph.Import(*viewport_, "viewport");
215
219
  if (camera_) {
216
220
  const OrbitCamera& orbit = shell_->Camera();
@@ -222,20 +226,24 @@ void Viewer::AddPasses(graph::Graph& graph, ImDrawData& data, const FrameTarget&
222
226
  .verticalFov = orbit.verticalFov,
223
227
  .size = glm::uvec2(viewport_->Description().extent)},
224
228
  outputs);
225
- viewport = *outputs.colour;
226
- } else {
227
- graph.Add(
228
- "Viewport", graph::Kind::Copy,
229
- [&](graph::PassBuilder& pass) { viewport = pass.Write(viewport, graph::Use::CopyDst); },
230
- [this, viewport](graph::PassContext& pass) {
231
- const glm::vec4 colour = shell_->GetTheme().viewport;
232
- const VkClearColorValue clear{.float32 = {colour.r, colour.g, colour.b, colour.a}};
233
- const VkImageSubresourceRange all{
234
- .aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, .levelCount = 1, .layerCount = 1};
235
- vkCmdClearColorImage(pass.commands, pass.Get(viewport).Handle(),
236
- pass.Layout(viewport), &clear, 1, &all);
237
- });
229
+ return *outputs.colour;
238
230
  }
231
+ graph.Add(
232
+ "Viewport", graph::Kind::Copy,
233
+ [&](graph::PassBuilder& pass) { viewport = pass.Write(viewport, graph::Use::CopyDst); },
234
+ [this, viewport](graph::PassContext& pass) {
235
+ const glm::vec4 colour = shell_->GetTheme().viewport;
236
+ const VkClearColorValue clear{.float32 = {colour.r, colour.g, colour.b, colour.a}};
237
+ const VkImageSubresourceRange all{
238
+ .aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, .levelCount = 1, .layerCount = 1};
239
+ vkCmdClearColorImage(pass.commands, pass.Get(viewport).Handle(), pass.Layout(viewport),
240
+ &clear, 1, &all);
241
+ });
242
+ return viewport;
243
+ }
244
+
245
+ void Viewer::AddPasses(graph::Graph& graph, ImDrawData& data, const FrameTarget& target) {
246
+ const graph::Image viewport = AddViewportPass(graph);
239
247
  graph.Add(
240
248
  "UI", graph::Kind::Raster,
241
249
  [&](graph::PassBuilder& pass) {
@@ -77,6 +77,12 @@ class Viewer {
77
77
  /// @brief Sizes the viewport's image to the dock space's central node and draws it there,
78
78
  /// behind the panels.
79
79
  void ShowViewport();
80
+ /// @brief Makes the viewport's image `pixels` in size, in the UI and the heap.
81
+ void ResizeViewport(glm::uvec2 pixels);
82
+ /// @brief Adds the pass filling the viewport: traced, or the theme's colour without ray
83
+ /// queries.
84
+ /// @return The viewport, filled.
85
+ graph::Image AddViewportPass(graph::Graph& graph);
80
86
  /// @brief Adds the frame's own passes: rendering the viewport, then the UI over the target.
81
87
  void AddPasses(graph::Graph& graph, ImDrawData& data, const FrameTarget& target);
82
88
 
@@ -36,6 +36,14 @@ struct ShaderCompiler::Session {
36
36
  throw std::invalid_argument("Compiling no shader modules");
37
37
  }
38
38
  const std::lock_guard lock(mutex);
39
+ const Slang::ComPtr<slang::ISession> session = CreateSession(format, profile);
40
+ slang::IModule* last = LoadModules(*session, modules);
41
+ return Link(*session, *last, modules.back().name, std::string(entryPoint));
42
+ }
43
+
44
+ private:
45
+ /// @return A session compiling for the target, the global session started the first time.
46
+ Slang::ComPtr<slang::ISession> CreateSession(SlangCompileTarget format, const char* profile) {
39
47
  if (!global && SLANG_FAILED(slang::createGlobalSession(global.writeRef()))) {
40
48
  throw std::runtime_error("Cannot start the Slang shader compiler");
41
49
  }
@@ -53,36 +61,45 @@ struct ShaderCompiler::Session {
53
61
  if (SLANG_FAILED(global->createSession(description, session.writeRef()))) {
54
62
  throw std::runtime_error("Cannot create a Slang session");
55
63
  }
64
+ return session;
65
+ }
56
66
 
67
+ /// @return The last module, each loaded after the modules it imports.
68
+ static slang::IModule* LoadModules(slang::ISession& session,
69
+ std::span<const ShaderModule> modules) {
57
70
  slang::IModule* last = nullptr;
58
71
  for (const ShaderModule& module : modules) {
59
72
  Slang::ComPtr<slang::IBlob> diagnostics;
60
73
  const std::string path = module.name + ".slang";
61
- last = session->loadModuleFromSourceString(
74
+ last = session.loadModuleFromSourceString(
62
75
  module.name.c_str(), path.c_str(), module.source.c_str(), diagnostics.writeRef());
63
76
  if (last == nullptr) {
64
77
  throw std::invalid_argument("Shader module " + module.name +
65
78
  " failed to compile:\n" + Text(diagnostics));
66
79
  }
67
80
  }
68
- const std::string entry(entryPoint);
81
+ return last;
82
+ }
83
+
84
+ /// @return The code of `module`'s entry point, linked with what it imports.
85
+ static Slang::ComPtr<slang::IBlob> Link(slang::ISession& session, slang::IModule& module,
86
+ const std::string& name, const std::string& entry) {
69
87
  Slang::ComPtr<slang::IEntryPoint> found;
70
- if (SLANG_FAILED(last->findEntryPointByName(entry.c_str(), found.writeRef()))) {
71
- throw std::invalid_argument("Shader module " + modules.back().name +
72
- " has no entry point " + entry);
88
+ if (SLANG_FAILED(module.findEntryPointByName(entry.c_str(), found.writeRef()))) {
89
+ throw std::invalid_argument("Shader module " + name + " has no entry point " + entry);
73
90
  }
74
- std::array<slang::IComponentType*, 2> parts{last, found};
91
+ std::array<slang::IComponentType*, 2> parts{&module, found};
75
92
  Slang::ComPtr<slang::IComponentType> program;
76
93
  Slang::ComPtr<slang::IComponentType> linked;
77
94
  Slang::ComPtr<slang::IBlob> code;
78
95
  Slang::ComPtr<slang::IBlob> diagnostics;
79
96
  const bool failed =
80
- SLANG_FAILED(session->createCompositeComponentType(
97
+ SLANG_FAILED(session.createCompositeComponentType(
81
98
  parts.data(), parts.size(), program.writeRef(), diagnostics.writeRef())) ||
82
99
  SLANG_FAILED(program->link(linked.writeRef(), diagnostics.writeRef())) ||
83
100
  SLANG_FAILED(linked->getEntryPointCode(0, 0, code.writeRef(), diagnostics.writeRef()));
84
101
  if (failed) {
85
- throw std::invalid_argument("Entry point " + entry + " of " + modules.back().name +
102
+ throw std::invalid_argument("Entry point " + entry + " of " + name +
86
103
  " failed to compile:\n" + Text(diagnostics));
87
104
  }
88
105
  return code;
@@ -8,6 +8,7 @@
8
8
 
9
9
  #include <cstddef>
10
10
  #include <cstdint>
11
+ #include <cstring>
11
12
  #include <memory>
12
13
  #include <span>
13
14
  #include <vector>
@@ -88,6 +89,13 @@ class Readback {
88
89
  }
89
90
  /// @return The bytes, waiting for the copy if it is not done.
90
91
  std::span<const std::byte> Bytes();
92
+ /// @return The bytes as `T`s, waiting for the copy if it is not done.
93
+ template <typename T> std::vector<T> Values() {
94
+ const std::span<const std::byte> bytes = Bytes();
95
+ std::vector<T> values(bytes.size() / sizeof(T));
96
+ std::memcpy(values.data(), bytes.data(), values.size() * sizeof(T));
97
+ return values;
98
+ }
91
99
 
92
100
  private:
93
101
  DeviceContext& context_;
@@ -22,7 +22,7 @@ namespace {
22
22
  /// Metres from a ground plane's centre to its edges: far past any horizon a camera near it sees.
23
23
  constexpr double kGroundHalfWidth = 1e5;
24
24
 
25
- std::optional<GeometryKind> KindHeld(const Scene& scene, PrimId prim) {
25
+ std::optional<GeometryKind> FindGeometryKind(const Scene& scene, PrimId prim) {
26
26
  const SchemaDef* schema = scene.Schema(prim);
27
27
  const std::array<std::pair<const SchemaDef*, GeometryKind>, 8> kinds{{
28
28
  {&Mesh::Definition(), GeometryKind::Triangles},
@@ -42,7 +42,7 @@ std::optional<GeometryKind> KindHeld(const Scene& scene, PrimId prim) {
42
42
  return std::nullopt;
43
43
  }
44
44
 
45
- double Number(const Scene& scene, PrimId prim, std::string_view attribute) {
45
+ double RequireNumber(const Scene& scene, PrimId prim, std::string_view attribute) {
46
46
  const std::optional<Value> value = scene.GetOrFallback(prim, attribute);
47
47
  const std::optional<double> number = value ? ToNumber(*value) : std::nullopt;
48
48
  if (!number) {
@@ -88,25 +88,26 @@ glm::dmat4 ShapeTransform(const Scene& scene, PrimId prim, GeometryKind kind) {
88
88
  };
89
89
  switch (kind) {
90
90
  case GeometryKind::Sphere:
91
- return scaled(glm::dvec3(Number(scene, prim, Sphere::kRadius)));
91
+ return scaled(glm::dvec3(RequireNumber(scene, prim, Sphere::kRadius)));
92
92
  case GeometryKind::Cube:
93
- return scaled(glm::dvec3(0.5 * Number(scene, prim, Cube::kSize)));
93
+ return scaled(glm::dvec3(0.5 * RequireNumber(scene, prim, Cube::kSize)));
94
94
  case GeometryKind::Cylinder:
95
95
  case GeometryKind::Cone: {
96
- const double radius = Number(scene, prim, Cylinder::kRadius);
96
+ const double radius = RequireNumber(scene, prim, Cylinder::kRadius);
97
97
  return AxisTurn(scene, prim) *
98
- scaled({radius, radius, 0.5 * Number(scene, prim, Cylinder::kHeight)});
98
+ scaled({radius, radius, 0.5 * RequireNumber(scene, prim, Cylinder::kHeight)});
99
99
  }
100
100
  case GeometryKind::Capsule:
101
- return AxisTurn(scene, prim) * scaled(glm::dvec3(Number(scene, prim, Capsule::kRadius)));
101
+ return AxisTurn(scene, prim) *
102
+ scaled(glm::dvec3(RequireNumber(scene, prim, Capsule::kRadius)));
102
103
  case GeometryKind::Plane: {
103
104
  if (IsA(scene.Schema(prim), GroundPlane::Definition())) {
104
105
  return scaled({kGroundHalfWidth, kGroundHalfWidth, 1.0});
105
106
  }
106
107
  // Width along x, or z for an X normal; length along y, or z for a Y normal: under the
107
108
  // cyclic turn, the unit square's x carries the length unless the normal is z.
108
- const double width = 0.5 * Number(scene, prim, Plane::kWidth);
109
- const double length = 0.5 * Number(scene, prim, Plane::kLength);
109
+ const double width = 0.5 * RequireNumber(scene, prim, Plane::kWidth);
110
+ const double length = 0.5 * RequireNumber(scene, prim, Plane::kLength);
110
111
  const glm::dmat4 turn = AxisTurn(scene, prim);
111
112
  const bool normalZ = turn[2][2] == 1.0;
112
113
  return turn *
@@ -118,8 +119,8 @@ glm::dmat4 ShapeTransform(const Scene& scene, PrimId prim, GeometryKind kind) {
118
119
  return glm::dmat4(1.0);
119
120
  }
120
121
 
121
- /// @return Whether a changed attribute reshapes a gprim, moves a mesh's points, or remakes its
122
- /// topology.
122
+ /// What a changed attribute does to a gprim: reshapes it, moves a mesh's points, remakes its
123
+ /// topology, or recolours it.
123
124
  struct Touched {
124
125
  bool shape = false;
125
126
  bool points = false;
@@ -131,7 +132,7 @@ struct Touched {
131
132
  }
132
133
  };
133
134
 
134
- Touched Classify(std::string_view attribute) {
135
+ Touched ClassifyAttribute(std::string_view attribute) {
135
136
  if (attribute == Gprim::kDisplayColor) {
136
137
  return {.colour = true};
137
138
  }
@@ -257,7 +258,7 @@ void GeometryPool::UploadMesh(PrimId prim, GeometryId id, bool topology, Changes
257
258
  }
258
259
 
259
260
  void GeometryPool::Place(PrimId prim, bool points, bool topology, Changes& changes) {
260
- const std::optional<GeometryKind> kind = KindHeld(scene_, prim);
261
+ const std::optional<GeometryKind> kind = FindGeometryKind(scene_, prim);
261
262
  if (!kind) {
262
263
  return;
263
264
  }
@@ -273,9 +274,9 @@ void GeometryPool::Place(PrimId prim, bool points, bool topology, Changes& chang
273
274
  UploadMesh(prim, next.geometry, topology || !known, changes);
274
275
  }
275
276
  } else if (*kind == GeometryKind::Capsule) {
276
- const double radius = Number(scene_, prim, Capsule::kRadius);
277
+ const double radius = RequireNumber(scene_, prim, Capsule::kRadius);
277
278
  const auto halfLength =
278
- static_cast<float>(0.5 * Number(scene_, prim, Capsule::kHeight) / radius);
279
+ static_cast<float>(0.5 * RequireNumber(scene_, prim, Capsule::kHeight) / radius);
279
280
  next.geometry = known ? placed->geometry
280
281
  : Allocate({.kind = GeometryKind::Capsule,
281
282
  .box = arenas_.Allocate(6 * sizeof(float))});
@@ -332,7 +333,7 @@ GeometryPool::Changes GeometryPool::Update() {
332
333
  }
333
334
  // Values the host authored: shapes, points, topology and colours.
334
335
  for (const ChangeSet::Values& values : changeSet.values) {
335
- const Touched touched = Classify(store.Tokens().Text(values.attribute));
336
+ const Touched touched = ClassifyAttribute(store.Tokens().Text(values.attribute));
336
337
  if (!touched.Any()) {
337
338
  continue;
338
339
  }
@@ -13,16 +13,6 @@ namespace {
13
13
 
14
14
  constexpr std::uint32_t kNoRow = std::numeric_limits<std::uint32_t>::max();
15
15
 
16
- InstanceTable::Shape RowMajor(const glm::dmat4& m) {
17
- InstanceTable::Shape rows{};
18
- for (int r = 0; r < 3; ++r) {
19
- for (int c = 0; c < 4; ++c) {
20
- rows[static_cast<std::size_t>(r * 4 + c)] = static_cast<float>(m[c][r]);
21
- }
22
- }
23
- return rows;
24
- }
25
-
26
16
  } // namespace
27
17
 
28
18
  InstanceTable::InstanceTable(DeviceContext& context, Arenas& arenas)
@@ -48,7 +38,7 @@ void InstanceTable::Set(std::uint32_t row, const PrimGeometry& placed) {
48
38
  prims_[row] = placed.prim;
49
39
  hostNodes_[row] = placed.prim.slot;
50
40
  hostGeometries_[row] = placed.geometry;
51
- hostShapes_[row] = RowMajor(placed.shape);
41
+ hostShapes_[row] = ToAffineRows(placed.shape);
52
42
  hostColours_[row] = placed.colour;
53
43
  rows_[placed.prim.slot] = row;
54
44
  dirty_.push_back(row);
@@ -8,6 +8,7 @@
8
8
  #include "ernie/device/staging.h"
9
9
  #include "ernie/graph/graph.h"
10
10
  #include "ernie/render/geometry.h"
11
+ #include "ernie/util/glm.h"
11
12
 
12
13
  #include <array>
13
14
  #include <cstdint>
@@ -23,7 +24,7 @@ namespace ernie {
23
24
  /// is found with `Row`.
24
25
  class InstanceTable {
25
26
  public:
26
- using Shape = std::array<float, 12>;
27
+ using Shape = std::array<glm::vec4, 3>;
27
28
 
28
29
  /// @param arenas Where the columns live.
29
30
  InstanceTable(DeviceContext& context, Arenas& arenas);
@@ -88,10 +88,21 @@ BottomBuild BottomLevels::Build(GeometryId id, bool refit, std::vector<TriangleG
88
88
 
89
89
  void BottomLevels::AddBuilds(graph::Graph& graph) {
90
90
  ERNIE_ZONE("Prepare the bottom levels");
91
- // Compacted sizes that have come back: each level moves into a structure of its size.
92
- std::vector<
93
- std::pair<std::shared_ptr<AccelerationStructure>, std::shared_ptr<AccelerationStructure>>>
94
- compactions;
91
+ Moves moves = TakeCompactedSizes();
92
+ FrameBuilds builds = PlanBuilds();
93
+ Compaction compaction = StartCompactionQuery(builds.built);
94
+ AddAddressUpload(graph);
95
+ if (!builds.builds.empty() || !moves.empty()) {
96
+ AddBuildPass(graph, std::move(builds), std::move(moves), compaction);
97
+ }
98
+ if (!compaction.geometries.empty()) {
99
+ compactions_.push_back(std::move(compaction));
100
+ }
101
+ }
102
+
103
+ BottomLevels::Moves BottomLevels::TakeCompactedSizes() {
104
+ // Each level whose compacted size came back moves into a structure of that size.
105
+ Moves moves;
95
106
  std::erase_if(compactions_, [&](Compaction& compaction) {
96
107
  const std::optional<std::vector<std::uint64_t>> sizes = compaction.query->Sizes();
97
108
  if (!sizes) {
@@ -110,21 +121,20 @@ void BottomLevels::AddBuilds(graph::Graph& graph) {
110
121
  pool_, sizesCompacted, level.structure->Name() + " compacted");
111
122
  ++totals_.compacted;
112
123
  totals_.saved += level.structure->Sizes().storage - sizesCompacted.storage;
113
- compactions.emplace_back(level.structure, compacted);
124
+ moves.emplace_back(level.structure, compacted);
114
125
  level.structure = compacted;
115
126
  SetAddress(compaction.geometries[i], compacted->Address());
116
127
  }
117
128
  return true;
118
129
  });
130
+ return moves;
131
+ }
119
132
 
120
- // This frame's builds, under the scratch budget.
121
- std::vector<TriangleGeometry> triangles;
122
- std::vector<BoxGeometry> boxes;
123
- triangles.reserve(pending_.size());
124
- boxes.reserve(pending_.size());
125
- std::vector<BottomBuild> builds;
126
- std::vector<GeometryId> built;
127
- std::uint64_t scratch = 0;
133
+ BottomLevels::FrameBuilds BottomLevels::PlanBuilds() {
134
+ FrameBuilds frame;
135
+ // Builds point into these, so they hold every geometry without growing.
136
+ frame.triangles.reserve(pending_.size());
137
+ frame.boxes.reserve(pending_.size());
128
138
  std::vector<Work> later;
129
139
  for (const Work& work : pending_) {
130
140
  const Geometry& geometry = geometry_.Get(work.geometry);
@@ -143,7 +153,7 @@ void BottomLevels::AddBuilds(graph::Graph& graph) {
143
153
  ? Sizes(context_, input.triangles, flags)
144
154
  : Sizes(context_, input.boxes, flags);
145
155
  // Over the budget, the level keeps tracing as it was until a later frame.
146
- if (!builds.empty() && scratch + sizes.buildScratch > scratchBudget_) {
156
+ if (!frame.builds.empty() && frame.scratch + sizes.buildScratch > scratchBudget_) {
147
157
  later.push_back(work);
148
158
  continue;
149
159
  }
@@ -155,16 +165,19 @@ void BottomLevels::AddBuilds(graph::Graph& graph) {
155
165
  ++level.refits;
156
166
  }
157
167
  ++(work.refit ? totals_.refitted : totals_.built);
158
- const BottomBuild build = Build(work.geometry, work.refit, triangles, boxes);
159
- scratch +=
168
+ const BottomBuild build = Build(work.geometry, work.refit, frame.triangles, frame.boxes);
169
+ frame.scratch +=
160
170
  work.refit ? build.target->Sizes().updateScratch : build.target->Sizes().buildScratch;
161
- builds.push_back(build);
162
- built.push_back(work.geometry);
171
+ frame.builds.push_back(build);
172
+ frame.built.push_back(work.geometry);
163
173
  SetAddress(work.geometry, level.structure->Address());
164
174
  }
165
175
  pending_ = std::move(later);
176
+ return frame;
177
+ }
166
178
 
167
- // Static levels built now have their compacted sizes read back for a later frame.
179
+ BottomLevels::Compaction BottomLevels::StartCompactionQuery(const std::vector<GeometryId>& built) {
180
+ // Static levels have their compacted sizes read back for a later frame.
168
181
  Compaction compaction;
169
182
  for (const GeometryId geometry : built) {
170
183
  Level& level = levels_[geometry];
@@ -174,30 +187,33 @@ void BottomLevels::AddBuilds(graph::Graph& graph) {
174
187
  compaction.structures.push_back(level.structure);
175
188
  }
176
189
  }
177
- CompactionQuery* query = nullptr;
178
190
  if (!compaction.geometries.empty()) {
179
191
  compaction.query = std::make_unique<CompactionQuery>(
180
192
  context_, static_cast<std::uint32_t>(compaction.geometries.size()));
181
- query = compaction.query.get();
182
193
  }
194
+ return compaction;
195
+ }
183
196
 
184
- if (!dirtyAddresses_.empty()) {
185
- addresses_->Resize(hostAddresses_.size(), context_.Main());
186
- StageRows(uploader_, *addresses_, hostAddresses_, dirtyAddresses_);
187
- dirtyAddresses_.clear();
188
- graph::Buffer addresses = graph.Import(*addresses_);
189
- graph::AddUploadPass(graph, "Upload bottom-level addresses", uploader_,
190
- std::span(&addresses, 1));
191
- }
192
- if (builds.empty() && compactions.empty()) {
197
+ void BottomLevels::AddAddressUpload(graph::Graph& graph) {
198
+ if (dirtyAddresses_.empty()) {
193
199
  return;
194
200
  }
201
+ addresses_->Resize(hostAddresses_.size(), context_.Main());
202
+ StageRows(uploader_, *addresses_, hostAddresses_, dirtyAddresses_);
203
+ dirtyAddresses_.clear();
204
+ graph::Buffer addresses = graph.Import(*addresses_);
205
+ graph::AddUploadPass(graph, "Upload bottom-level addresses", uploader_,
206
+ std::span(&addresses, 1));
207
+ }
195
208
 
209
+ void BottomLevels::AddBuildPass(graph::Graph& graph, FrameBuilds frame, Moves moves,
210
+ const Compaction& compaction) {
196
211
  graph::Acceleration levels = graph.Import(pool_);
197
212
  std::vector<graph::Buffer> inputs = geometry_.Import(graph);
198
213
  graph::Buffer scratchBuffer =
199
- scratch > 0 ? graph.Create(ScratchBytes(builds, {}), "bottom-level scratch")
200
- : graph::Buffer{};
214
+ frame.scratch > 0 ? graph.Create(ScratchBytes(frame.builds, {}), "bottom-level scratch")
215
+ : graph::Buffer{};
216
+ CompactionQuery* query = compaction.query.get();
201
217
  std::vector<const AccelerationStructure*> queried(compaction.structures.size());
202
218
  std::ranges::transform(compaction.structures, queried.begin(),
203
219
  [](const auto& structure) { return structure.get(); });
@@ -213,17 +229,16 @@ void BottomLevels::AddBuilds(graph::Graph& graph) {
213
229
  pass.Read(levels, graph::Use::BuildInput);
214
230
  levels = pass.Build(levels);
215
231
  },
216
- [builds = std::move(builds), triangles = std::move(triangles), boxes = std::move(boxes),
217
- compactions = std::move(compactions), queried, query,
232
+ [frame = std::move(frame), moves = std::move(moves), queried, query,
218
233
  scratchBuffer](graph::PassContext& pass) {
219
- for (const auto& [source, compacted] : compactions) {
234
+ for (const auto& [source, compacted] : moves) {
220
235
  RecordCompaction(pass.commands, *source, *compacted);
221
236
  // The copy reads the source: it goes once this frame's work is done.
222
237
  pass.Keep(source);
223
238
  }
224
- if (!builds.empty()) {
239
+ if (!frame.builds.empty()) {
225
240
  const graph::BufferSlice space = pass.Get(scratchBuffer);
226
- RecordBuilds(pass.commands, builds, {}, {space.buffer, space.offset});
241
+ RecordBuilds(pass.commands, frame.builds, {}, {space.buffer, space.offset});
227
242
  }
228
243
  if (query != nullptr) {
229
244
  // Sizes are written once the builds are done.
@@ -234,9 +249,6 @@ void BottomLevels::AddBuilds(graph::Graph& graph) {
234
249
  query->Record(pass.commands, queried);
235
250
  }
236
251
  });
237
- if (!compaction.geometries.empty()) {
238
- compactions_.push_back(std::move(compaction));
239
- }
240
252
  }
241
253
 
242
254
  } // namespace ernie
@@ -83,12 +83,33 @@ class BottomLevels {
83
83
  std::vector<std::shared_ptr<AccelerationStructure>> structures;
84
84
  };
85
85
 
86
+ /// Levels moving into compacted copies: each source, then its copy.
87
+ using Moves = std::vector<
88
+ std::pair<std::shared_ptr<AccelerationStructure>, std::shared_ptr<AccelerationStructure>>>;
89
+ /// A frame's builds and refits, and the geometry they read.
90
+ struct FrameBuilds {
91
+ std::vector<TriangleGeometry> triangles;
92
+ std::vector<BoxGeometry> boxes;
93
+ std::vector<BottomBuild> builds;
94
+ std::vector<GeometryId> built;
95
+ std::uint64_t scratch = 0;
96
+ };
97
+
86
98
  Level& At(GeometryId geometry);
87
99
  void Queue(GeometryId geometry, bool refit);
88
100
  void SetAddress(GeometryId geometry, std::uint64_t address);
89
101
  /// @return The triangles or box a geometry's level is built over.
90
102
  BottomBuild Build(GeometryId geometry, bool refit, std::vector<TriangleGeometry>& triangles,
91
103
  std::vector<BoxGeometry>& boxes) const;
104
+ /// @return The moves of levels whose compacted sizes have come back.
105
+ Moves TakeCompactedSizes();
106
+ /// @return The pending builds that fit the scratch budget; the rest wait for a later frame.
107
+ FrameBuilds PlanBuilds();
108
+ /// @return The query reading back the compacted sizes of the static levels just built.
109
+ Compaction StartCompactionQuery(const std::vector<GeometryId>& built);
110
+ void AddAddressUpload(graph::Graph& graph);
111
+ void AddBuildPass(graph::Graph& graph, FrameBuilds builds, Moves moves,
112
+ const Compaction& compaction);
92
113
 
93
114
  DeviceContext& context_;
94
115
  const GeometryPool& geometry_;
@@ -10,7 +10,6 @@
10
10
  #include "ernie/shaders/spectral/spectrum.h"
11
11
  #include "ernie/util/math.h"
12
12
 
13
- #include <glm/gtc/matrix_access.hpp>
14
13
  #include <glm/gtc/matrix_transform.hpp>
15
14
 
16
15
  #include <algorithm>
@@ -25,7 +24,7 @@ constexpr std::uint32_t kNoImage = 0xffffffff;
25
24
 
26
25
  /// A view as camera.slang's `View` reads it.
27
26
  struct ViewRecord {
28
- glm::vec4 rows[3];
27
+ std::array<glm::vec4, 3> rows;
29
28
  glm::vec2 halfExtent;
30
29
  glm::uvec2 size;
31
30
  glm::vec3 background;
@@ -51,19 +50,17 @@ std::vector<std::uint32_t> Compile(const ShaderCompiler& compiler) {
51
50
 
52
51
  /// @return A view's record, its output addresses left for the pass to fill in once the graph has
53
52
  /// placed them.
54
- ViewRecord Record(const PinholeView& view, const CameraOutputs& outputs, const glm::dvec3& origin) {
53
+ ViewRecord ToViewRecord(const PinholeView& view, const CameraOutputs& outputs,
54
+ const glm::dvec3& origin) {
55
55
  // Relative to the origin in double, then rounded: values near the camera stay small.
56
56
  const glm::dmat4 relative = glm::translate(glm::dmat4(1.0), -origin) * view.cameraToWorld;
57
57
  const double tangent = std::tan(0.5 * view.verticalFov);
58
58
  const double aspect = static_cast<double>(view.size.x) / static_cast<double>(view.size.y);
59
- ViewRecord record{.halfExtent = glm::vec2(tangent * aspect, tangent),
60
- .size = view.size,
61
- .background = outputs.background,
62
- .colour = outputs.colour ? outputs.colourIndex.value : kNoImage};
63
- for (int r = 0; r < 3; ++r) {
64
- record.rows[r] = glm::vec4(glm::row(relative, r));
65
- }
66
- return record;
59
+ return {.rows = ToAffineRows(relative),
60
+ .halfExtent = glm::vec2(tangent * aspect, tangent),
61
+ .size = view.size,
62
+ .background = outputs.background,
63
+ .colour = outputs.colour ? outputs.colourIndex.value : kNoImage};
67
64
  }
68
65
 
69
66
  } // namespace
@@ -89,7 +86,7 @@ void CameraPass::Add(graph::Graph& graph, std::span<CameraView> views) const {
89
86
  std::vector<ViewRecord> records;
90
87
  glm::uvec2 largest{0};
91
88
  for (const CameraView& view : views) {
92
- records.push_back(Record(view.view, view.outputs, scene->origin));
89
+ records.push_back(ToViewRecord(view.view, view.outputs, scene->origin));
93
90
  largest = glm::max(largest, view.view.size);
94
91
  }
95
92
  graph::Buffer staged = graph.Create(records.size() * sizeof(ViewRecord), "camera views");