ernie-renderer 0.2.0.dev153__tar.gz → 0.2.0.dev161__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 (945) hide show
  1. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/CMakeLists.txt +4 -1
  2. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/PKG-INFO +1 -1
  3. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/benchmarks/CMakeLists.txt +1 -0
  4. ernie_renderer-0.2.0.dev161/benchmarks/render/hide_seek.cpp +276 -0
  5. ernie_renderer-0.2.0.dev161/cmake/EmbedFile.cmake +16 -0
  6. ernie_renderer-0.2.0.dev161/cmake/third_party/fonts.cmake +71 -0
  7. ernie_renderer-0.2.0.dev161/demos/CMakeLists.txt +6 -0
  8. ernie_renderer-0.2.0.dev161/demos/basics/demo_basics_bounce.cpp +72 -0
  9. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/app/CMakeLists.txt +14 -3
  10. ernie_renderer-0.2.0.dev161/ernie/app/capture.cpp +131 -0
  11. ernie_renderer-0.2.0.dev161/ernie/app/capture.h +57 -0
  12. ernie_renderer-0.2.0.dev161/ernie/app/demo.cpp +64 -0
  13. ernie_renderer-0.2.0.dev161/ernie/app/demo.h +105 -0
  14. ernie_renderer-0.2.0.dev161/ernie/app/icons.h +99 -0
  15. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/app/imgui_backend.cpp +35 -1
  16. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/app/imgui_backend.h +3 -0
  17. ernie_renderer-0.2.0.dev161/ernie/app/timeline.cpp +58 -0
  18. ernie_renderer-0.2.0.dev161/ernie/app/timeline.h +64 -0
  19. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/app/ui.cpp +1472 -57
  20. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/app/ui.h +229 -8
  21. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/app/viewer.cpp +189 -2
  22. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/app/viewer.h +53 -1
  23. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/io/image.cpp +16 -0
  24. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/io/image.h +6 -0
  25. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/python/device.cpp +15 -13
  26. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/python/device.h +7 -0
  27. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/python/render.cpp +31 -14
  28. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/device_scene.cpp +18 -7
  29. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/device_scene.h +14 -7
  30. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/geometry.cpp +75 -6
  31. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/geometry.h +29 -0
  32. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/instances.cpp +101 -33
  33. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/instances.h +21 -7
  34. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/products.cpp +1 -0
  35. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/products.h +2 -0
  36. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/renderer.cpp +57 -35
  37. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/renderer.h +6 -2
  38. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/rt/camera_pass.cpp +3 -1
  39. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/rt/camera_pass.h +2 -0
  40. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/storage.cpp +7 -0
  41. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/storage.h +2 -0
  42. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/shaders/CMakeLists.txt +1 -0
  43. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/shaders/device/buffer_ref.slang +18 -0
  44. ernie_renderer-0.2.0.dev161/ernie/shaders/scene/world_layout.slang +76 -0
  45. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/shaders/sensors/camera.slang +8 -2
  46. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/CMakeLists.txt +5 -0
  47. ernie_renderer-0.2.0.dev161/ernie/util/process.cpp +141 -0
  48. ernie_renderer-0.2.0.dev161/ernie/util/process.h +29 -0
  49. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/CMakeLists.txt +8 -2
  50. ernie_renderer-0.2.0.dev161/tests/app/capture_test.cpp +46 -0
  51. ernie_renderer-0.2.0.dev161/tests/app/demo_test.cpp +55 -0
  52. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/app/shell_test.cpp +124 -0
  53. ernie_renderer-0.2.0.dev161/tests/app/timeline_test.cpp +49 -0
  54. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/app/viewer_test.cpp +92 -2
  55. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/python/test_device_torch.py +38 -0
  56. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/render/device_scene_test.cpp +76 -0
  57. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/render/geometry_test.cpp +34 -0
  58. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/render/renderer_test.cpp +52 -3
  59. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/.clang-format +0 -0
  60. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/.clang-tidy +0 -0
  61. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/.dockerignore +0 -0
  62. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/.gersemirc +0 -0
  63. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/.gitattributes +0 -0
  64. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/.github/scripts/coverage_badge.py +0 -0
  65. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/.github/scripts/install-lavapipe-windows.sh +0 -0
  66. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/.github/workflows/ci.yml +0 -0
  67. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/.gitignore +0 -0
  68. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/.pre-commit-config.yaml +0 -0
  69. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/CMakePresets.json +0 -0
  70. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/Dockerfile +0 -0
  71. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/LICENSE +0 -0
  72. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/README.md +0 -0
  73. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/benchmarks/bench.h +0 -0
  74. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/benchmarks/device/pose_step.cpp +0 -0
  75. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/benchmarks/main.cpp +0 -0
  76. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/benchmarks/render/batch_step.cpp +0 -0
  77. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/benchmarks/render/transform_graph.cpp +0 -0
  78. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/benchmarks/scene/extents.cpp +0 -0
  79. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/benchmarks/scene/storage.cpp +0 -0
  80. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/cmake/EmbedShader.cmake +0 -0
  81. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/cmake/ErnieConfig.cmake.in +0 -0
  82. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/cmake/ErnieFetch.cmake +0 -0
  83. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/cmake/ErnieInstall.cmake +0 -0
  84. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/cmake/ErniePackaging.cmake +0 -0
  85. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/cmake/ErnieShaders.cmake +0 -0
  86. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/cmake/ErnieTesting.cmake +0 -0
  87. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/cmake/ernie.pc.in +0 -0
  88. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/cmake/third_party/dear_imgui.cmake +0 -0
  89. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/cmake/third_party/glfw.cmake +0 -0
  90. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/cmake/third_party/googletest.cmake +0 -0
  91. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/cmake/third_party/nanobind.cmake +0 -0
  92. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/cmake/third_party/openexr.cmake +0 -0
  93. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/cmake/third_party/slang.cmake +0 -0
  94. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/cmake/third_party/tracy.cmake +0 -0
  95. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/docs/README.md +0 -0
  96. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/docs/index.md +0 -0
  97. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/docs/requirements.txt +0 -0
  98. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/CMakeLists.txt +0 -0
  99. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/app/create.cpp +0 -0
  100. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/app/create.h +0 -0
  101. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/app/main.cpp +0 -0
  102. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/CMakeLists.txt +0 -0
  103. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/acceleration.cpp +0 -0
  104. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/acceleration.h +0 -0
  105. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/arena.cpp +0 -0
  106. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/arena.h +0 -0
  107. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/bindless.cpp +0 -0
  108. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/bindless.h +0 -0
  109. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/buffer.cpp +0 -0
  110. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/buffer.h +0 -0
  111. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/column.cpp +0 -0
  112. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/column.h +0 -0
  113. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/commands.cpp +0 -0
  114. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/commands.h +0 -0
  115. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/context.cpp +0 -0
  116. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/context.h +0 -0
  117. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/cuda.cpp +0 -0
  118. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/cuda.h +0 -0
  119. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/device.h +0 -0
  120. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/external.cpp +0 -0
  121. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/external.h +0 -0
  122. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/image.cpp +0 -0
  123. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/image.h +0 -0
  124. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/instance.cpp +0 -0
  125. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/instance.h +0 -0
  126. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/kernel.cpp +0 -0
  127. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/kernel.h +0 -0
  128. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/profile.cpp +0 -0
  129. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/profile.h +0 -0
  130. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/queue.cpp +0 -0
  131. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/queue.h +0 -0
  132. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/shader_compiler.cpp +0 -0
  133. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/shader_compiler.h +0 -0
  134. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/staging.cpp +0 -0
  135. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/staging.h +0 -0
  136. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/vulkan.cpp +0 -0
  137. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/device/vulkan.h +0 -0
  138. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/geometry/CMakeLists.txt +0 -0
  139. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/geometry/bounds.h +0 -0
  140. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/geometry/triangulation.cpp +0 -0
  141. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/geometry/triangulation.h +0 -0
  142. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/graph/CMakeLists.txt +0 -0
  143. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/graph/blackboard.h +0 -0
  144. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/graph/dependencies.cpp +0 -0
  145. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/graph/dependencies.h +0 -0
  146. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/graph/graph.cpp +0 -0
  147. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/graph/graph.h +0 -0
  148. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/graph/pool.cpp +0 -0
  149. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/graph/pool.h +0 -0
  150. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/io/CMakeLists.txt +0 -0
  151. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/io/ies.cpp +0 -0
  152. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/io/ies.h +0 -0
  153. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/io/nanovdb.cpp +0 -0
  154. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/io/nanovdb.h +0 -0
  155. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/io/raster.cpp +0 -0
  156. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/io/raster.h +0 -0
  157. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/io/texture.cpp +0 -0
  158. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/io/texture.h +0 -0
  159. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/CMakeLists.txt +0 -0
  160. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/astronomy.cpp +0 -0
  161. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/astronomy.h +0 -0
  162. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/atmosphere.cpp +0 -0
  163. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/atmosphere.h +0 -0
  164. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/cloud.cpp +0 -0
  165. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/cloud.h +0 -0
  166. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/constants.h +0 -0
  167. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/reflectance_library.cpp +0 -0
  168. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/reflectance_library.h +0 -0
  169. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/reflectance_table.h +0 -0
  170. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/regolith.cpp +0 -0
  171. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/regolith.h +0 -0
  172. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/scattering.cpp +0 -0
  173. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/scattering.h +0 -0
  174. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/solar.cpp +0 -0
  175. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/solar.h +0 -0
  176. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/solar_table.h +0 -0
  177. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/spectrum.cpp +0 -0
  178. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/physics/spectrum.h +0 -0
  179. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/python/CMakeLists.txt +0 -0
  180. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/python/dlpack.cpp +0 -0
  181. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/python/dlpack.h +0 -0
  182. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/python/ernie/__init__.py +0 -0
  183. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/python/module.cpp +0 -0
  184. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/python/render.h +0 -0
  185. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/python/scene.cpp +0 -0
  186. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/python/scene.h +0 -0
  187. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/CMakeLists.txt +0 -0
  188. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/prim_rows.cpp +0 -0
  189. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/prim_rows.h +0 -0
  190. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/rt/bottom_levels.cpp +0 -0
  191. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/rt/bottom_levels.h +0 -0
  192. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/rt/ray_tracer.cpp +0 -0
  193. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/rt/ray_tracer.h +0 -0
  194. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/rt/top_levels.cpp +0 -0
  195. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/rt/top_levels.h +0 -0
  196. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/scene_columns.cpp +0 -0
  197. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/scene_columns.h +0 -0
  198. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/transform_graph.cpp +0 -0
  199. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/render/transform_graph.h +0 -0
  200. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/CMakeLists.txt +0 -0
  201. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/animation.cpp +0 -0
  202. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/convert.h +0 -0
  203. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/edit_history.cpp +0 -0
  204. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/edit_history.h +0 -0
  205. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/extent_cache.cpp +0 -0
  206. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/extent_cache.h +0 -0
  207. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/holder_index.cpp +0 -0
  208. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/holder_index.h +0 -0
  209. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/inherit.cpp +0 -0
  210. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/json.cpp +0 -0
  211. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/json.h +0 -0
  212. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/json_value.h +0 -0
  213. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/path.cpp +0 -0
  214. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/path.h +0 -0
  215. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/reference.cpp +0 -0
  216. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/reference.h +0 -0
  217. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/scene.cpp +0 -0
  218. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/scene.h +0 -0
  219. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/camera.cpp +0 -0
  220. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/camera.h +0 -0
  221. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/collection.h +0 -0
  222. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/geom.cpp +0 -0
  223. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/geom.h +0 -0
  224. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/instancer.cpp +0 -0
  225. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/instancer.h +0 -0
  226. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/lux.cpp +0 -0
  227. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/lux.h +0 -0
  228. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/mesh.cpp +0 -0
  229. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/mesh.h +0 -0
  230. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/planet.cpp +0 -0
  231. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/planet.h +0 -0
  232. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/registry.cpp +0 -0
  233. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/render.cpp +0 -0
  234. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/render.h +0 -0
  235. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/shade.cpp +0 -0
  236. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/shade.h +0 -0
  237. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/vol.cpp +0 -0
  238. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema/vol.h +0 -0
  239. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema.cpp +0 -0
  240. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/schema.h +0 -0
  241. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/time_samples.cpp +0 -0
  242. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/time_samples.h +0 -0
  243. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/tokens.h +0 -0
  244. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/usd_plugin.cpp +0 -0
  245. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/validate.cpp +0 -0
  246. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/value.h +0 -0
  247. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/view.cpp +0 -0
  248. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/view.h +0 -0
  249. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/xform.cpp +0 -0
  250. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/scene/xform.h +0 -0
  251. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/shaders/device/bindless.slang +0 -0
  252. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/shaders/math/affine.slang +0 -0
  253. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/shaders/math/double_float.slang +0 -0
  254. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/shaders/rt/ray_tracer.slang +0 -0
  255. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/shaders/rt/write_instances.slang +0 -0
  256. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/shaders/scene/geometry.slang +0 -0
  257. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/shaders/scene/instance_colours.slang +0 -0
  258. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/shaders/scene/shapes.slang +0 -0
  259. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/shaders/scene/transform.slang +0 -0
  260. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/shaders/sensors/lens.slang +0 -0
  261. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/shaders/shared.h +0 -0
  262. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/shaders/spectral/spectrum.slang +0 -0
  263. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/algorithm.h +0 -0
  264. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/bytes.h +0 -0
  265. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/disk_cache.cpp +0 -0
  266. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/disk_cache.h +0 -0
  267. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/file.cpp +0 -0
  268. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/file.h +0 -0
  269. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/glm.h +0 -0
  270. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/hash_index.h +0 -0
  271. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/library.cpp +0 -0
  272. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/library.h +0 -0
  273. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/linear_algebra.h +0 -0
  274. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/log.cpp +0 -0
  275. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/log.h +0 -0
  276. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/math.h +0 -0
  277. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/noise.cpp +0 -0
  278. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/noise.h +0 -0
  279. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/numbers.h +0 -0
  280. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/on_failure.h +0 -0
  281. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/parallel.h +0 -0
  282. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/profiler.cpp +0 -0
  283. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/profiler.h +0 -0
  284. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/random.h +0 -0
  285. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/tensor.cpp +0 -0
  286. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/tensor.h +0 -0
  287. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/text.h +0 -0
  288. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/version.cpp +0 -0
  289. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/version.h +0 -0
  290. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/ernie/util/worker_pool.h +0 -0
  291. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/mkdocs.yml +0 -0
  292. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/pyproject.toml +0 -0
  293. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/app/orbit_camera_test.cpp +0 -0
  294. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/app/view_test.cpp +0 -0
  295. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/common.h +0 -0
  296. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/consumer/CMakeLists.txt +0 -0
  297. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/consumer/first_render.cpp +0 -0
  298. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/consumer/main.cpp +0 -0
  299. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/device/acceleration_test.cpp +0 -0
  300. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/device/arena_test.cpp +0 -0
  301. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/device/bindless_test.cpp +0 -0
  302. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/device/column_test.cpp +0 -0
  303. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/device/columns.h +0 -0
  304. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/device/common.h +0 -0
  305. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/device/context_test.cpp +0 -0
  306. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/device/cuda_test.cpp +0 -0
  307. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/device/external_test.cpp +0 -0
  308. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/device/kernel_test.cpp +0 -0
  309. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/device/pose_step.h +0 -0
  310. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/device/profile_test.cpp +0 -0
  311. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/device/vulkan_devices_test.cpp +0 -0
  312. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/exr/README.md +0 -0
  313. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/exr/make_exr.py +0 -0
  314. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/exr/rgb_float_zip.exr +0 -0
  315. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/exr/rgba_half_window.exr +0 -0
  316. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/exr/y_half_zips.exr +0 -0
  317. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/ies/README.md +0 -0
  318. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/ies/downlight_quadrant.ies +0 -0
  319. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/ies/floodlight_type_b.ies +0 -0
  320. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/ies/lamp.tilt +0 -0
  321. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/images/grey16.png +0 -0
  322. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/ktx2/README.md +0 -0
  323. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/ktx2/quadrants_etc1s.ktx2 +0 -0
  324. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/ktx2/quadrants_uastc_zstd.ktx2 +0 -0
  325. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/ktx2/tilted_normal_etc1s.ktx2 +0 -0
  326. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/ktx2/tilted_normal_uastc.ktx2 +0 -0
  327. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/scenes/README.md +0 -0
  328. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/scenes/invalid/problems.expected +0 -0
  329. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/scenes/invalid/problems.json +0 -0
  330. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/scenes/rover.json +0 -0
  331. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/scenes/rover.saved.json +0 -0
  332. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/tiff/README.md +0 -0
  333. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/tiff/float_deflate_predictor3.tif +0 -0
  334. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/tiff/float_raw.tif +0 -0
  335. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/tiff/int16_bigtiff_bigendian.tif +0 -0
  336. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/tiff/rgb_lzw_predictor2.tif +0 -0
  337. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/tiff/rgb_planar_lzw.tif +0 -0
  338. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/tiff/rgb_planar_raw.tif +0 -0
  339. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/tiff/rgb_tiled_deflate.tif +0 -0
  340. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/volumes/cube.nvdb +0 -0
  341. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/fixtures/volumes/make_nvdb.py +0 -0
  342. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/geometry/bounds_test.cpp +0 -0
  343. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/geometry/triangulation_test.cpp +0 -0
  344. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/graph/dependencies_test.cpp +0 -0
  345. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/graph/graph_test.cpp +0 -0
  346. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/io/ies_test.cpp +0 -0
  347. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/io/image_test.cpp +0 -0
  348. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/io/nanovdb_test.cpp +0 -0
  349. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/io/raster_test.cpp +0 -0
  350. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/io/texture_test.cpp +0 -0
  351. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/physics/astronomy_test.cpp +0 -0
  352. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/physics/atmosphere_test.cpp +0 -0
  353. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/physics/cloud_test.cpp +0 -0
  354. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/physics/reflectance_library_test.cpp +0 -0
  355. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/physics/regolith_test.cpp +0 -0
  356. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/physics/scattering_test.cpp +0 -0
  357. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/physics/solar_test.cpp +0 -0
  358. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/physics/spectrum_test.cpp +0 -0
  359. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/python/conftest.py +0 -0
  360. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/python/test_device_dlpack.py +0 -0
  361. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/python/test_package.py +0 -0
  362. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/python/test_render.py +0 -0
  363. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/python/test_scene.py +0 -0
  364. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/python/test_scene_schema.py +0 -0
  365. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/render/acceleration_scene_test.cpp +0 -0
  366. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/render/camera_pass_test.cpp +0 -0
  367. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/render/common.h +0 -0
  368. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/render/gradients_test.cpp +0 -0
  369. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/render/ray_tracer_test.cpp +0 -0
  370. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/render/scene_columns_test.cpp +0 -0
  371. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/render/shaders_test.cpp +0 -0
  372. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/render/transform_graph_test.cpp +0 -0
  373. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/edit_history_test.cpp +0 -0
  374. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/extent_cache_test.cpp +0 -0
  375. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/inherit_test.cpp +0 -0
  376. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/instancer_test.cpp +0 -0
  377. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/json_test.cpp +0 -0
  378. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/lux_test.cpp +0 -0
  379. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/mesh_test.cpp +0 -0
  380. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/path_test.cpp +0 -0
  381. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/planet_test.cpp +0 -0
  382. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/reference_test.cpp +0 -0
  383. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/render_test.cpp +0 -0
  384. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/scene_test.cpp +0 -0
  385. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/schema_test.cpp +0 -0
  386. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/shade_test.cpp +0 -0
  387. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/storage_test.cpp +0 -0
  388. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/time_samples_test.cpp +0 -0
  389. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/vol_test.cpp +0 -0
  390. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/scene/xform_test.cpp +0 -0
  391. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/algorithm_test.cpp +0 -0
  392. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/bytes_test.cpp +0 -0
  393. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/disk_cache_test.cpp +0 -0
  394. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/file_test.cpp +0 -0
  395. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/hash_index_test.cpp +0 -0
  396. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/linear_algebra_test.cpp +0 -0
  397. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/log_test.cpp +0 -0
  398. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/math_test.cpp +0 -0
  399. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/noise_test.cpp +0 -0
  400. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/parallel_test.cpp +0 -0
  401. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/profiler_test.cpp +0 -0
  402. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/random_test.cpp +0 -0
  403. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/tensor_test.cpp +0 -0
  404. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/text_test.cpp +0 -0
  405. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/version_test.cpp +0 -0
  406. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/tests/util/worker_pool_test.cpp +0 -0
  407. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/CMakeLists.txt +0 -0
  408. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/README.md +0 -0
  409. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/LICENSE +0 -0
  410. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/LICENSES/Apache-2.0.txt +0 -0
  411. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/LICENSES/BSD-3-clause.txt +0 -0
  412. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/LICENSES/MIT.txt +0 -0
  413. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/NOTICE +0 -0
  414. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/README.md +0 -0
  415. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu.h +0 -0
  416. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_astc_cfgs.inl +0 -0
  417. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_astc_hdr_core.h +0 -0
  418. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_astc_helpers.h +0 -0
  419. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_containers.h +0 -0
  420. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_containers_impl.h +0 -0
  421. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_dds_transcoder.inl +0 -0
  422. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_etc1_mods.inl +0 -0
  423. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_file_headers.h +0 -0
  424. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_idct.h +0 -0
  425. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_transcoder.cpp +0 -0
  426. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_transcoder.h +0 -0
  427. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_transcoder_internal.h +0 -0
  428. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_transcoder_tables_astc.inc +0 -0
  429. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_transcoder_tables_astc_0_255.inc +0 -0
  430. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_55.inc +0 -0
  431. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_56.inc +0 -0
  432. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_alpha.inc +0 -0
  433. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_color.inc +0 -0
  434. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_5.inc +0 -0
  435. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_6.inc +0 -0
  436. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_45.inc +0 -0
  437. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_alpha_33.inc +0 -0
  438. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_transcoder_uastc.h +0 -0
  439. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_xbc7_decoder.h +0 -0
  440. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/transcoder/basisu_xbc7_decoder.inl +0 -0
  441. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/zstd/LICENSE +0 -0
  442. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/zstd/zstd.h +0 -0
  443. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/basisu/zstd/zstd_errors.h +0 -0
  444. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/bc7enc/LICENSE +0 -0
  445. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/bc7enc/README.md +0 -0
  446. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/bc7enc/bc7decomp.cpp +0 -0
  447. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/bc7enc/bc7decomp.h +0 -0
  448. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/bc7enc/bc7enc.cpp +0 -0
  449. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/bc7enc/bc7enc.h +0 -0
  450. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/bc7enc/rgbcx.cpp +0 -0
  451. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/bc7enc/rgbcx.h +0 -0
  452. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/bc7enc/rgbcx_table4.h +0 -0
  453. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/bc7enc/rgbcx_table4_small.h +0 -0
  454. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/dlpack/LICENSE +0 -0
  455. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/dlpack/README.md +0 -0
  456. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/dlpack/include/dlpack/dlpack.h +0 -0
  457. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/README.md +0 -0
  458. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/copying.txt +0 -0
  459. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/common.hpp +0 -0
  460. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/_features.hpp +0 -0
  461. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/_fixes.hpp +0 -0
  462. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/_noise.hpp +0 -0
  463. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/_swizzle.hpp +0 -0
  464. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/_swizzle_func.hpp +0 -0
  465. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/_vectorize.hpp +0 -0
  466. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/compute_common.hpp +0 -0
  467. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/compute_vector_decl.hpp +0 -0
  468. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/compute_vector_relational.hpp +0 -0
  469. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_common.inl +0 -0
  470. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_common_simd.inl +0 -0
  471. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_exponential.inl +0 -0
  472. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_exponential_simd.inl +0 -0
  473. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_geometric.inl +0 -0
  474. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_geometric_simd.inl +0 -0
  475. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_integer.inl +0 -0
  476. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_integer_simd.inl +0 -0
  477. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_matrix.inl +0 -0
  478. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_matrix_simd.inl +0 -0
  479. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_packing.inl +0 -0
  480. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_packing_simd.inl +0 -0
  481. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_trigonometric.inl +0 -0
  482. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_trigonometric_simd.inl +0 -0
  483. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_vector_relational.inl +0 -0
  484. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/func_vector_relational_simd.inl +0 -0
  485. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/qualifier.hpp +0 -0
  486. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/setup.hpp +0 -0
  487. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_float.hpp +0 -0
  488. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_half.hpp +0 -0
  489. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_half.inl +0 -0
  490. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat2x2.hpp +0 -0
  491. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat2x2.inl +0 -0
  492. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat2x3.hpp +0 -0
  493. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat2x3.inl +0 -0
  494. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat2x4.hpp +0 -0
  495. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat2x4.inl +0 -0
  496. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat3x2.hpp +0 -0
  497. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat3x2.inl +0 -0
  498. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat3x3.hpp +0 -0
  499. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat3x3.inl +0 -0
  500. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat3x4.hpp +0 -0
  501. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat3x4.inl +0 -0
  502. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat4x2.hpp +0 -0
  503. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat4x2.inl +0 -0
  504. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat4x3.hpp +0 -0
  505. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat4x3.inl +0 -0
  506. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat4x4.hpp +0 -0
  507. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat4x4.inl +0 -0
  508. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_mat4x4_simd.inl +0 -0
  509. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_quat.hpp +0 -0
  510. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_quat.inl +0 -0
  511. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_quat_simd.inl +0 -0
  512. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_vec1.hpp +0 -0
  513. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_vec1.inl +0 -0
  514. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_vec2.hpp +0 -0
  515. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_vec2.inl +0 -0
  516. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_vec3.hpp +0 -0
  517. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_vec3.inl +0 -0
  518. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_vec4.hpp +0 -0
  519. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_vec4.inl +0 -0
  520. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/detail/type_vec_simd.inl +0 -0
  521. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/exponential.hpp +0 -0
  522. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/_matrix_vectorize.hpp +0 -0
  523. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_clip_space.hpp +0 -0
  524. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_clip_space.inl +0 -0
  525. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_common.hpp +0 -0
  526. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_common.inl +0 -0
  527. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double2x2.hpp +0 -0
  528. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double2x2_precision.hpp +0 -0
  529. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double2x3.hpp +0 -0
  530. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double2x3_precision.hpp +0 -0
  531. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double2x4.hpp +0 -0
  532. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double2x4_precision.hpp +0 -0
  533. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double3x2.hpp +0 -0
  534. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double3x2_precision.hpp +0 -0
  535. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double3x3.hpp +0 -0
  536. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double3x3_precision.hpp +0 -0
  537. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double3x4.hpp +0 -0
  538. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double3x4_precision.hpp +0 -0
  539. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double4x2.hpp +0 -0
  540. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double4x2_precision.hpp +0 -0
  541. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double4x3.hpp +0 -0
  542. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double4x3_precision.hpp +0 -0
  543. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double4x4.hpp +0 -0
  544. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_double4x4_precision.hpp +0 -0
  545. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float2x2.hpp +0 -0
  546. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float2x2_precision.hpp +0 -0
  547. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float2x3.hpp +0 -0
  548. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float2x3_precision.hpp +0 -0
  549. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float2x4.hpp +0 -0
  550. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float2x4_precision.hpp +0 -0
  551. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float3x2.hpp +0 -0
  552. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float3x2_precision.hpp +0 -0
  553. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float3x3.hpp +0 -0
  554. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float3x3_precision.hpp +0 -0
  555. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float3x4.hpp +0 -0
  556. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float3x4_precision.hpp +0 -0
  557. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float4x2.hpp +0 -0
  558. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float4x2_precision.hpp +0 -0
  559. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float4x3.hpp +0 -0
  560. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float4x3_precision.hpp +0 -0
  561. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float4x4.hpp +0 -0
  562. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_float4x4_precision.hpp +0 -0
  563. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int2x2.hpp +0 -0
  564. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int2x2_sized.hpp +0 -0
  565. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int2x3.hpp +0 -0
  566. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int2x3_sized.hpp +0 -0
  567. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int2x4.hpp +0 -0
  568. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int2x4_sized.hpp +0 -0
  569. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int3x2.hpp +0 -0
  570. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int3x2_sized.hpp +0 -0
  571. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int3x3.hpp +0 -0
  572. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int3x3_sized.hpp +0 -0
  573. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int3x4.hpp +0 -0
  574. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int3x4_sized.hpp +0 -0
  575. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int4x2.hpp +0 -0
  576. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int4x2_sized.hpp +0 -0
  577. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int4x3.hpp +0 -0
  578. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int4x3_sized.hpp +0 -0
  579. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int4x4.hpp +0 -0
  580. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_int4x4_sized.hpp +0 -0
  581. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_integer.hpp +0 -0
  582. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_integer.inl +0 -0
  583. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_projection.hpp +0 -0
  584. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_projection.inl +0 -0
  585. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_relational.hpp +0 -0
  586. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_relational.inl +0 -0
  587. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_transform.hpp +0 -0
  588. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_transform.inl +0 -0
  589. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint2x2.hpp +0 -0
  590. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint2x2_sized.hpp +0 -0
  591. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint2x3.hpp +0 -0
  592. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint2x3_sized.hpp +0 -0
  593. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint2x4.hpp +0 -0
  594. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint2x4_sized.hpp +0 -0
  595. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint3x2.hpp +0 -0
  596. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint3x2_sized.hpp +0 -0
  597. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint3x3.hpp +0 -0
  598. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint3x3_sized.hpp +0 -0
  599. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint3x4.hpp +0 -0
  600. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint3x4_sized.hpp +0 -0
  601. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint4x2.hpp +0 -0
  602. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint4x2_sized.hpp +0 -0
  603. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint4x3.hpp +0 -0
  604. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint4x3_sized.hpp +0 -0
  605. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint4x4.hpp +0 -0
  606. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/matrix_uint4x4_sized.hpp +0 -0
  607. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_common.hpp +0 -0
  608. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_common.inl +0 -0
  609. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_common_simd.inl +0 -0
  610. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_double.hpp +0 -0
  611. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_double_precision.hpp +0 -0
  612. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_exponential.hpp +0 -0
  613. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_exponential.inl +0 -0
  614. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_float.hpp +0 -0
  615. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_float_precision.hpp +0 -0
  616. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_geometric.hpp +0 -0
  617. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_geometric.inl +0 -0
  618. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_relational.hpp +0 -0
  619. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_relational.inl +0 -0
  620. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_transform.hpp +0 -0
  621. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_transform.inl +0 -0
  622. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_trigonometric.hpp +0 -0
  623. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/quaternion_trigonometric.inl +0 -0
  624. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_common.hpp +0 -0
  625. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_common.inl +0 -0
  626. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_constants.hpp +0 -0
  627. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_constants.inl +0 -0
  628. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_int_sized.hpp +0 -0
  629. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_integer.hpp +0 -0
  630. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_integer.inl +0 -0
  631. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_packing.hpp +0 -0
  632. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_packing.inl +0 -0
  633. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_reciprocal.hpp +0 -0
  634. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_reciprocal.inl +0 -0
  635. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_relational.hpp +0 -0
  636. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_relational.inl +0 -0
  637. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_uint_sized.hpp +0 -0
  638. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_ulp.hpp +0 -0
  639. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/scalar_ulp.inl +0 -0
  640. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_bool1.hpp +0 -0
  641. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_bool1_precision.hpp +0 -0
  642. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_bool2.hpp +0 -0
  643. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_bool2_precision.hpp +0 -0
  644. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_bool3.hpp +0 -0
  645. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_bool3_precision.hpp +0 -0
  646. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_bool4.hpp +0 -0
  647. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_bool4_precision.hpp +0 -0
  648. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_common.hpp +0 -0
  649. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_common.inl +0 -0
  650. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_double1.hpp +0 -0
  651. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_double1_precision.hpp +0 -0
  652. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_double2.hpp +0 -0
  653. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_double2_precision.hpp +0 -0
  654. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_double3.hpp +0 -0
  655. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_double3_precision.hpp +0 -0
  656. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_double4.hpp +0 -0
  657. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_double4_precision.hpp +0 -0
  658. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_float1.hpp +0 -0
  659. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_float1_precision.hpp +0 -0
  660. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_float2.hpp +0 -0
  661. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_float2_precision.hpp +0 -0
  662. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_float3.hpp +0 -0
  663. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_float3_precision.hpp +0 -0
  664. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_float4.hpp +0 -0
  665. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_float4_precision.hpp +0 -0
  666. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_int1.hpp +0 -0
  667. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_int1_sized.hpp +0 -0
  668. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_int2.hpp +0 -0
  669. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_int2_sized.hpp +0 -0
  670. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_int3.hpp +0 -0
  671. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_int3_sized.hpp +0 -0
  672. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_int4.hpp +0 -0
  673. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_int4_sized.hpp +0 -0
  674. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_integer.hpp +0 -0
  675. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_integer.inl +0 -0
  676. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_packing.hpp +0 -0
  677. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_packing.inl +0 -0
  678. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_reciprocal.hpp +0 -0
  679. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_reciprocal.inl +0 -0
  680. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_relational.hpp +0 -0
  681. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_relational.inl +0 -0
  682. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_uint1.hpp +0 -0
  683. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_uint1_sized.hpp +0 -0
  684. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_uint2.hpp +0 -0
  685. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_uint2_sized.hpp +0 -0
  686. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_uint3.hpp +0 -0
  687. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_uint3_sized.hpp +0 -0
  688. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_uint4.hpp +0 -0
  689. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_uint4_sized.hpp +0 -0
  690. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_ulp.hpp +0 -0
  691. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext/vector_ulp.inl +0 -0
  692. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/ext.hpp +0 -0
  693. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/fwd.hpp +0 -0
  694. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/geometric.hpp +0 -0
  695. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/glm.hpp +0 -0
  696. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/bitfield.hpp +0 -0
  697. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/bitfield.inl +0 -0
  698. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/color_space.hpp +0 -0
  699. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/color_space.inl +0 -0
  700. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/constants.hpp +0 -0
  701. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/constants.inl +0 -0
  702. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/epsilon.hpp +0 -0
  703. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/epsilon.inl +0 -0
  704. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/integer.hpp +0 -0
  705. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/integer.inl +0 -0
  706. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/matrix_access.hpp +0 -0
  707. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/matrix_access.inl +0 -0
  708. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/matrix_integer.hpp +0 -0
  709. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/matrix_inverse.hpp +0 -0
  710. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/matrix_inverse.inl +0 -0
  711. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/matrix_transform.hpp +0 -0
  712. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/matrix_transform.inl +0 -0
  713. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/noise.hpp +0 -0
  714. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/noise.inl +0 -0
  715. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/packing.hpp +0 -0
  716. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/packing.inl +0 -0
  717. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/quaternion.hpp +0 -0
  718. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/quaternion.inl +0 -0
  719. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/quaternion_simd.inl +0 -0
  720. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/random.hpp +0 -0
  721. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/random.inl +0 -0
  722. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/reciprocal.hpp +0 -0
  723. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/round.hpp +0 -0
  724. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/round.inl +0 -0
  725. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/type_aligned.hpp +0 -0
  726. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/type_precision.hpp +0 -0
  727. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/type_precision.inl +0 -0
  728. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/type_ptr.hpp +0 -0
  729. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/type_ptr.inl +0 -0
  730. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/ulp.hpp +0 -0
  731. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/ulp.inl +0 -0
  732. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtc/vec1.hpp +0 -0
  733. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/associated_min_max.hpp +0 -0
  734. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/associated_min_max.inl +0 -0
  735. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/bit.hpp +0 -0
  736. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/bit.inl +0 -0
  737. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/closest_point.hpp +0 -0
  738. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/closest_point.inl +0 -0
  739. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/color_encoding.hpp +0 -0
  740. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/color_encoding.inl +0 -0
  741. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/color_space.hpp +0 -0
  742. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/color_space.inl +0 -0
  743. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/color_space_YCoCg.hpp +0 -0
  744. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/color_space_YCoCg.inl +0 -0
  745. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/common.hpp +0 -0
  746. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/common.inl +0 -0
  747. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/compatibility.hpp +0 -0
  748. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/compatibility.inl +0 -0
  749. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/component_wise.hpp +0 -0
  750. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/component_wise.inl +0 -0
  751. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/dual_quaternion.hpp +0 -0
  752. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/dual_quaternion.inl +0 -0
  753. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/easing.hpp +0 -0
  754. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/easing.inl +0 -0
  755. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/euler_angles.hpp +0 -0
  756. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/euler_angles.inl +0 -0
  757. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/extend.hpp +0 -0
  758. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/extend.inl +0 -0
  759. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/extended_min_max.hpp +0 -0
  760. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/extended_min_max.inl +0 -0
  761. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/exterior_product.hpp +0 -0
  762. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/exterior_product.inl +0 -0
  763. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/fast_exponential.hpp +0 -0
  764. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/fast_exponential.inl +0 -0
  765. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/fast_square_root.hpp +0 -0
  766. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/fast_square_root.inl +0 -0
  767. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/fast_trigonometry.hpp +0 -0
  768. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/fast_trigonometry.inl +0 -0
  769. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/float_normalize.inl +0 -0
  770. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/functions.hpp +0 -0
  771. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/functions.inl +0 -0
  772. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/gradient_paint.hpp +0 -0
  773. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/gradient_paint.inl +0 -0
  774. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/handed_coordinate_space.hpp +0 -0
  775. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/handed_coordinate_space.inl +0 -0
  776. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/hash.hpp +0 -0
  777. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/hash.inl +0 -0
  778. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/integer.hpp +0 -0
  779. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/integer.inl +0 -0
  780. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/intersect.hpp +0 -0
  781. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/intersect.inl +0 -0
  782. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/io.hpp +0 -0
  783. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/io.inl +0 -0
  784. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/iteration.hpp +0 -0
  785. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/iteration.inl +0 -0
  786. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/log_base.hpp +0 -0
  787. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/log_base.inl +0 -0
  788. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_cross_product.hpp +0 -0
  789. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_cross_product.inl +0 -0
  790. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_decompose.hpp +0 -0
  791. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_decompose.inl +0 -0
  792. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_factorisation.hpp +0 -0
  793. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_factorisation.inl +0 -0
  794. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_interpolation.hpp +0 -0
  795. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_interpolation.inl +0 -0
  796. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_major_storage.hpp +0 -0
  797. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_major_storage.inl +0 -0
  798. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_operation.hpp +0 -0
  799. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_operation.inl +0 -0
  800. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_query.hpp +0 -0
  801. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_query.inl +0 -0
  802. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_transform_2d.hpp +0 -0
  803. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/matrix_transform_2d.inl +0 -0
  804. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/mixed_product.hpp +0 -0
  805. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/mixed_product.inl +0 -0
  806. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/norm.hpp +0 -0
  807. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/norm.inl +0 -0
  808. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/normal.hpp +0 -0
  809. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/normal.inl +0 -0
  810. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/normalize_dot.hpp +0 -0
  811. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/normalize_dot.inl +0 -0
  812. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/number_precision.hpp +0 -0
  813. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/optimum_pow.hpp +0 -0
  814. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/optimum_pow.inl +0 -0
  815. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/orthonormalize.hpp +0 -0
  816. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/orthonormalize.inl +0 -0
  817. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/pca.hpp +0 -0
  818. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/pca.inl +0 -0
  819. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/perpendicular.hpp +0 -0
  820. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/perpendicular.inl +0 -0
  821. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/polar_coordinates.hpp +0 -0
  822. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/polar_coordinates.inl +0 -0
  823. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/projection.hpp +0 -0
  824. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/projection.inl +0 -0
  825. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/quaternion.hpp +0 -0
  826. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/quaternion.inl +0 -0
  827. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/range.hpp +0 -0
  828. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/raw_data.hpp +0 -0
  829. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/raw_data.inl +0 -0
  830. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/rotate_normalized_axis.hpp +0 -0
  831. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/rotate_normalized_axis.inl +0 -0
  832. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/rotate_vector.hpp +0 -0
  833. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/rotate_vector.inl +0 -0
  834. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/scalar_multiplication.hpp +0 -0
  835. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/scalar_relational.hpp +0 -0
  836. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/scalar_relational.inl +0 -0
  837. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/spline.hpp +0 -0
  838. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/spline.inl +0 -0
  839. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/std_based_type.hpp +0 -0
  840. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/std_based_type.inl +0 -0
  841. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/string_cast.hpp +0 -0
  842. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/string_cast.inl +0 -0
  843. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/structured_bindings.hpp +0 -0
  844. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/structured_bindings.inl +0 -0
  845. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/texture.hpp +0 -0
  846. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/texture.inl +0 -0
  847. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/transform.hpp +0 -0
  848. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/transform.inl +0 -0
  849. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/transform2.hpp +0 -0
  850. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/transform2.inl +0 -0
  851. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/type_aligned.hpp +0 -0
  852. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/type_aligned.inl +0 -0
  853. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/type_trait.hpp +0 -0
  854. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/type_trait.inl +0 -0
  855. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/vec_swizzle.hpp +0 -0
  856. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/vector_angle.hpp +0 -0
  857. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/vector_angle.inl +0 -0
  858. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/vector_query.hpp +0 -0
  859. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/vector_query.inl +0 -0
  860. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/wrap.hpp +0 -0
  861. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/gtx/wrap.inl +0 -0
  862. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/integer.hpp +0 -0
  863. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/mat2x2.hpp +0 -0
  864. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/mat2x3.hpp +0 -0
  865. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/mat2x4.hpp +0 -0
  866. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/mat3x2.hpp +0 -0
  867. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/mat3x3.hpp +0 -0
  868. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/mat3x4.hpp +0 -0
  869. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/mat4x2.hpp +0 -0
  870. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/mat4x3.hpp +0 -0
  871. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/mat4x4.hpp +0 -0
  872. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/matrix.hpp +0 -0
  873. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/packing.hpp +0 -0
  874. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/simd/common.h +0 -0
  875. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/simd/exponential.h +0 -0
  876. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/simd/geometric.h +0 -0
  877. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/simd/integer.h +0 -0
  878. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/simd/matrix.h +0 -0
  879. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/simd/neon.h +0 -0
  880. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/simd/packing.h +0 -0
  881. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/simd/platform.h +0 -0
  882. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/simd/trigonometric.h +0 -0
  883. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/simd/vector_relational.h +0 -0
  884. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/trigonometric.hpp +0 -0
  885. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/vec2.hpp +0 -0
  886. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/vec3.hpp +0 -0
  887. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/vec4.hpp +0 -0
  888. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/glm/glm/vector_relational.hpp +0 -0
  889. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/json/LICENSE.MIT +0 -0
  890. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/json/README.md +0 -0
  891. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/json/include/nlohmann/json.hpp +0 -0
  892. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/json/include/nlohmann/json_fwd.hpp +0 -0
  893. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/nanovdb/LICENSE +0 -0
  894. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/nanovdb/PNanoVDB.h +0 -0
  895. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/stb/LICENSE +0 -0
  896. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/stb/README.md +0 -0
  897. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/stb/stb_image.h +0 -0
  898. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/stb/stb_image_write.h +0 -0
  899. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/stb.cpp +0 -0
  900. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vma/LICENSE.txt +0 -0
  901. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vma/README.md +0 -0
  902. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vma/include/vk_mem_alloc.h +0 -0
  903. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vma.cpp +0 -0
  904. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/volk/LICENSE.md +0 -0
  905. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/volk/README.md +0 -0
  906. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/volk/volk.c +0 -0
  907. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/volk/volk.h +0 -0
  908. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/LICENSE.md +0 -0
  909. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/LICENSES/Apache-2.0.txt +0 -0
  910. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/LICENSES/MIT.txt +0 -0
  911. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/README.md +0 -0
  912. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std.h +0 -0
  913. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_decode.h +0 -0
  914. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_encode.h +0 -0
  915. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std.h +0 -0
  916. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_decode.h +0 -0
  917. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_encode.h +0 -0
  918. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std.h +0 -0
  919. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_decode.h +0 -0
  920. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_encode.h +0 -0
  921. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std.h +0 -0
  922. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std_decode.h +0 -0
  923. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vk_video/vulkan_video_codecs_common.h +0 -0
  924. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vk_icd.h +0 -0
  925. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vk_layer.h +0 -0
  926. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vk_platform.h +0 -0
  927. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan.h +0 -0
  928. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_android.h +0 -0
  929. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_beta.h +0 -0
  930. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_core.h +0 -0
  931. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_directfb.h +0 -0
  932. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_fuchsia.h +0 -0
  933. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_ggp.h +0 -0
  934. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_ios.h +0 -0
  935. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_macos.h +0 -0
  936. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_metal.h +0 -0
  937. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_ohos.h +0 -0
  938. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_screen.h +0 -0
  939. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_ubm.h +0 -0
  940. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_vi.h +0 -0
  941. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_wayland.h +0 -0
  942. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_win32.h +0 -0
  943. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_xcb.h +0 -0
  944. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/third_party/vulkan_headers/include/vulkan/vulkan_xlib.h +0 -0
  945. {ernie_renderer-0.2.0.dev153 → ernie_renderer-0.2.0.dev161}/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 ".dev153" CACHE STRING "Pre-release suffix of Ernie's version")
18
+ set(ERNIE_VERSION_SUFFIX ".dev161" 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)
@@ -98,6 +98,9 @@ if(ERNIE_COVERAGE)
98
98
  endif()
99
99
 
100
100
  add_subdirectory(ernie)
101
+ if(TARGET ernie_viewer)
102
+ add_subdirectory(demos)
103
+ endif()
101
104
  if(ERNIE_INSTALL)
102
105
  include(cmake/ErnieInstall.cmake)
103
106
  endif()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ernie-renderer
3
- Version: 0.2.0.dev153
3
+ Version: 0.2.0.dev161
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
@@ -4,6 +4,7 @@ add_executable(
4
4
  main.cpp
5
5
  device/pose_step.cpp
6
6
  render/batch_step.cpp
7
+ render/hide_seek.cpp
7
8
  render/transform_graph.cpp
8
9
  scene/extents.cpp
9
10
  scene/storage.cpp
@@ -0,0 +1,276 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ /// @file hide_seek.cpp
3
+ /// @brief Madrona's Hide & Seek benchmark scene rebuilt in Ernie, to compare batch rendering on the
4
+ /// same GPU: each world ±18 m of rooms walled off with doors, 3 to 9 boxes and 2 ramps, and 3
5
+ /// hiders and 3 seekers each looking out through a 100° camera 0.5 m above it, over one shared
6
+ /// ground. Meshes come from madrona_benchmark's data directory (`ERNIE_MADRONA_DATA`), each asset's
7
+ /// arrays shared by every instance, as Madrona's assets are. Madrona counts worlds a second, each
8
+ /// world six views; this reports both.
9
+ #include "benchmarks/bench.h"
10
+ #include "ernie/device/context.h"
11
+ #include "ernie/render/renderer.h"
12
+ #include "ernie/scene/schema/camera.h"
13
+ #include "ernie/scene/schema/geom.h"
14
+ #include "ernie/scene/schema/mesh.h"
15
+ #include "ernie/scene/schema/planet.h"
16
+ #include "ernie/scene/schema/render.h"
17
+ #include "ernie/scene/tokens.h"
18
+ #include "ernie/scene/xform.h"
19
+
20
+ #include <glm/gtc/matrix_transform.hpp>
21
+
22
+ #include <cmath>
23
+ #include <cstdio>
24
+ #include <cstdlib>
25
+ #include <filesystem>
26
+ #include <fstream>
27
+ #include <memory>
28
+ #include <random>
29
+ #include <sstream>
30
+ #include <string>
31
+ #include <vector>
32
+
33
+ namespace ernie::bench {
34
+ namespace {
35
+
36
+ constexpr int kAgents = 6;
37
+ constexpr double kBounds = 18.0;
38
+ constexpr double kPi = 3.14159265358979323846;
39
+
40
+ /// A mesh's arrays, shared by every prim drawing it.
41
+ struct MeshArrays {
42
+ Tensor points;
43
+ Tensor counts;
44
+ Tensor indices;
45
+ };
46
+
47
+ /// @return An OBJ file's positions and faces; texture and normal indices are skipped.
48
+ MeshArrays ReadObj(const std::filesystem::path& path) {
49
+ std::ifstream file(path);
50
+ if (!file) {
51
+ throw std::runtime_error("Cannot read " + path.string());
52
+ }
53
+ std::vector<float> points;
54
+ std::vector<std::int32_t> counts;
55
+ std::vector<std::int32_t> indices;
56
+ std::string line;
57
+ while (std::getline(file, line)) {
58
+ std::istringstream words(line);
59
+ std::string kind;
60
+ words >> kind;
61
+ if (kind == "v") {
62
+ float x = 0.0f;
63
+ float y = 0.0f;
64
+ float z = 0.0f;
65
+ words >> x >> y >> z;
66
+ points.insert(points.end(), {x, y, z});
67
+ } else if (kind == "f") {
68
+ std::int32_t corners = 0;
69
+ for (std::string corner; words >> corner; ++corners) {
70
+ indices.push_back(std::stoi(corner.substr(0, corner.find('/'))) - 1);
71
+ }
72
+ counts.push_back(corners);
73
+ }
74
+ }
75
+ const auto length = [](const auto& values) { return static_cast<std::int64_t>(values.size()); };
76
+ return {.points = Tensor::Copy<float>(points, {length(points) / 3, 3}),
77
+ .counts = Tensor::Copy<std::int32_t>(counts, {length(counts)}),
78
+ .indices = Tensor::Copy<std::int32_t>(indices, {length(indices)})};
79
+ }
80
+
81
+ struct Assets {
82
+ MeshArrays agent;
83
+ MeshArrays cube;
84
+ MeshArrays wall;
85
+ MeshArrays ramp;
86
+ MeshArrays elongated;
87
+
88
+ explicit Assets(const std::filesystem::path& data)
89
+ : agent(ReadObj(data / "agent_render.obj")), cube(ReadObj(data / "cube_render.obj")),
90
+ wall(ReadObj(data / "wall_render.obj")), ramp(ReadObj(data / "ramp_render.obj")),
91
+ elongated(ReadObj(data / "elongated_render.obj")) {}
92
+ };
93
+
94
+ /// An axis-aligned wall segment of the unit square, from `low` to `high`.
95
+ struct Wall {
96
+ glm::dvec2 low;
97
+ glm::dvec2 high;
98
+
99
+ bool Horizontal() const {
100
+ return low.y == high.y;
101
+ }
102
+ };
103
+
104
+ /// @return Madrona's walls: the unit square's sides, then cross walls each with a door and doors
105
+ /// cut into walls, as many of each as its generator draws.
106
+ std::vector<Wall> MakeWalls(std::mt19937& random) {
107
+ std::vector<Wall> walls{{{0, 0}, {1, 0}}, {{0, 0}, {0, 1}}, {{0, 1}, {1, 1}}, {{1, 0}, {1, 1}}};
108
+ std::uniform_real_distribution<double> unit(0.2, 0.8);
109
+ const auto cutDoor = [&](std::size_t index) {
110
+ const Wall wall = walls[index];
111
+ const double at = unit(random);
112
+ constexpr double kDoor = 0.08;
113
+ const glm::dvec2 along = wall.high - wall.low;
114
+ walls[index] = {wall.low, wall.low + (at - kDoor) * along};
115
+ walls.push_back({wall.low + (at + kDoor) * along, wall.high});
116
+ };
117
+ const int connects = 1 + std::uniform_int_distribution<int>(0, 5)(random);
118
+ const int doors = 4 + std::uniform_int_distribution<int>(0, 2)(random);
119
+ for (int i = 0; i < connects; ++i) {
120
+ const double at = unit(random);
121
+ walls.push_back(i % 2 == 0 ? Wall{{at, 0}, {at, 1}} : Wall{{0, at}, {1, at}});
122
+ cutDoor(walls.size() - 1);
123
+ }
124
+ for (int i = 0; i < doors; ++i) {
125
+ cutDoor(std::uniform_int_distribution<std::size_t>(0, walls.size() - 1)(random));
126
+ }
127
+ return walls;
128
+ }
129
+
130
+ /// @brief Defines a mesh prim drawing `arrays`, shared, at `transform` under its world.
131
+ void DefineMesh(Scene& scene, const std::string& path, const MeshArrays& arrays,
132
+ const glm::dmat4& transform, const glm::dvec3& colour) {
133
+ Mesh::Define(scene, path);
134
+ const PrimId prim = scene.Require(path);
135
+ scene.Write(prim, Mesh::kPoints, arrays.points);
136
+ scene.Write(prim, Mesh::kFaceVertexCounts, arrays.counts);
137
+ scene.Write(prim, Mesh::kFaceVertexIndices, arrays.indices);
138
+ scene.Set(prim, Gprim::kDisplayColor, colour);
139
+ scene.Set(prim, tokens::kTransform, transform);
140
+ }
141
+
142
+ glm::dmat4 Placed(const glm::dvec3& at, double yaw, const glm::dvec3& scale = glm::dvec3(1.0)) {
143
+ return glm::scale(glm::rotate(glm::translate(glm::dmat4(1.0), at), yaw, {0, 0, 1}), scale);
144
+ }
145
+
146
+ /// @brief Defines one world: its walls, boxes, ramps and agents, and a camera and product an agent.
147
+ void BuildWorld(Scene& scene, const Assets& assets, int world, std::mt19937& random,
148
+ glm::uvec2 size, const std::vector<Path>& vars, std::vector<Path>& products) {
149
+ const std::string root = "/World" + std::to_string(world);
150
+ Xform::Define(scene, root).SetWorld(world);
151
+ std::uniform_real_distribution<double> spot(-kBounds, kBounds);
152
+ std::uniform_real_distribution<double> turn(0.0, kPi);
153
+ int index = 0;
154
+ for (const Wall& wall : MakeWalls(random)) {
155
+ const glm::dvec2 low = 2.0 * kBounds * wall.low - kBounds;
156
+ const glm::dvec2 high = 2.0 * kBounds * wall.high - kBounds;
157
+ const glm::dvec2 centre = 0.5 * (low + high);
158
+ const glm::dvec3 scale = wall.Horizontal() ? glm::dvec3(high.x - centre.x, 0.2, 1.0)
159
+ : glm::dvec3(0.2, high.y - centre.y, 1.0);
160
+ DefineMesh(scene, root + "/Wall" + std::to_string(index++), assets.wall,
161
+ Placed({centre, 0.0}, 0.0, scale), {0.6, 0.6, 0.6});
162
+ }
163
+ const int boxes = std::uniform_int_distribution<int>(3, 9)(random);
164
+ const int elongated = std::uniform_int_distribution<int>(3, boxes)(random);
165
+ for (int box = 0; box < boxes; ++box) {
166
+ DefineMesh(scene, root + "/Box" + std::to_string(box),
167
+ box < elongated ? assets.elongated : assets.cube,
168
+ Placed({spot(random), spot(random), 1.0}, turn(random)), {0.8, 0.5, 0.2});
169
+ }
170
+ for (int ramp = 0; ramp < 2; ++ramp) {
171
+ DefineMesh(scene, root + "/Ramp" + std::to_string(ramp), assets.ramp,
172
+ Placed({spot(random), spot(random), 1.0}, turn(random)), {0.3, 0.6, 0.3});
173
+ }
174
+ for (int agent = 0; agent < kAgents; ++agent) {
175
+ const std::string name = root + "/Agent" + std::to_string(agent);
176
+ const glm::dvec3 at(spot(random), spot(random), 1.0);
177
+ const double yaw = turn(random);
178
+ DefineMesh(scene, name, assets.agent, Placed(at, yaw),
179
+ agent < 3 ? glm::dvec3(0.2, 0.4, 0.9) : glm::dvec3(0.9, 0.2, 0.2));
180
+ // Looking along the agent's +y at its eye, 0.5 m up, as Madrona's view does.
181
+ const glm::dvec3 eye = at + glm::dvec3(0.0, 0.0, 0.5);
182
+ const glm::dvec3 ahead(-std::sin(yaw), std::cos(yaw), 0.0);
183
+ const std::string camera = name + "Camera";
184
+ // A square film 100° high at the default focal length, its near plane past the agent's
185
+ // own body, which Madrona's views do not see either.
186
+ Camera::Define(scene, camera)
187
+ .SetVerticalAperture(2.0 * 0.05 * std::tan(0.5 * 100.0 * kPi / 180.0))
188
+ .SetHorizontalAperture(2.0 * 0.05 * std::tan(0.5 * 100.0 * kPi / 180.0))
189
+ .SetClippingRange({1.2, 1e6});
190
+ scene.Set(camera, tokens::kTransform, LookAtTransform(eye, eye + ahead, {0, 0, 1}));
191
+ products.emplace_back("/Render/View" + std::to_string(world) + "_" + std::to_string(agent));
192
+ RenderProduct::Define(scene, products.back())
193
+ .SetCamera(camera)
194
+ .SetResolution(glm::dvec2(size))
195
+ .SetOrderedVars(vars);
196
+ }
197
+ }
198
+
199
+ void BuildHideSeek(Scene& scene, const Assets& assets, int worlds, glm::uvec2 size) {
200
+ GroundPlane::Define(scene, "/Ground");
201
+ const std::vector<Path> vars{Path("/Render/Vars/Colour"), Path("/Render/Vars/Depth")};
202
+ RenderVar::Define(scene, vars[0]).SetSourceName(std::string(render_vars::kLdrColor));
203
+ RenderVar::Define(scene, vars[1]).SetSourceName(std::string(render_vars::kDistanceToCamera));
204
+ std::mt19937 random(5);
205
+ std::vector<Path> products;
206
+ for (int world = 0; world < worlds; ++world) {
207
+ BuildWorld(scene, assets, world, random, size, vars, products);
208
+ }
209
+ RenderSettings::Define(scene, "/Render/Settings").SetProducts(products);
210
+ }
211
+
212
+ /// @brief Writes the first world's six views side by side as a binary PPM, to check the scene by
213
+ /// eye against Madrona's `--dump-last-frame`.
214
+ void DumpFirstWorld(Renderer& renderer, Scene& scene, std::uint32_t side, const char* path) {
215
+ const RenderBatch& batch = renderer.Step(scene).front();
216
+ const Tensor colour = renderer.Read(*batch.Find(render_vars::kLdrColor));
217
+ const auto* texels = static_cast<const std::uint8_t*>(colour.Data());
218
+ std::ofstream file(path, std::ios::binary);
219
+ file << "P6\n" << kAgents * side << " " << side << "\n255\n";
220
+ for (std::uint32_t row = 0; row < side; ++row) {
221
+ for (int view = 0; view < kAgents; ++view) {
222
+ for (std::uint32_t column = 0; column < side; ++column) {
223
+ const std::size_t at =
224
+ 4 * ((static_cast<std::size_t>(view) * side + row) * side + column);
225
+ file.write(reinterpret_cast<const char*>(texels + at), 3);
226
+ }
227
+ }
228
+ }
229
+ std::printf(" wrote %s\n", path);
230
+ }
231
+
232
+ Timing StepHideSeek(int worlds, std::uint32_t side, double targetMs) {
233
+ const char* data = std::getenv("ERNIE_MADRONA_DATA");
234
+ if (data == nullptr) {
235
+ std::printf("skipped: set ERNIE_MADRONA_DATA to madrona_benchmark's data directory\n");
236
+ return {0.0, targetMs};
237
+ }
238
+ std::unique_ptr<Renderer> renderer;
239
+ try {
240
+ renderer = std::make_unique<Renderer>();
241
+ } catch (const std::exception& error) {
242
+ std::printf("skipped: %s\n", error.what());
243
+ return {0.0, targetMs};
244
+ }
245
+ const Assets assets{std::filesystem::path(data)};
246
+ Scene scene;
247
+ BuildHideSeek(scene, assets, worlds, glm::uvec2(side));
248
+ renderer->Step(scene);
249
+ renderer->Context().WaitIdle();
250
+ const double ms = Fastest([] {},
251
+ [&] {
252
+ renderer->Step(scene);
253
+ renderer->Context().WaitIdle();
254
+ });
255
+ std::printf(" %d worlds, %d views of %u x %u: %.0f worlds, %.0f views a second, on %s\n",
256
+ worlds, worlds * kAgents, side, side, 1000.0 * worlds / ms,
257
+ 1000.0 * worlds * kAgents / ms, renderer->Context().Info().name.c_str());
258
+ if (const char* dump = std::getenv("ERNIE_BENCH_DUMP")) {
259
+ DumpFirstWorld(*renderer, scene, side, dump);
260
+ }
261
+ return {ms, targetMs};
262
+ }
263
+
264
+ bool RegisterHideSeek(int worlds, std::uint32_t side, double targetMs) {
265
+ return Register("render.hide_seek." + std::to_string(worlds) + "_worlds_" +
266
+ std::to_string(side) + "x" + std::to_string(side),
267
+ [=] { return StepHideSeek(worlds, side, targetMs); });
268
+ }
269
+
270
+ // Targets: madrona_benchmark's hideseek_headless step times, ray tracer, on an RTX 5070 Laptop
271
+ // GPU (its step simulates too).
272
+ const bool kHideSeek = RegisterHideSeek(1024, 64, 49.4) && RegisterHideSeek(1024, 128, 149.4) &&
273
+ RegisterHideSeek(1024, 256, 501.1) && RegisterHideSeek(4096, 64, 193.5);
274
+
275
+ } // namespace
276
+ } // namespace ernie::bench
@@ -0,0 +1,16 @@
1
+ # SPDX-License-Identifier: BSD-3-Clause
2
+ # Writes the bytes of INPUT to OUTPUT as a C++ source defining `SYMBOL`, an unsigned char array,
3
+ # and `SYMBOL_size`, both with C linkage, so nothing reads the file at run time.
4
+ # Run as `cmake -DINPUT=... -DOUTPUT=... -DSYMBOL=... -P EmbedFile.cmake`.
5
+ file(READ "${INPUT}" bytes HEX)
6
+ string(LENGTH "${bytes}" hex_length)
7
+ math(EXPR size "${hex_length} / 2")
8
+ string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1," bytes "${bytes}")
9
+ string(REGEX REPLACE "((0x[0-9a-f][0-9a-f],){32})" "\\1\n" bytes "${bytes}")
10
+ file(
11
+ WRITE "${OUTPUT}"
12
+ "// Generated from ${INPUT}; do not edit.\n#include <cstddef>\n\nextern \"C\" {\n"
13
+ "extern const unsigned char ${SYMBOL}[];\nextern const std::size_t ${SYMBOL}_size;\n"
14
+ "const unsigned char ${SYMBOL}[] = {\n${bytes}\n};\n"
15
+ "const std::size_t ${SYMBOL}_size = ${size};\n}\n"
16
+ )
@@ -0,0 +1,71 @@
1
+ # SPDX-License-Identifier: BSD-3-Clause
2
+ # The viewer's typefaces, as Ernie 1's: Inter (SIL OFL 1.1) for text and Lucide (ISC) for icons,
3
+ # each a single TTF compiled in as a byte array (`kErnieFont_inter`, `kErnieFont_lucide`).
4
+ set(ERNIE_DEP_VERSION_inter v4.1 CACHE STRING "Tag of the Inter typeface to fetch")
5
+ set(ERNIE_DEP_VERSION_lucide 1.52.0 CACHE STRING "Version of lucide-static's icon font to fetch")
6
+ mark_as_advanced(ERNIE_DEP_VERSION_inter ERNIE_DEP_VERSION_lucide)
7
+
8
+ set(ernie_fonts_dir "${ERNIE_DEPS_DIR}/fonts")
9
+ set(ernie_fonts_generated "${CMAKE_BINARY_DIR}/generated/fonts")
10
+
11
+ # Downloads `url` to `file` in the fonts directory, checked against `hash`, unless it is there.
12
+ function(ernie_fetch_font file url hash)
13
+ set(path "${ernie_fonts_dir}/${file}")
14
+ if(NOT EXISTS "${path}")
15
+ file(DOWNLOAD "${url}" "${path}" EXPECTED_HASH SHA256=${hash} STATUS status)
16
+ list(GET status 0 code)
17
+ if(NOT code EQUAL 0)
18
+ file(REMOVE "${path}")
19
+ message(FATAL_ERROR "Fetching ${url} failed: ${status}")
20
+ endif()
21
+ endif()
22
+ endfunction()
23
+
24
+ ernie_fetch_font(
25
+ "InterVariable-${ERNIE_DEP_VERSION_inter}.ttf"
26
+ "https://raw.githubusercontent.com/rsms/inter/${ERNIE_DEP_VERSION_inter}/docs/font-files/InterVariable.ttf"
27
+ 4989b125924991b90d05b2d16e0e388c48f7d5bb8b30539bbf9c755278d0ccaf
28
+ )
29
+ ernie_fetch_font(
30
+ "inter-LICENSE-${ERNIE_DEP_VERSION_inter}.txt"
31
+ "https://raw.githubusercontent.com/rsms/inter/${ERNIE_DEP_VERSION_inter}/LICENSE.txt"
32
+ 262481e844521b326f5ecd053e59b98c8b2da78c8ee1bdbb6e8174305e54935a
33
+ )
34
+ ernie_fetch_font(
35
+ "lucide-${ERNIE_DEP_VERSION_lucide}.ttf"
36
+ "https://cdn.jsdelivr.net/npm/lucide-static@${ERNIE_DEP_VERSION_lucide}/font/lucide.ttf"
37
+ 124ecc64b91a158fc519eefdaaead89a2d9e2c39b6f9c8429c5584c93a0be451
38
+ )
39
+ ernie_fetch_font(
40
+ "lucide-LICENSE-${ERNIE_DEP_VERSION_lucide}.txt"
41
+ "https://cdn.jsdelivr.net/npm/lucide-static@${ERNIE_DEP_VERSION_lucide}/LICENSE"
42
+ b495047bd93a9b06913511076f504daba17d5bbeb3e0650f3bb53a4220329c57
43
+ )
44
+
45
+ set(ernie_font_sources)
46
+ foreach(
47
+ font
48
+ "inter|InterVariable-${ERNIE_DEP_VERSION_inter}.ttf"
49
+ "lucide|lucide-${ERNIE_DEP_VERSION_lucide}.ttf"
50
+ )
51
+ string(REPLACE "|" ";" parts "${font}")
52
+ list(GET parts 0 name)
53
+ list(GET parts 1 file)
54
+ set(output "${ernie_fonts_generated}/${name}_font.cpp")
55
+ add_custom_command(
56
+ OUTPUT "${output}"
57
+ COMMAND
58
+ "${CMAKE_COMMAND}" "-DINPUT=${ernie_fonts_dir}/${file}" "-DOUTPUT=${output}"
59
+ "-DSYMBOL=kErnieFont_${name}" -P "${PROJECT_SOURCE_DIR}/cmake/EmbedFile.cmake"
60
+ DEPENDS "${ernie_fonts_dir}/${file}" "${PROJECT_SOURCE_DIR}/cmake/EmbedFile.cmake"
61
+ COMMENT "Embedding the ${name} font"
62
+ VERBATIM
63
+ )
64
+ list(APPEND ernie_font_sources "${output}")
65
+ endforeach()
66
+ add_library(ernie_fonts STATIC ${ernie_font_sources})
67
+ set_target_properties(ernie_fonts PROPERTIES POSITION_INDEPENDENT_CODE ON)
68
+ set(ernie_font_notices
69
+ "inter|${ernie_fonts_dir}/inter-LICENSE-${ERNIE_DEP_VERSION_inter}.txt"
70
+ "lucide|${ernie_fonts_dir}/lucide-LICENSE-${ERNIE_DEP_VERSION_lucide}.txt"
71
+ )
@@ -0,0 +1,6 @@
1
+ # SPDX-License-Identifier: BSD-3-Clause
2
+ # The demos, `<category>/demo_<category>_<name>.cpp`, each registering itself with
3
+ # ERNIE_REGISTER_DEMO; an object library, so the program and tests linking it keep every one.
4
+ add_library(ernie_demos OBJECT basics/demo_basics_bounce.cpp)
5
+ target_link_libraries(ernie_demos PUBLIC ernie_viewer PRIVATE ernie_build_options)
6
+ target_link_libraries(ernie_app PRIVATE ernie_demos)
@@ -0,0 +1,72 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ /// @file demo_basics_bounce.cpp
3
+ /// @brief A ball dropped on the ground, bouncing under gravity, each bounce lower.
4
+ #include "ernie/app/demo.h"
5
+ #include "ernie/scene/schema/camera.h"
6
+ #include "ernie/scene/schema/geom.h"
7
+ #include "ernie/scene/schema/planet.h"
8
+ #include "ernie/scene/schema/render.h"
9
+ #include "ernie/scene/tokens.h"
10
+ #include "ernie/scene/xform.h"
11
+
12
+ #include <imgui.h>
13
+
14
+ namespace ernie::app {
15
+ namespace {
16
+
17
+ class Bounce final : public Demo {
18
+ public:
19
+ explicit Bounce(Scene& scene) : Demo(scene) {
20
+ description = "A ball dropped from 4 m bounces on the ground, losing a share of its speed "
21
+ "each bounce.";
22
+ GroundPlane::Define(scene, "/World/Ground");
23
+ Sphere::Define(scene, "/World/Ball").SetRadius(kRadius).SetDisplayColor({0.85, 0.35, 0.2});
24
+ Camera::Define(scene, "/World/Camera");
25
+ scene.Set("/World/Camera", tokens::kTransform,
26
+ LookAtTransform({0.0, -12.0, 4.0}, {0.0, 0.0, 2.0}, {0.0, 0.0, 1.0}));
27
+ RenderSettings::Define(scene, "/Render/Settings").SetCamera("/World/Camera");
28
+ Place();
29
+ }
30
+
31
+ void Step() override {
32
+ velocity_ -= kGravity * fixedDt;
33
+ height_ += velocity_ * fixedDt;
34
+ if (height_ < kRadius) {
35
+ height_ = kRadius;
36
+ velocity_ = -velocity_ * restitution_;
37
+ }
38
+ Place();
39
+ }
40
+
41
+ void Gui() override {
42
+ ImGui::SliderFloat("Restitution", &restitution_, 0.0f, 1.0f);
43
+ if (ImGui::Button("Drop Again")) {
44
+ height_ = 4.0;
45
+ velocity_ = 0.0;
46
+ }
47
+ }
48
+
49
+ void TestFinal() override {
50
+ if (height_ < kRadius - 1e-9) {
51
+ throw std::runtime_error("The ball fell through the ground");
52
+ }
53
+ }
54
+
55
+ private:
56
+ static constexpr double kRadius = 0.5;
57
+ static constexpr double kGravity = 9.81;
58
+
59
+ void Place() {
60
+ SetXform(GetScene(), "/World/Ball", {.translate = glm::dvec3(0.0, 0.0, height_)});
61
+ }
62
+
63
+ double height_ = 4.0;
64
+ double velocity_ = 0.0;
65
+ float restitution_ = 0.8f;
66
+ };
67
+
68
+ } // namespace
69
+
70
+ ERNIE_REGISTER_DEMO(Bounce, "basics", "bounce", "A ball bouncing on the ground, lower each time.");
71
+
72
+ } // namespace ernie::app
@@ -1,13 +1,24 @@
1
1
  # SPDX-License-Identifier: BSD-3-Clause
2
2
  include("${PROJECT_SOURCE_DIR}/cmake/third_party/glfw.cmake")
3
3
  include("${PROJECT_SOURCE_DIR}/cmake/third_party/dear_imgui.cmake")
4
+ include("${PROJECT_SOURCE_DIR}/cmake/third_party/fonts.cmake")
4
5
 
5
6
  # The viewer: its window, panels and frame loop, a library so tests drive it without a window.
6
- add_library(ernie_viewer STATIC create.cpp imgui_backend.cpp ui.cpp viewer.cpp)
7
+ add_library(
8
+ ernie_viewer
9
+ STATIC
10
+ capture.cpp
11
+ create.cpp
12
+ demo.cpp
13
+ imgui_backend.cpp
14
+ timeline.cpp
15
+ ui.cpp
16
+ viewer.cpp
17
+ )
7
18
  target_link_libraries(
8
19
  ernie_viewer
9
20
  PUBLIC ernie_static ernie_imgui ernie_volk ernie_vma
10
- PRIVATE ernie_build_options
21
+ PRIVATE ernie_fonts ernie_build_options
11
22
  )
12
23
  if(TARGET ernie_glfw)
13
24
  target_link_libraries(ernie_viewer PRIVATE ernie_imgui_glfw)
@@ -20,7 +31,7 @@ target_link_libraries(ernie_app PRIVATE ernie_viewer ernie_build_options)
20
31
  install(TARGETS ernie_app RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT app)
21
32
 
22
33
  # The licences of what the program carries.
23
- set(ernie_app_notices "dear_imgui|${dear_imgui_SOURCE_DIR}/LICENSE.txt")
34
+ set(ernie_app_notices "dear_imgui|${dear_imgui_SOURCE_DIR}/LICENSE.txt" ${ernie_font_notices})
24
35
  if(glfw_SOURCE_DIR)
25
36
  list(APPEND ernie_app_notices "glfw|${glfw_SOURCE_DIR}/LICENSE.md")
26
37
  endif()
@@ -0,0 +1,131 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ /// @file capture.cpp
3
+ /// @brief Capture names, unique paths, the default folder and ffmpeg's encoding commands.
4
+ #include "ernie/app/capture.h"
5
+
6
+ #include <array>
7
+ #include <cstdio>
8
+ #include <cstdlib>
9
+ #include <ctime>
10
+ #include <system_error>
11
+
12
+ namespace ernie::app {
13
+ namespace {
14
+
15
+ /// @return Whether a file name cannot hold the character on some system.
16
+ bool Forbidden(char c) {
17
+ return c == '/' || c == '\\' || c == ':' || c == '*' || c == '?' || c == '"' || c == '<' ||
18
+ c == '>' || c == '|' || static_cast<unsigned char>(c) < 32;
19
+ }
20
+
21
+ std::tm LocalTime(std::chrono::system_clock::time_point when) {
22
+ const std::time_t seconds = std::chrono::system_clock::to_time_t(when);
23
+ std::tm local{};
24
+ #if defined(_WIN32)
25
+ localtime_s(&local, &seconds);
26
+ #else
27
+ localtime_r(&seconds, &local);
28
+ #endif
29
+ return local;
30
+ }
31
+
32
+ } // namespace
33
+
34
+ std::string ExpandCaptureName(std::string_view pattern, const CaptureNameFields& fields) {
35
+ const std::tm local = LocalTime(fields.when);
36
+ std::array<char, 16> date{};
37
+ std::array<char, 16> time{};
38
+ std::array<char, 32> frame{};
39
+ std::strftime(date.data(), date.size(), "%Y-%m-%d", &local);
40
+ std::strftime(time.data(), time.size(), "%H-%M-%S", &local);
41
+ std::snprintf(frame.data(), frame.size(), "%04lld", static_cast<long long>(fields.frame));
42
+ std::string name;
43
+ for (std::size_t i = 0; i < pattern.size(); ++i) {
44
+ const std::size_t close = pattern.find('}', i);
45
+ if (pattern[i] == '{' && close != std::string_view::npos) {
46
+ const std::string_view key = pattern.substr(i + 1, close - i - 1);
47
+ name += key == "scene" ? fields.scene
48
+ : key == "camera" ? fields.camera
49
+ : key == "date" ? std::string(date.data())
50
+ : key == "time" ? std::string(time.data())
51
+ : key == "frame" ? std::string(frame.data())
52
+ : std::string(pattern.substr(i, close - i + 1));
53
+ i = close;
54
+ continue;
55
+ }
56
+ name += pattern[i];
57
+ }
58
+ for (char& c : name) {
59
+ if (Forbidden(c)) {
60
+ c = '_';
61
+ }
62
+ }
63
+ return name.empty() ? std::string("capture") : name;
64
+ }
65
+
66
+ std::filesystem::path UniquePath(const std::filesystem::path& path) {
67
+ std::error_code error;
68
+ if (!std::filesystem::exists(path, error)) {
69
+ return path;
70
+ }
71
+ const std::filesystem::path stem = path.parent_path() / path.stem();
72
+ const std::string extension = path.extension().string();
73
+ for (int n = 1;; ++n) {
74
+ std::filesystem::path next = stem;
75
+ next += "_" + std::to_string(n) + extension;
76
+ if (!std::filesystem::exists(next, error)) {
77
+ return next;
78
+ }
79
+ }
80
+ }
81
+
82
+ std::filesystem::path DefaultCaptureFolder() {
83
+ #if defined(_WIN32)
84
+ const char* home = std::getenv("USERPROFILE");
85
+ #else
86
+ const char* home = std::getenv("HOME");
87
+ #endif
88
+ std::error_code error;
89
+ if (home != nullptr && *home != '\0') {
90
+ const std::filesystem::path pictures = std::filesystem::path(home) / "Pictures";
91
+ if (std::filesystem::is_directory(pictures, error)) {
92
+ return pictures / "Ernie";
93
+ }
94
+ }
95
+ return std::filesystem::current_path(error) / "captures";
96
+ }
97
+
98
+ const char* VideoExtension(VideoFormat format) {
99
+ switch (format) {
100
+ case VideoFormat::Mp4:
101
+ return ".mp4";
102
+ case VideoFormat::ProRes:
103
+ return ".mov";
104
+ case VideoFormat::None:
105
+ break;
106
+ }
107
+ return "";
108
+ }
109
+
110
+ std::vector<std::string> EncodeCommand(const std::filesystem::path& ffmpeg,
111
+ const std::filesystem::path& framePattern, double fps,
112
+ const std::filesystem::path& video, VideoFormat format) {
113
+ std::array<char, 32> rate{};
114
+ std::snprintf(rate.data(), rate.size(), "%g", fps);
115
+ std::vector<std::string> command{ffmpeg.string(), "-hide_banner", "-loglevel",
116
+ "error", "-y", "-framerate",
117
+ rate.data(), "-i", framePattern.string()};
118
+ if (format == VideoFormat::ProRes) {
119
+ // Profile 3: 422 HQ.
120
+ command.insert(command.end(),
121
+ {"-c:v", "prores_ks", "-profile:v", "3", "-pix_fmt", "yuv422p10le"});
122
+ } else {
123
+ // Even sizes, which 4:2:0 needs.
124
+ command.insert(command.end(), {"-c:v", "libx264", "-crf", "18", "-pix_fmt", "yuv420p",
125
+ "-vf", "pad=ceil(iw/2)*2:ceil(ih/2)*2"});
126
+ }
127
+ command.push_back(video.string());
128
+ return command;
129
+ }
130
+
131
+ } // namespace ernie::app