ernie-renderer 0.2.0.dev127__tar.gz → 0.2.0.dev135__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 (914) hide show
  1. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/.github/workflows/ci.yml +2 -2
  2. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/CMakeLists.txt +1 -1
  3. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/PKG-INFO +3 -1
  4. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/cmake/ErnieInstall.cmake +28 -0
  5. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/app/viewer.h +1 -1
  6. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/column.h +13 -0
  7. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/shader_compiler.cpp +6 -2
  8. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/vulkan.cpp +3 -2
  9. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/graph/graph.cpp +23 -1
  10. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/graph/graph.h +9 -2
  11. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/python/CMakeLists.txt +10 -1
  12. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/python/ernie/__init__.py +14 -0
  13. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/python/module.cpp +2 -0
  14. ernie_renderer-0.2.0.dev135/ernie/python/render.cpp +48 -0
  15. ernie_renderer-0.2.0.dev135/ernie/python/render.h +13 -0
  16. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/python/scene.cpp +125 -21
  17. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/CMakeLists.txt +2 -1
  18. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/geometry.cpp +14 -20
  19. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/geometry.h +2 -1
  20. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/instances.cpp +7 -29
  21. ernie_renderer-0.2.0.dev135/ernie/render/renderer.cpp +115 -0
  22. ernie_renderer-0.2.0.dev135/ernie/render/renderer.h +51 -0
  23. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/rt/bottom_levels.cpp +4 -16
  24. {ernie_renderer-0.2.0.dev127/ernie/render → ernie_renderer-0.2.0.dev135/ernie/render/rt}/camera_pass.cpp +11 -7
  25. {ernie_renderer-0.2.0.dev127/ernie/render → ernie_renderer-0.2.0.dev135/ernie/render/rt}/camera_pass.h +2 -0
  26. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/rt/ray_tracer.cpp +2 -2
  27. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/rt/top_levels.cpp +7 -9
  28. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/transform_graph.cpp +64 -65
  29. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/transform_graph.h +5 -0
  30. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/path.h +2 -1
  31. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/scene.cpp +7 -1
  32. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/scene.h +9 -1
  33. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema.h +2 -1
  34. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/view.h +3 -2
  35. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/xform.cpp +20 -0
  36. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/xform.h +20 -9
  37. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/shaders/sensors/camera.slang +12 -4
  38. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/algorithm.h +7 -0
  39. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/math.h +5 -0
  40. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/pyproject.toml +5 -2
  41. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/CMakeLists.txt +1 -0
  42. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/consumer/CMakeLists.txt +5 -0
  43. ernie_renderer-0.2.0.dev135/tests/consumer/first_render.cpp +52 -0
  44. ernie_renderer-0.2.0.dev135/tests/python/test_render.py +95 -0
  45. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/render/camera_pass_test.cpp +1 -1
  46. ernie_renderer-0.2.0.dev135/tests/render/renderer_test.cpp +93 -0
  47. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/.clang-format +0 -0
  48. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/.clang-tidy +0 -0
  49. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/.dockerignore +0 -0
  50. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/.gersemirc +0 -0
  51. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/.gitattributes +0 -0
  52. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/.github/scripts/coverage_badge.py +0 -0
  53. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/.github/scripts/install-lavapipe-windows.sh +0 -0
  54. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/.gitignore +0 -0
  55. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/.pre-commit-config.yaml +0 -0
  56. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/CMakePresets.json +0 -0
  57. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/Dockerfile +0 -0
  58. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/LICENSE +0 -0
  59. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/README.md +0 -0
  60. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/benchmarks/CMakeLists.txt +0 -0
  61. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/benchmarks/bench.h +0 -0
  62. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/benchmarks/device/pose_step.cpp +0 -0
  63. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/benchmarks/main.cpp +0 -0
  64. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/benchmarks/render/transform_graph.cpp +0 -0
  65. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/benchmarks/scene/extents.cpp +0 -0
  66. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/benchmarks/scene/storage.cpp +0 -0
  67. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/cmake/EmbedShader.cmake +0 -0
  68. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/cmake/ErnieConfig.cmake.in +0 -0
  69. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/cmake/ErnieFetch.cmake +0 -0
  70. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/cmake/ErniePackaging.cmake +0 -0
  71. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/cmake/ErnieShaders.cmake +0 -0
  72. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/cmake/ErnieTesting.cmake +0 -0
  73. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/cmake/ernie.pc.in +0 -0
  74. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/cmake/third_party/dear_imgui.cmake +0 -0
  75. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/cmake/third_party/glfw.cmake +0 -0
  76. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/cmake/third_party/googletest.cmake +0 -0
  77. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/cmake/third_party/nanobind.cmake +0 -0
  78. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/cmake/third_party/openexr.cmake +0 -0
  79. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/cmake/third_party/slang.cmake +0 -0
  80. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/cmake/third_party/tracy.cmake +0 -0
  81. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/docs/README.md +0 -0
  82. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/docs/index.md +0 -0
  83. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/docs/requirements.txt +0 -0
  84. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/CMakeLists.txt +0 -0
  85. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/app/CMakeLists.txt +0 -0
  86. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/app/imgui_backend.cpp +0 -0
  87. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/app/imgui_backend.h +0 -0
  88. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/app/main.cpp +0 -0
  89. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/app/ui.cpp +0 -0
  90. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/app/ui.h +0 -0
  91. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/app/viewer.cpp +0 -0
  92. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/CMakeLists.txt +0 -0
  93. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/acceleration.cpp +0 -0
  94. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/acceleration.h +0 -0
  95. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/arena.cpp +0 -0
  96. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/arena.h +0 -0
  97. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/bindless.cpp +0 -0
  98. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/bindless.h +0 -0
  99. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/buffer.cpp +0 -0
  100. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/buffer.h +0 -0
  101. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/column.cpp +0 -0
  102. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/context.cpp +0 -0
  103. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/context.h +0 -0
  104. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/cuda.cpp +0 -0
  105. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/cuda.h +0 -0
  106. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/device.h +0 -0
  107. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/external.cpp +0 -0
  108. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/external.h +0 -0
  109. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/image.cpp +0 -0
  110. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/image.h +0 -0
  111. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/instance.cpp +0 -0
  112. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/instance.h +0 -0
  113. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/kernel.cpp +0 -0
  114. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/kernel.h +0 -0
  115. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/profile.cpp +0 -0
  116. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/profile.h +0 -0
  117. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/queue.cpp +0 -0
  118. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/queue.h +0 -0
  119. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/shader_compiler.h +0 -0
  120. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/staging.cpp +0 -0
  121. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/staging.h +0 -0
  122. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/device/vulkan.h +0 -0
  123. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/geometry/CMakeLists.txt +0 -0
  124. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/geometry/bounds.h +0 -0
  125. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/geometry/triangulation.cpp +0 -0
  126. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/geometry/triangulation.h +0 -0
  127. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/graph/CMakeLists.txt +0 -0
  128. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/graph/blackboard.h +0 -0
  129. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/graph/dependencies.cpp +0 -0
  130. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/graph/dependencies.h +0 -0
  131. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/graph/pool.cpp +0 -0
  132. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/graph/pool.h +0 -0
  133. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/io/CMakeLists.txt +0 -0
  134. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/io/ies.cpp +0 -0
  135. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/io/ies.h +0 -0
  136. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/io/image.cpp +0 -0
  137. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/io/image.h +0 -0
  138. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/io/nanovdb.cpp +0 -0
  139. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/io/nanovdb.h +0 -0
  140. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/io/raster.cpp +0 -0
  141. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/io/raster.h +0 -0
  142. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/io/texture.cpp +0 -0
  143. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/io/texture.h +0 -0
  144. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/CMakeLists.txt +0 -0
  145. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/astronomy.cpp +0 -0
  146. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/astronomy.h +0 -0
  147. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/atmosphere.cpp +0 -0
  148. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/atmosphere.h +0 -0
  149. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/cloud.cpp +0 -0
  150. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/cloud.h +0 -0
  151. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/constants.h +0 -0
  152. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/reflectance_library.cpp +0 -0
  153. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/reflectance_library.h +0 -0
  154. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/reflectance_table.h +0 -0
  155. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/regolith.cpp +0 -0
  156. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/regolith.h +0 -0
  157. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/scattering.cpp +0 -0
  158. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/scattering.h +0 -0
  159. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/solar.cpp +0 -0
  160. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/solar.h +0 -0
  161. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/solar_table.h +0 -0
  162. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/spectrum.cpp +0 -0
  163. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/physics/spectrum.h +0 -0
  164. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/python/device.cpp +0 -0
  165. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/python/device.h +0 -0
  166. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/python/dlpack.cpp +0 -0
  167. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/python/dlpack.h +0 -0
  168. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/python/scene.h +0 -0
  169. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/device_scene.cpp +0 -0
  170. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/device_scene.h +0 -0
  171. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/instances.h +0 -0
  172. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/prim_rows.cpp +0 -0
  173. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/prim_rows.h +0 -0
  174. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/rt/bottom_levels.h +0 -0
  175. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/rt/ray_tracer.h +0 -0
  176. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/rt/top_levels.h +0 -0
  177. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/scene_columns.cpp +0 -0
  178. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/render/scene_columns.h +0 -0
  179. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/CMakeLists.txt +0 -0
  180. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/animation.cpp +0 -0
  181. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/convert.h +0 -0
  182. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/edit_history.cpp +0 -0
  183. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/edit_history.h +0 -0
  184. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/extent_cache.cpp +0 -0
  185. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/extent_cache.h +0 -0
  186. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/holder_index.cpp +0 -0
  187. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/holder_index.h +0 -0
  188. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/inherit.cpp +0 -0
  189. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/json.cpp +0 -0
  190. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/json.h +0 -0
  191. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/json_value.h +0 -0
  192. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/path.cpp +0 -0
  193. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/reference.cpp +0 -0
  194. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/reference.h +0 -0
  195. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/camera.cpp +0 -0
  196. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/camera.h +0 -0
  197. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/collection.h +0 -0
  198. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/geom.cpp +0 -0
  199. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/geom.h +0 -0
  200. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/instancer.cpp +0 -0
  201. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/instancer.h +0 -0
  202. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/lux.cpp +0 -0
  203. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/lux.h +0 -0
  204. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/mesh.cpp +0 -0
  205. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/mesh.h +0 -0
  206. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/planet.cpp +0 -0
  207. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/planet.h +0 -0
  208. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/registry.cpp +0 -0
  209. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/render.cpp +0 -0
  210. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/render.h +0 -0
  211. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/shade.cpp +0 -0
  212. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/shade.h +0 -0
  213. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/vol.cpp +0 -0
  214. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema/vol.h +0 -0
  215. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/schema.cpp +0 -0
  216. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/storage.cpp +0 -0
  217. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/storage.h +0 -0
  218. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/time_samples.cpp +0 -0
  219. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/time_samples.h +0 -0
  220. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/tokens.h +0 -0
  221. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/usd_plugin.cpp +0 -0
  222. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/validate.cpp +0 -0
  223. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/value.h +0 -0
  224. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/scene/view.cpp +0 -0
  225. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/shaders/CMakeLists.txt +0 -0
  226. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/shaders/device/bindless.slang +0 -0
  227. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/shaders/math/affine.slang +0 -0
  228. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/shaders/math/double_float.slang +0 -0
  229. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/shaders/rt/ray_tracer.slang +0 -0
  230. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/shaders/rt/write_instances.slang +0 -0
  231. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/shaders/scene/geometry.slang +0 -0
  232. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/shaders/scene/shapes.slang +0 -0
  233. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/shaders/scene/transform.slang +0 -0
  234. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/shaders/spectral/spectrum.slang +0 -0
  235. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/CMakeLists.txt +0 -0
  236. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/bytes.h +0 -0
  237. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/disk_cache.cpp +0 -0
  238. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/disk_cache.h +0 -0
  239. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/file.cpp +0 -0
  240. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/file.h +0 -0
  241. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/glm.h +0 -0
  242. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/hash_index.h +0 -0
  243. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/library.cpp +0 -0
  244. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/library.h +0 -0
  245. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/linear_algebra.h +0 -0
  246. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/log.cpp +0 -0
  247. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/log.h +0 -0
  248. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/noise.cpp +0 -0
  249. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/noise.h +0 -0
  250. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/numbers.h +0 -0
  251. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/on_failure.h +0 -0
  252. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/parallel.h +0 -0
  253. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/profiler.cpp +0 -0
  254. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/profiler.h +0 -0
  255. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/random.h +0 -0
  256. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/tensor.cpp +0 -0
  257. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/tensor.h +0 -0
  258. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/text.h +0 -0
  259. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/version.cpp +0 -0
  260. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/version.h +0 -0
  261. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/ernie/util/worker_pool.h +0 -0
  262. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/mkdocs.yml +0 -0
  263. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/app/orbit_camera_test.cpp +0 -0
  264. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/app/shell_test.cpp +0 -0
  265. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/app/view_test.cpp +0 -0
  266. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/app/viewer_test.cpp +0 -0
  267. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/common.h +0 -0
  268. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/consumer/main.cpp +0 -0
  269. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/device/acceleration_test.cpp +0 -0
  270. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/device/arena_test.cpp +0 -0
  271. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/device/bindless_test.cpp +0 -0
  272. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/device/column_test.cpp +0 -0
  273. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/device/columns.h +0 -0
  274. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/device/common.h +0 -0
  275. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/device/context_test.cpp +0 -0
  276. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/device/cuda_test.cpp +0 -0
  277. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/device/external_test.cpp +0 -0
  278. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/device/kernel_test.cpp +0 -0
  279. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/device/pose_step.h +0 -0
  280. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/device/profile_test.cpp +0 -0
  281. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/device/vulkan_devices_test.cpp +0 -0
  282. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/exr/README.md +0 -0
  283. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/exr/make_exr.py +0 -0
  284. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/exr/rgb_float_zip.exr +0 -0
  285. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/exr/rgba_half_window.exr +0 -0
  286. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/exr/y_half_zips.exr +0 -0
  287. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/ies/README.md +0 -0
  288. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/ies/downlight_quadrant.ies +0 -0
  289. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/ies/floodlight_type_b.ies +0 -0
  290. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/ies/lamp.tilt +0 -0
  291. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/images/grey16.png +0 -0
  292. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/ktx2/README.md +0 -0
  293. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/ktx2/quadrants_etc1s.ktx2 +0 -0
  294. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/ktx2/quadrants_uastc_zstd.ktx2 +0 -0
  295. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/ktx2/tilted_normal_etc1s.ktx2 +0 -0
  296. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/ktx2/tilted_normal_uastc.ktx2 +0 -0
  297. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/scenes/README.md +0 -0
  298. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/scenes/invalid/problems.expected +0 -0
  299. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/scenes/invalid/problems.json +0 -0
  300. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/scenes/rover.json +0 -0
  301. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/scenes/rover.saved.json +0 -0
  302. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/tiff/README.md +0 -0
  303. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/tiff/float_deflate_predictor3.tif +0 -0
  304. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/tiff/float_raw.tif +0 -0
  305. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/tiff/int16_bigtiff_bigendian.tif +0 -0
  306. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/tiff/rgb_lzw_predictor2.tif +0 -0
  307. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/tiff/rgb_planar_lzw.tif +0 -0
  308. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/tiff/rgb_planar_raw.tif +0 -0
  309. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/tiff/rgb_tiled_deflate.tif +0 -0
  310. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/volumes/cube.nvdb +0 -0
  311. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/fixtures/volumes/make_nvdb.py +0 -0
  312. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/geometry/bounds_test.cpp +0 -0
  313. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/geometry/triangulation_test.cpp +0 -0
  314. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/graph/dependencies_test.cpp +0 -0
  315. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/graph/graph_test.cpp +0 -0
  316. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/io/ies_test.cpp +0 -0
  317. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/io/image_test.cpp +0 -0
  318. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/io/nanovdb_test.cpp +0 -0
  319. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/io/raster_test.cpp +0 -0
  320. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/io/texture_test.cpp +0 -0
  321. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/physics/astronomy_test.cpp +0 -0
  322. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/physics/atmosphere_test.cpp +0 -0
  323. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/physics/cloud_test.cpp +0 -0
  324. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/physics/reflectance_library_test.cpp +0 -0
  325. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/physics/regolith_test.cpp +0 -0
  326. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/physics/scattering_test.cpp +0 -0
  327. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/physics/solar_test.cpp +0 -0
  328. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/physics/spectrum_test.cpp +0 -0
  329. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/python/conftest.py +0 -0
  330. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/python/test_device_dlpack.py +0 -0
  331. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/python/test_device_torch.py +0 -0
  332. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/python/test_package.py +0 -0
  333. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/python/test_scene.py +0 -0
  334. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/python/test_scene_schema.py +0 -0
  335. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/render/acceleration_scene_test.cpp +0 -0
  336. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/render/device_scene_test.cpp +0 -0
  337. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/render/geometry_test.cpp +0 -0
  338. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/render/ray_tracer_test.cpp +0 -0
  339. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/render/scene_columns_test.cpp +0 -0
  340. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/render/shaders_test.cpp +0 -0
  341. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/render/transform_graph_test.cpp +0 -0
  342. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/edit_history_test.cpp +0 -0
  343. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/extent_cache_test.cpp +0 -0
  344. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/inherit_test.cpp +0 -0
  345. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/instancer_test.cpp +0 -0
  346. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/json_test.cpp +0 -0
  347. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/lux_test.cpp +0 -0
  348. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/mesh_test.cpp +0 -0
  349. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/path_test.cpp +0 -0
  350. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/planet_test.cpp +0 -0
  351. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/reference_test.cpp +0 -0
  352. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/render_test.cpp +0 -0
  353. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/scene_test.cpp +0 -0
  354. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/schema_test.cpp +0 -0
  355. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/shade_test.cpp +0 -0
  356. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/storage_test.cpp +0 -0
  357. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/time_samples_test.cpp +0 -0
  358. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/vol_test.cpp +0 -0
  359. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/scene/xform_test.cpp +0 -0
  360. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/algorithm_test.cpp +0 -0
  361. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/bytes_test.cpp +0 -0
  362. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/disk_cache_test.cpp +0 -0
  363. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/file_test.cpp +0 -0
  364. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/hash_index_test.cpp +0 -0
  365. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/linear_algebra_test.cpp +0 -0
  366. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/log_test.cpp +0 -0
  367. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/math_test.cpp +0 -0
  368. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/noise_test.cpp +0 -0
  369. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/parallel_test.cpp +0 -0
  370. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/profiler_test.cpp +0 -0
  371. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/random_test.cpp +0 -0
  372. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/tensor_test.cpp +0 -0
  373. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/text_test.cpp +0 -0
  374. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/version_test.cpp +0 -0
  375. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/tests/util/worker_pool_test.cpp +0 -0
  376. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/CMakeLists.txt +0 -0
  377. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/README.md +0 -0
  378. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/LICENSE +0 -0
  379. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/LICENSES/Apache-2.0.txt +0 -0
  380. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/LICENSES/BSD-3-clause.txt +0 -0
  381. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/LICENSES/MIT.txt +0 -0
  382. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/NOTICE +0 -0
  383. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/README.md +0 -0
  384. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu.h +0 -0
  385. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_astc_cfgs.inl +0 -0
  386. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_astc_hdr_core.h +0 -0
  387. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_astc_helpers.h +0 -0
  388. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_containers.h +0 -0
  389. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_containers_impl.h +0 -0
  390. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_dds_transcoder.inl +0 -0
  391. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_etc1_mods.inl +0 -0
  392. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_file_headers.h +0 -0
  393. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_idct.h +0 -0
  394. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_transcoder.cpp +0 -0
  395. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_transcoder.h +0 -0
  396. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_transcoder_internal.h +0 -0
  397. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_transcoder_tables_astc.inc +0 -0
  398. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_transcoder_tables_astc_0_255.inc +0 -0
  399. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_55.inc +0 -0
  400. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_56.inc +0 -0
  401. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_alpha.inc +0 -0
  402. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_color.inc +0 -0
  403. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_5.inc +0 -0
  404. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_6.inc +0 -0
  405. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_45.inc +0 -0
  406. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_alpha_33.inc +0 -0
  407. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_transcoder_uastc.h +0 -0
  408. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_xbc7_decoder.h +0 -0
  409. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/transcoder/basisu_xbc7_decoder.inl +0 -0
  410. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/zstd/LICENSE +0 -0
  411. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/zstd/zstd.h +0 -0
  412. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/basisu/zstd/zstd_errors.h +0 -0
  413. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/bc7enc/LICENSE +0 -0
  414. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/bc7enc/README.md +0 -0
  415. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/bc7enc/bc7decomp.cpp +0 -0
  416. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/bc7enc/bc7decomp.h +0 -0
  417. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/bc7enc/bc7enc.cpp +0 -0
  418. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/bc7enc/bc7enc.h +0 -0
  419. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/bc7enc/rgbcx.cpp +0 -0
  420. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/bc7enc/rgbcx.h +0 -0
  421. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/bc7enc/rgbcx_table4.h +0 -0
  422. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/bc7enc/rgbcx_table4_small.h +0 -0
  423. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/dlpack/LICENSE +0 -0
  424. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/dlpack/README.md +0 -0
  425. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/dlpack/include/dlpack/dlpack.h +0 -0
  426. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/README.md +0 -0
  427. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/copying.txt +0 -0
  428. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/common.hpp +0 -0
  429. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/_features.hpp +0 -0
  430. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/_fixes.hpp +0 -0
  431. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/_noise.hpp +0 -0
  432. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/_swizzle.hpp +0 -0
  433. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/_swizzle_func.hpp +0 -0
  434. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/_vectorize.hpp +0 -0
  435. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/compute_common.hpp +0 -0
  436. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/compute_vector_decl.hpp +0 -0
  437. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/compute_vector_relational.hpp +0 -0
  438. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_common.inl +0 -0
  439. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_common_simd.inl +0 -0
  440. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_exponential.inl +0 -0
  441. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_exponential_simd.inl +0 -0
  442. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_geometric.inl +0 -0
  443. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_geometric_simd.inl +0 -0
  444. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_integer.inl +0 -0
  445. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_integer_simd.inl +0 -0
  446. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_matrix.inl +0 -0
  447. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_matrix_simd.inl +0 -0
  448. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_packing.inl +0 -0
  449. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_packing_simd.inl +0 -0
  450. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_trigonometric.inl +0 -0
  451. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_trigonometric_simd.inl +0 -0
  452. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_vector_relational.inl +0 -0
  453. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/func_vector_relational_simd.inl +0 -0
  454. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/qualifier.hpp +0 -0
  455. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/setup.hpp +0 -0
  456. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_float.hpp +0 -0
  457. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_half.hpp +0 -0
  458. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_half.inl +0 -0
  459. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat2x2.hpp +0 -0
  460. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat2x2.inl +0 -0
  461. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat2x3.hpp +0 -0
  462. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat2x3.inl +0 -0
  463. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat2x4.hpp +0 -0
  464. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat2x4.inl +0 -0
  465. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat3x2.hpp +0 -0
  466. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat3x2.inl +0 -0
  467. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat3x3.hpp +0 -0
  468. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat3x3.inl +0 -0
  469. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat3x4.hpp +0 -0
  470. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat3x4.inl +0 -0
  471. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat4x2.hpp +0 -0
  472. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat4x2.inl +0 -0
  473. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat4x3.hpp +0 -0
  474. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat4x3.inl +0 -0
  475. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat4x4.hpp +0 -0
  476. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat4x4.inl +0 -0
  477. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_mat4x4_simd.inl +0 -0
  478. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_quat.hpp +0 -0
  479. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_quat.inl +0 -0
  480. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_quat_simd.inl +0 -0
  481. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_vec1.hpp +0 -0
  482. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_vec1.inl +0 -0
  483. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_vec2.hpp +0 -0
  484. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_vec2.inl +0 -0
  485. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_vec3.hpp +0 -0
  486. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_vec3.inl +0 -0
  487. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_vec4.hpp +0 -0
  488. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_vec4.inl +0 -0
  489. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/detail/type_vec_simd.inl +0 -0
  490. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/exponential.hpp +0 -0
  491. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/_matrix_vectorize.hpp +0 -0
  492. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_clip_space.hpp +0 -0
  493. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_clip_space.inl +0 -0
  494. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_common.hpp +0 -0
  495. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_common.inl +0 -0
  496. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double2x2.hpp +0 -0
  497. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double2x2_precision.hpp +0 -0
  498. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double2x3.hpp +0 -0
  499. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double2x3_precision.hpp +0 -0
  500. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double2x4.hpp +0 -0
  501. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double2x4_precision.hpp +0 -0
  502. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double3x2.hpp +0 -0
  503. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double3x2_precision.hpp +0 -0
  504. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double3x3.hpp +0 -0
  505. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double3x3_precision.hpp +0 -0
  506. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double3x4.hpp +0 -0
  507. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double3x4_precision.hpp +0 -0
  508. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double4x2.hpp +0 -0
  509. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double4x2_precision.hpp +0 -0
  510. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double4x3.hpp +0 -0
  511. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double4x3_precision.hpp +0 -0
  512. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double4x4.hpp +0 -0
  513. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_double4x4_precision.hpp +0 -0
  514. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float2x2.hpp +0 -0
  515. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float2x2_precision.hpp +0 -0
  516. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float2x3.hpp +0 -0
  517. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float2x3_precision.hpp +0 -0
  518. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float2x4.hpp +0 -0
  519. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float2x4_precision.hpp +0 -0
  520. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float3x2.hpp +0 -0
  521. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float3x2_precision.hpp +0 -0
  522. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float3x3.hpp +0 -0
  523. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float3x3_precision.hpp +0 -0
  524. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float3x4.hpp +0 -0
  525. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float3x4_precision.hpp +0 -0
  526. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float4x2.hpp +0 -0
  527. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float4x2_precision.hpp +0 -0
  528. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float4x3.hpp +0 -0
  529. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float4x3_precision.hpp +0 -0
  530. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float4x4.hpp +0 -0
  531. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_float4x4_precision.hpp +0 -0
  532. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int2x2.hpp +0 -0
  533. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int2x2_sized.hpp +0 -0
  534. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int2x3.hpp +0 -0
  535. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int2x3_sized.hpp +0 -0
  536. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int2x4.hpp +0 -0
  537. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int2x4_sized.hpp +0 -0
  538. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int3x2.hpp +0 -0
  539. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int3x2_sized.hpp +0 -0
  540. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int3x3.hpp +0 -0
  541. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int3x3_sized.hpp +0 -0
  542. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int3x4.hpp +0 -0
  543. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int3x4_sized.hpp +0 -0
  544. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int4x2.hpp +0 -0
  545. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int4x2_sized.hpp +0 -0
  546. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int4x3.hpp +0 -0
  547. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int4x3_sized.hpp +0 -0
  548. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int4x4.hpp +0 -0
  549. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_int4x4_sized.hpp +0 -0
  550. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_integer.hpp +0 -0
  551. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_integer.inl +0 -0
  552. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_projection.hpp +0 -0
  553. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_projection.inl +0 -0
  554. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_relational.hpp +0 -0
  555. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_relational.inl +0 -0
  556. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_transform.hpp +0 -0
  557. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_transform.inl +0 -0
  558. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint2x2.hpp +0 -0
  559. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint2x2_sized.hpp +0 -0
  560. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint2x3.hpp +0 -0
  561. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint2x3_sized.hpp +0 -0
  562. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint2x4.hpp +0 -0
  563. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint2x4_sized.hpp +0 -0
  564. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint3x2.hpp +0 -0
  565. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint3x2_sized.hpp +0 -0
  566. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint3x3.hpp +0 -0
  567. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint3x3_sized.hpp +0 -0
  568. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint3x4.hpp +0 -0
  569. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint3x4_sized.hpp +0 -0
  570. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint4x2.hpp +0 -0
  571. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint4x2_sized.hpp +0 -0
  572. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint4x3.hpp +0 -0
  573. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint4x3_sized.hpp +0 -0
  574. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint4x4.hpp +0 -0
  575. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/matrix_uint4x4_sized.hpp +0 -0
  576. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_common.hpp +0 -0
  577. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_common.inl +0 -0
  578. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_common_simd.inl +0 -0
  579. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_double.hpp +0 -0
  580. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_double_precision.hpp +0 -0
  581. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_exponential.hpp +0 -0
  582. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_exponential.inl +0 -0
  583. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_float.hpp +0 -0
  584. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_float_precision.hpp +0 -0
  585. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_geometric.hpp +0 -0
  586. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_geometric.inl +0 -0
  587. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_relational.hpp +0 -0
  588. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_relational.inl +0 -0
  589. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_transform.hpp +0 -0
  590. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_transform.inl +0 -0
  591. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_trigonometric.hpp +0 -0
  592. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/quaternion_trigonometric.inl +0 -0
  593. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_common.hpp +0 -0
  594. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_common.inl +0 -0
  595. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_constants.hpp +0 -0
  596. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_constants.inl +0 -0
  597. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_int_sized.hpp +0 -0
  598. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_integer.hpp +0 -0
  599. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_integer.inl +0 -0
  600. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_packing.hpp +0 -0
  601. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_packing.inl +0 -0
  602. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_reciprocal.hpp +0 -0
  603. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_reciprocal.inl +0 -0
  604. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_relational.hpp +0 -0
  605. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_relational.inl +0 -0
  606. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_uint_sized.hpp +0 -0
  607. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_ulp.hpp +0 -0
  608. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/scalar_ulp.inl +0 -0
  609. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_bool1.hpp +0 -0
  610. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_bool1_precision.hpp +0 -0
  611. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_bool2.hpp +0 -0
  612. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_bool2_precision.hpp +0 -0
  613. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_bool3.hpp +0 -0
  614. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_bool3_precision.hpp +0 -0
  615. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_bool4.hpp +0 -0
  616. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_bool4_precision.hpp +0 -0
  617. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_common.hpp +0 -0
  618. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_common.inl +0 -0
  619. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_double1.hpp +0 -0
  620. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_double1_precision.hpp +0 -0
  621. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_double2.hpp +0 -0
  622. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_double2_precision.hpp +0 -0
  623. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_double3.hpp +0 -0
  624. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_double3_precision.hpp +0 -0
  625. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_double4.hpp +0 -0
  626. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_double4_precision.hpp +0 -0
  627. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_float1.hpp +0 -0
  628. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_float1_precision.hpp +0 -0
  629. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_float2.hpp +0 -0
  630. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_float2_precision.hpp +0 -0
  631. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_float3.hpp +0 -0
  632. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_float3_precision.hpp +0 -0
  633. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_float4.hpp +0 -0
  634. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_float4_precision.hpp +0 -0
  635. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_int1.hpp +0 -0
  636. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_int1_sized.hpp +0 -0
  637. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_int2.hpp +0 -0
  638. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_int2_sized.hpp +0 -0
  639. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_int3.hpp +0 -0
  640. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_int3_sized.hpp +0 -0
  641. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_int4.hpp +0 -0
  642. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_int4_sized.hpp +0 -0
  643. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_integer.hpp +0 -0
  644. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_integer.inl +0 -0
  645. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_packing.hpp +0 -0
  646. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_packing.inl +0 -0
  647. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_reciprocal.hpp +0 -0
  648. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_reciprocal.inl +0 -0
  649. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_relational.hpp +0 -0
  650. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_relational.inl +0 -0
  651. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_uint1.hpp +0 -0
  652. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_uint1_sized.hpp +0 -0
  653. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_uint2.hpp +0 -0
  654. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_uint2_sized.hpp +0 -0
  655. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_uint3.hpp +0 -0
  656. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_uint3_sized.hpp +0 -0
  657. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_uint4.hpp +0 -0
  658. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_uint4_sized.hpp +0 -0
  659. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_ulp.hpp +0 -0
  660. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext/vector_ulp.inl +0 -0
  661. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/ext.hpp +0 -0
  662. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/fwd.hpp +0 -0
  663. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/geometric.hpp +0 -0
  664. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/glm.hpp +0 -0
  665. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/bitfield.hpp +0 -0
  666. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/bitfield.inl +0 -0
  667. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/color_space.hpp +0 -0
  668. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/color_space.inl +0 -0
  669. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/constants.hpp +0 -0
  670. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/constants.inl +0 -0
  671. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/epsilon.hpp +0 -0
  672. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/epsilon.inl +0 -0
  673. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/integer.hpp +0 -0
  674. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/integer.inl +0 -0
  675. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/matrix_access.hpp +0 -0
  676. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/matrix_access.inl +0 -0
  677. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/matrix_integer.hpp +0 -0
  678. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/matrix_inverse.hpp +0 -0
  679. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/matrix_inverse.inl +0 -0
  680. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/matrix_transform.hpp +0 -0
  681. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/matrix_transform.inl +0 -0
  682. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/noise.hpp +0 -0
  683. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/noise.inl +0 -0
  684. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/packing.hpp +0 -0
  685. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/packing.inl +0 -0
  686. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/quaternion.hpp +0 -0
  687. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/quaternion.inl +0 -0
  688. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/quaternion_simd.inl +0 -0
  689. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/random.hpp +0 -0
  690. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/random.inl +0 -0
  691. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/reciprocal.hpp +0 -0
  692. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/round.hpp +0 -0
  693. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/round.inl +0 -0
  694. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/type_aligned.hpp +0 -0
  695. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/type_precision.hpp +0 -0
  696. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/type_precision.inl +0 -0
  697. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/type_ptr.hpp +0 -0
  698. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/type_ptr.inl +0 -0
  699. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/ulp.hpp +0 -0
  700. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/ulp.inl +0 -0
  701. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtc/vec1.hpp +0 -0
  702. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/associated_min_max.hpp +0 -0
  703. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/associated_min_max.inl +0 -0
  704. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/bit.hpp +0 -0
  705. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/bit.inl +0 -0
  706. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/closest_point.hpp +0 -0
  707. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/closest_point.inl +0 -0
  708. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/color_encoding.hpp +0 -0
  709. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/color_encoding.inl +0 -0
  710. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/color_space.hpp +0 -0
  711. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/color_space.inl +0 -0
  712. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/color_space_YCoCg.hpp +0 -0
  713. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/color_space_YCoCg.inl +0 -0
  714. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/common.hpp +0 -0
  715. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/common.inl +0 -0
  716. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/compatibility.hpp +0 -0
  717. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/compatibility.inl +0 -0
  718. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/component_wise.hpp +0 -0
  719. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/component_wise.inl +0 -0
  720. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/dual_quaternion.hpp +0 -0
  721. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/dual_quaternion.inl +0 -0
  722. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/easing.hpp +0 -0
  723. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/easing.inl +0 -0
  724. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/euler_angles.hpp +0 -0
  725. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/euler_angles.inl +0 -0
  726. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/extend.hpp +0 -0
  727. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/extend.inl +0 -0
  728. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/extended_min_max.hpp +0 -0
  729. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/extended_min_max.inl +0 -0
  730. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/exterior_product.hpp +0 -0
  731. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/exterior_product.inl +0 -0
  732. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/fast_exponential.hpp +0 -0
  733. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/fast_exponential.inl +0 -0
  734. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/fast_square_root.hpp +0 -0
  735. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/fast_square_root.inl +0 -0
  736. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/fast_trigonometry.hpp +0 -0
  737. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/fast_trigonometry.inl +0 -0
  738. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/float_normalize.inl +0 -0
  739. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/functions.hpp +0 -0
  740. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/functions.inl +0 -0
  741. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/gradient_paint.hpp +0 -0
  742. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/gradient_paint.inl +0 -0
  743. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/handed_coordinate_space.hpp +0 -0
  744. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/handed_coordinate_space.inl +0 -0
  745. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/hash.hpp +0 -0
  746. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/hash.inl +0 -0
  747. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/integer.hpp +0 -0
  748. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/integer.inl +0 -0
  749. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/intersect.hpp +0 -0
  750. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/intersect.inl +0 -0
  751. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/io.hpp +0 -0
  752. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/io.inl +0 -0
  753. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/iteration.hpp +0 -0
  754. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/iteration.inl +0 -0
  755. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/log_base.hpp +0 -0
  756. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/log_base.inl +0 -0
  757. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_cross_product.hpp +0 -0
  758. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_cross_product.inl +0 -0
  759. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_decompose.hpp +0 -0
  760. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_decompose.inl +0 -0
  761. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_factorisation.hpp +0 -0
  762. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_factorisation.inl +0 -0
  763. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_interpolation.hpp +0 -0
  764. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_interpolation.inl +0 -0
  765. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_major_storage.hpp +0 -0
  766. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_major_storage.inl +0 -0
  767. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_operation.hpp +0 -0
  768. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_operation.inl +0 -0
  769. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_query.hpp +0 -0
  770. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_query.inl +0 -0
  771. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_transform_2d.hpp +0 -0
  772. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/matrix_transform_2d.inl +0 -0
  773. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/mixed_product.hpp +0 -0
  774. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/mixed_product.inl +0 -0
  775. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/norm.hpp +0 -0
  776. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/norm.inl +0 -0
  777. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/normal.hpp +0 -0
  778. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/normal.inl +0 -0
  779. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/normalize_dot.hpp +0 -0
  780. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/normalize_dot.inl +0 -0
  781. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/number_precision.hpp +0 -0
  782. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/optimum_pow.hpp +0 -0
  783. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/optimum_pow.inl +0 -0
  784. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/orthonormalize.hpp +0 -0
  785. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/orthonormalize.inl +0 -0
  786. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/pca.hpp +0 -0
  787. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/pca.inl +0 -0
  788. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/perpendicular.hpp +0 -0
  789. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/perpendicular.inl +0 -0
  790. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/polar_coordinates.hpp +0 -0
  791. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/polar_coordinates.inl +0 -0
  792. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/projection.hpp +0 -0
  793. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/projection.inl +0 -0
  794. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/quaternion.hpp +0 -0
  795. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/quaternion.inl +0 -0
  796. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/range.hpp +0 -0
  797. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/raw_data.hpp +0 -0
  798. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/raw_data.inl +0 -0
  799. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/rotate_normalized_axis.hpp +0 -0
  800. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/rotate_normalized_axis.inl +0 -0
  801. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/rotate_vector.hpp +0 -0
  802. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/rotate_vector.inl +0 -0
  803. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/scalar_multiplication.hpp +0 -0
  804. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/scalar_relational.hpp +0 -0
  805. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/scalar_relational.inl +0 -0
  806. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/spline.hpp +0 -0
  807. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/spline.inl +0 -0
  808. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/std_based_type.hpp +0 -0
  809. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/std_based_type.inl +0 -0
  810. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/string_cast.hpp +0 -0
  811. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/string_cast.inl +0 -0
  812. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/structured_bindings.hpp +0 -0
  813. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/structured_bindings.inl +0 -0
  814. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/texture.hpp +0 -0
  815. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/texture.inl +0 -0
  816. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/transform.hpp +0 -0
  817. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/transform.inl +0 -0
  818. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/transform2.hpp +0 -0
  819. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/transform2.inl +0 -0
  820. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/type_aligned.hpp +0 -0
  821. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/type_aligned.inl +0 -0
  822. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/type_trait.hpp +0 -0
  823. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/type_trait.inl +0 -0
  824. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/vec_swizzle.hpp +0 -0
  825. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/vector_angle.hpp +0 -0
  826. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/vector_angle.inl +0 -0
  827. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/vector_query.hpp +0 -0
  828. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/vector_query.inl +0 -0
  829. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/wrap.hpp +0 -0
  830. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/gtx/wrap.inl +0 -0
  831. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/integer.hpp +0 -0
  832. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/mat2x2.hpp +0 -0
  833. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/mat2x3.hpp +0 -0
  834. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/mat2x4.hpp +0 -0
  835. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/mat3x2.hpp +0 -0
  836. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/mat3x3.hpp +0 -0
  837. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/mat3x4.hpp +0 -0
  838. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/mat4x2.hpp +0 -0
  839. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/mat4x3.hpp +0 -0
  840. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/mat4x4.hpp +0 -0
  841. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/matrix.hpp +0 -0
  842. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/packing.hpp +0 -0
  843. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/simd/common.h +0 -0
  844. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/simd/exponential.h +0 -0
  845. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/simd/geometric.h +0 -0
  846. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/simd/integer.h +0 -0
  847. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/simd/matrix.h +0 -0
  848. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/simd/neon.h +0 -0
  849. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/simd/packing.h +0 -0
  850. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/simd/platform.h +0 -0
  851. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/simd/trigonometric.h +0 -0
  852. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/simd/vector_relational.h +0 -0
  853. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/trigonometric.hpp +0 -0
  854. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/vec2.hpp +0 -0
  855. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/vec3.hpp +0 -0
  856. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/vec4.hpp +0 -0
  857. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/glm/glm/vector_relational.hpp +0 -0
  858. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/json/LICENSE.MIT +0 -0
  859. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/json/README.md +0 -0
  860. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/json/include/nlohmann/json.hpp +0 -0
  861. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/json/include/nlohmann/json_fwd.hpp +0 -0
  862. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/nanovdb/LICENSE +0 -0
  863. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/nanovdb/PNanoVDB.h +0 -0
  864. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/stb/LICENSE +0 -0
  865. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/stb/README.md +0 -0
  866. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/stb/stb_image.h +0 -0
  867. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/stb/stb_image_write.h +0 -0
  868. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/stb.cpp +0 -0
  869. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vma/LICENSE.txt +0 -0
  870. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vma/README.md +0 -0
  871. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vma/include/vk_mem_alloc.h +0 -0
  872. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vma.cpp +0 -0
  873. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/volk/LICENSE.md +0 -0
  874. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/volk/README.md +0 -0
  875. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/volk/volk.c +0 -0
  876. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/volk/volk.h +0 -0
  877. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/LICENSE.md +0 -0
  878. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/LICENSES/Apache-2.0.txt +0 -0
  879. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/LICENSES/MIT.txt +0 -0
  880. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/README.md +0 -0
  881. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std.h +0 -0
  882. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_decode.h +0 -0
  883. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_encode.h +0 -0
  884. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std.h +0 -0
  885. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_decode.h +0 -0
  886. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_encode.h +0 -0
  887. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std.h +0 -0
  888. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_decode.h +0 -0
  889. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_encode.h +0 -0
  890. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std.h +0 -0
  891. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std_decode.h +0 -0
  892. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vk_video/vulkan_video_codecs_common.h +0 -0
  893. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vk_icd.h +0 -0
  894. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vk_layer.h +0 -0
  895. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vk_platform.h +0 -0
  896. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan.h +0 -0
  897. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_android.h +0 -0
  898. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_beta.h +0 -0
  899. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_core.h +0 -0
  900. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_directfb.h +0 -0
  901. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_fuchsia.h +0 -0
  902. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_ggp.h +0 -0
  903. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_ios.h +0 -0
  904. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_macos.h +0 -0
  905. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_metal.h +0 -0
  906. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_ohos.h +0 -0
  907. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_screen.h +0 -0
  908. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_ubm.h +0 -0
  909. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_vi.h +0 -0
  910. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_wayland.h +0 -0
  911. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_win32.h +0 -0
  912. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_xcb.h +0 -0
  913. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_xlib.h +0 -0
  914. {ernie_renderer-0.2.0.dev127 → ernie_renderer-0.2.0.dev135}/third_party/vulkan_headers/include/vulkan/vulkan_xlib_xrandr.h +0 -0
@@ -145,7 +145,7 @@ jobs:
145
145
  - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
146
146
  with:
147
147
  python-version: "3.12"
148
- - run: python -m pip install pytest jsonschema
148
+ - run: python -m pip install pytest jsonschema numpy pillow
149
149
  - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
150
150
  with:
151
151
  name: build-${{ matrix.os }}
@@ -190,7 +190,7 @@ jobs:
190
190
  - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
191
191
  with:
192
192
  python-version: "3.12"
193
- - run: python -m pip install nanobind ninja pytest gcovr
193
+ - run: python -m pip install nanobind ninja pytest gcovr numpy pillow
194
194
  - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
195
195
  with:
196
196
  path: .deps
@@ -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 ".dev127" CACHE STRING "Pre-release suffix of Ernie's version")
18
+ set(ERNIE_VERSION_SUFFIX ".dev135" CACHE STRING "Pre-release suffix of Ernie's version")
19
19
  set(ERNIE_VERSION "${PROJECT_VERSION}${ERNIE_VERSION_SUFFIX}")
20
20
 
21
21
  option(ERNIE_BUILD_TESTS "Build Ernie's tests" OFF)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ernie-renderer
3
- Version: 0.2.0.dev127
3
+ Version: 0.2.0.dev135
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
@@ -9,8 +9,10 @@ Project-URL: Homepage, https://github.com/alexmaietta/ernie
9
9
  Project-URL: Repository, https://github.com/alexmaietta/ernie
10
10
  Project-URL: Issues, https://github.com/alexmaietta/ernie/issues
11
11
  Requires-Python: >=3.10
12
+ Requires-Dist: numpy>=1.24
12
13
  Provides-Extra: test
13
14
  Requires-Dist: pytest>=8; extra == "test"
15
+ Requires-Dist: pillow; extra == "test"
14
16
  Description-Content-Type: text/markdown
15
17
 
16
18
  > 🚧 **This project is in active beta development.** This means the API is unstable, features may be added or removed, and breaking changes are likely to occur frequently and without notice as the design is refined.
@@ -42,7 +42,10 @@ else()
42
42
  endif()
43
43
 
44
44
  set(ernie_public_headers
45
+ util/algorithm.h
46
+ util/bytes.h
45
47
  util/glm.h
48
+ util/hash_index.h
46
49
  util/log.h
47
50
  util/file.h
48
51
  util/profiler.h
@@ -52,6 +55,31 @@ set(ernie_public_headers
52
55
  io/image.h
53
56
  io/raster.h
54
57
  io/texture.h
58
+ geometry/bounds.h
59
+ physics/astronomy.h
60
+ scene/convert.h
61
+ scene/extent_cache.h
62
+ scene/holder_index.h
63
+ scene/path.h
64
+ scene/scene.h
65
+ scene/schema.h
66
+ scene/storage.h
67
+ scene/time_samples.h
68
+ scene/tokens.h
69
+ scene/value.h
70
+ scene/view.h
71
+ scene/xform.h
72
+ scene/schema/camera.h
73
+ scene/schema/collection.h
74
+ scene/schema/geom.h
75
+ scene/schema/instancer.h
76
+ scene/schema/lux.h
77
+ scene/schema/mesh.h
78
+ scene/schema/planet.h
79
+ scene/schema/render.h
80
+ scene/schema/shade.h
81
+ scene/schema/vol.h
82
+ render/renderer.h
55
83
  )
56
84
  foreach(header ${ernie_public_headers})
57
85
  get_filename_component(directory "${header}" DIRECTORY)
@@ -7,8 +7,8 @@
7
7
  #include "ernie/app/imgui_backend.h"
8
8
  #include "ernie/app/ui.h"
9
9
  #include "ernie/device/bindless.h"
10
- #include "ernie/render/camera_pass.h"
11
10
  #include "ernie/render/device_scene.h"
11
+ #include "ernie/render/rt/camera_pass.h"
12
12
 
13
13
  #include <glm/vec2.hpp>
14
14
 
@@ -5,6 +5,8 @@
5
5
  #pragma once
6
6
 
7
7
  #include "ernie/device/arena.h"
8
+ #include "ernie/device/staging.h"
9
+ #include "ernie/util/algorithm.h"
8
10
  #include "ernie/util/tensor.h"
9
11
 
10
12
  #include <cstdint>
@@ -104,4 +106,15 @@ class DeviceColumn {
104
106
  BufferRange range_;
105
107
  };
106
108
 
109
+ /// @brief Stages `rows` of a host mirror into the same rows of `column`. The rows are sorted and
110
+ /// made unique in place, and those past the mirror's end dropped; the caller clears them.
111
+ template <typename T>
112
+ void StageRows(Uploader& uploader, const DeviceColumn& column, const std::vector<T>& host,
113
+ std::vector<std::uint32_t>& rows) {
114
+ SortUnique(rows);
115
+ std::erase_if(rows, [&](std::uint32_t row) { return row >= host.size(); });
116
+ uploader.WriteRows(column.Storage(), column.Range().offset, column.RowBytes(),
117
+ std::as_bytes(std::span(host)), rows);
118
+ }
119
+
107
120
  } // namespace ernie
@@ -98,8 +98,12 @@ std::vector<std::uint32_t> ShaderCompiler::Spirv(std::span<const ShaderModule> m
98
98
  ERNIE_ZONE("Compile Slang to SPIR-V");
99
99
  const Slang::ComPtr<slang::IBlob> code =
100
100
  session_->Compile(modules, entryPoint, SLANG_SPIRV, "spirv_1_6");
101
- std::vector<std::uint32_t> words(code->getBufferSize() / 4);
102
- std::memcpy(words.data(), code->getBufferPointer(), words.size() * 4);
101
+ constexpr std::size_t kWord = sizeof(std::uint32_t);
102
+ if (code->getBufferSize() % kWord != 0) {
103
+ throw std::runtime_error("Slang's SPIR-V is not whole 32-bit words");
104
+ }
105
+ std::vector<std::uint32_t> words(code->getBufferSize() / kWord);
106
+ std::memcpy(words.data(), code->getBufferPointer(), code->getBufferSize());
103
107
  return words;
104
108
  }
105
109
 
@@ -42,8 +42,9 @@ const std::array kExtensions{
42
42
  /// - Vulkan does not promise `fma` rounds once (lavapipe does not): double-float products split
43
43
  /// their operands instead.
44
44
  void WorkAroundDrivers(VkDriverId driver, DeviceCapabilities& capabilities) {
45
- #if defined(__APPLE__)
46
- // Homebrew's lavapipe crashes or hangs building and tracing acceleration structures.
45
+ #if defined(__aarch64__) || defined(_M_ARM64)
46
+ // lavapipe on arm64 crashes or hangs building and tracing acceleration structures: Homebrew's
47
+ // on macOS, and Mesa 24's on Ubuntu 24.04.
47
48
  if (driver == VK_DRIVER_ID_MESA_LLVMPIPE) {
48
49
  capabilities.rayQuery = false;
49
50
  }
@@ -230,7 +230,8 @@ Image Graph::Import(DeviceImage& image, std::string_view name) {
230
230
  }
231
231
 
232
232
  Buffer Graph::Import(const DeviceColumn& column, std::string_view name) {
233
- return Import(column.Storage(), column.Range().offset, column.Bytes(), name);
233
+ return Import(column.Storage(), column.Range().offset, column.Bytes(),
234
+ name.empty() ? column.Name() : name);
234
235
  }
235
236
 
236
237
  Acceleration Graph::Import(const AccelerationStructure& structure) {
@@ -562,4 +563,25 @@ std::string Graph::Dot() const {
562
563
  return dot.str();
563
564
  }
564
565
 
566
+ void AddUploadPass(Graph& graph, std::string_view name, Uploader& uploader,
567
+ std::span<Buffer> targets) {
568
+ if (!uploader.Staged()) {
569
+ return;
570
+ }
571
+ graph.Add(
572
+ name, Kind::Copy,
573
+ [&](PassBuilder& pass) {
574
+ for (Buffer& target : targets) {
575
+ if (target.Valid()) {
576
+ target = pass.Write(target, Use::CopyDst);
577
+ }
578
+ }
579
+ },
580
+ [&uploader](PassContext& pass) {
581
+ for (std::shared_ptr<const ernie::Buffer>& staging : uploader.Record(pass.commands)) {
582
+ pass.Keep(std::move(staging));
583
+ }
584
+ });
585
+ }
586
+
565
587
  } // namespace ernie::graph
@@ -173,8 +173,9 @@ class Graph {
173
173
  /// resource. The image outlives `Execute`'s work.
174
174
  /// @return The handle of its latest version.
175
175
  Image Import(DeviceImage& image, std::string_view name);
176
- /// @brief Uses a column's rows, as kernels, CUDA or Warp write them.
177
- Buffer Import(const DeviceColumn& column, std::string_view name);
176
+ /// @brief Uses a column's rows, as kernels, CUDA or Warp write them, under `name` or the
177
+ /// column's own.
178
+ Buffer Import(const DeviceColumn& column, std::string_view name = {});
178
179
  /// @brief Uses a range of a buffer owned outside the graph.
179
180
  Buffer Import(const ernie::Buffer& buffer, std::uint64_t offset, std::uint64_t size,
180
181
  std::string_view name);
@@ -322,4 +323,10 @@ class Graph {
322
323
  bool flushEachPass_ = false;
323
324
  };
324
325
 
326
+ /// @brief Adds a copy pass recording what `uploader` staged into `targets`, which later passes then
327
+ /// see written; invalid handles among them are skipped. The staging buffers live until the graph's
328
+ /// work is done. Nothing is added when nothing is staged.
329
+ void AddUploadPass(Graph& graph, std::string_view name, Uploader& uploader,
330
+ std::span<Buffer> targets);
331
+
325
332
  } // namespace ernie::graph
@@ -4,7 +4,16 @@ include("${PROJECT_SOURCE_DIR}/cmake/third_party/nanobind.cmake")
4
4
  # The package is assembled in the build tree, so tests import it with PYTHONPATH=<build>/python.
5
5
  set(ernie_package_dir "${PROJECT_BINARY_DIR}/python/ernie")
6
6
 
7
- nanobind_add_module(_ernie STABLE_ABI NB_STATIC module.cpp device.cpp dlpack.cpp scene.cpp)
7
+ nanobind_add_module(
8
+ _ernie
9
+ STABLE_ABI
10
+ NB_STATIC
11
+ module.cpp
12
+ device.cpp
13
+ dlpack.cpp
14
+ render.cpp
15
+ scene.cpp
16
+ )
8
17
  target_link_libraries(
9
18
  _ernie
10
19
  PRIVATE ernie_static ernie_volk ernie_vma ernie_json ernie_build_options
@@ -3,17 +3,25 @@
3
3
 
4
4
  from ernie import _ernie
5
5
  from ernie._ernie import (
6
+ PRIM_TYPES,
6
7
  DeviceColumn,
7
8
  DeviceContext,
8
9
  Prim,
10
+ Renderer,
9
11
  Scene,
10
12
  SceneArray,
11
13
  VulkanDeviceInfo,
12
14
  VulkanDeviceType,
13
15
  __version__,
16
+ distant_light_transform,
17
+ look_at_transform,
18
+ tokens,
14
19
  vulkan_devices,
15
20
  )
16
21
 
22
+ # Each prim type by its name, for scene.define("/World/Rock", ernie.Sphere).
23
+ globals().update({name: name for name in PRIM_TYPES})
24
+
17
25
 
18
26
  def cuda_allocator():
19
27
  """PyTorch's allocator for tensors Ernie shares in place with ``DeviceContext.wrap``.
@@ -33,14 +41,20 @@ def cuda_allocator():
33
41
 
34
42
 
35
43
  __all__ = [
44
+ "PRIM_TYPES",
36
45
  "DeviceColumn",
37
46
  "DeviceContext",
38
47
  "Prim",
48
+ "Renderer",
39
49
  "Scene",
40
50
  "SceneArray",
41
51
  "VulkanDeviceInfo",
42
52
  "VulkanDeviceType",
43
53
  "__version__",
44
54
  "cuda_allocator",
55
+ "distant_light_transform",
56
+ "look_at_transform",
57
+ "tokens",
45
58
  "vulkan_devices",
59
+ *PRIM_TYPES,
46
60
  ]
@@ -3,6 +3,7 @@
3
3
  /// @brief The _ernie Python extension module.
4
4
  #include "ernie/device/device.h"
5
5
  #include "ernie/python/device.h"
6
+ #include "ernie/python/render.h"
6
7
  #include "ernie/python/scene.h"
7
8
  #include "ernie/util/version.h"
8
9
 
@@ -35,6 +36,7 @@ NB_MODULE(_ernie, module) {
35
36
 
36
37
  ernie::python::BindDevice(module);
37
38
  ernie::python::BindScene(module);
39
+ ernie::python::BindRender(module);
38
40
 
39
41
  module.def("vulkan_devices", &ernie::ListVulkanDevices,
40
42
  "Lists the Vulkan devices of the installed drivers.");
@@ -0,0 +1,48 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ /// @file render.cpp
3
+ /// @brief Python bindings of the renderer: a scene's render settings rendered to a NumPy image.
4
+ #include "ernie/python/render.h"
5
+
6
+ #include "ernie/render/renderer.h"
7
+
8
+ #include <nanobind/ndarray.h>
9
+ #include <nanobind/stl/string.h>
10
+
11
+ #include <array>
12
+ #include <string>
13
+
14
+ namespace nb = nanobind;
15
+
16
+ namespace ernie::python {
17
+
18
+ void BindRender(nb::module_& module) {
19
+ nb::class_<Renderer>(module, "Renderer",
20
+ "A device and what it keeps of the scene it last rendered, so rendering "
21
+ "the same scene again costs only what changed.")
22
+ .def(
23
+ "__init__",
24
+ [](Renderer* self, const std::string& device, bool validation) {
25
+ new (self) Renderer(RendererOptions{.device = device, .validation = validation});
26
+ },
27
+ nb::kw_only(), nb::arg("device") = "", nb::arg("validation") = false,
28
+ "Opens a device that ray traces: by UUID or part of its name, or the best one.")
29
+ .def(
30
+ "render",
31
+ [](Renderer& self, const Scene& scene) {
32
+ // The array owns the rendered tensor, so its bytes are copied once, off the device.
33
+ auto* image = new Tensor(self.Render(scene));
34
+ const nb::capsule owner(
35
+ image, [](void* tensor) noexcept { delete static_cast<Tensor*>(tensor); });
36
+ const std::vector<std::int64_t>& shape = image->Shape();
37
+ const std::array<std::size_t, 3> dimensions{static_cast<std::size_t>(shape[0]),
38
+ static_cast<std::size_t>(shape[1]),
39
+ static_cast<std::size_t>(shape[2])};
40
+ return nb::ndarray<nb::numpy, std::uint8_t, nb::ndim<3>>(
41
+ static_cast<std::uint8_t*>(image->Data()), 3, dimensions.data(), owner);
42
+ },
43
+ nb::arg("scene"),
44
+ "Renders the camera of the scene's first RenderSettings at its resolution: LdrColor "
45
+ "as a (height, width, 4) uint8 NumPy array.");
46
+ }
47
+
48
+ } // namespace ernie::python
@@ -0,0 +1,13 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ /// @file render.h
3
+ /// @brief Binding the renderer to Python.
4
+ #pragma once
5
+
6
+ #include <nanobind/nanobind.h>
7
+
8
+ namespace ernie::python {
9
+
10
+ /// @brief Adds `Renderer` to the module.
11
+ void BindRender(nanobind::module_& module);
12
+
13
+ } // namespace ernie::python
@@ -9,9 +9,12 @@
9
9
  #include "ernie/scene/json.h"
10
10
  #include "ernie/scene/json_value.h"
11
11
  #include "ernie/scene/scene.h"
12
+ #include "ernie/scene/schema.h"
13
+ #include "ernie/scene/tokens.h"
12
14
  #include "ernie/scene/xform.h"
13
15
  #include "ernie/util/algorithm.h"
14
16
 
17
+ #include <nanobind/stl/array.h>
15
18
  #include <nanobind/stl/filesystem.h>
16
19
  #include <nanobind/stl/optional.h>
17
20
  #include <nanobind/stl/string.h>
@@ -34,16 +37,28 @@ namespace nb = nanobind;
34
37
  namespace ernie::python {
35
38
  namespace {
36
39
 
37
- /// A prim of a scene, as long as it is not removed.
40
+ /// A prim of a scene, as long as it is not removed; it keeps its scene alive.
38
41
  struct Prim {
39
42
  PrimId id;
43
+ nb::object scene;
44
+
45
+ Scene& Owner() const {
46
+ return nb::cast<Scene&>(scene);
47
+ }
40
48
  };
41
49
 
50
+ Prim MakePrim(Scene& scene, PrimId id) {
51
+ return {id, nb::find(&scene)};
52
+ }
53
+
42
54
  /// A prim, or the path of one.
43
55
  using Target = std::variant<Prim, std::string>;
44
56
 
45
57
  PrimId Resolve(const Scene& scene, const Target& target) {
46
58
  if (const Prim* prim = std::get_if<Prim>(&target)) {
59
+ if (&prim->Owner() != &scene) {
60
+ throw nb::value_error("The prim is another scene's");
61
+ }
47
62
  if (!scene.Store().Alive(prim->id)) {
48
63
  throw nb::value_error("The prim has been removed");
49
64
  }
@@ -170,19 +185,70 @@ XformOps ReadXformArguments(const nb::object& translate, const nb::object& rotat
170
185
  return ReadXform(xform);
171
186
  }
172
187
 
188
+ /// Authors an attribute from a Python value: an array is shared in place, anything else read as
189
+ /// scene files read it.
190
+ void SetValue(Scene& scene, PrimId prim, const std::string& attribute, const nb::handle& value) {
191
+ if (IsArray(value)) {
192
+ Tensor array = TakeTensor(nb::borrow(value), nb::none());
193
+ Attempt(scene, prim, attribute, [&] { scene.Write(prim, attribute, std::move(array)); });
194
+ return;
195
+ }
196
+ const Json json = ToJson(value);
197
+ Attempt(scene, prim, attribute, [&] { LoadAttribute(scene, prim, attribute, json); });
198
+ }
199
+
200
+ using Vector3 = std::array<double, 3>;
201
+
202
+ glm::dvec3 ToDvec3(const Vector3& v) {
203
+ return {v[0], v[1], v[2]};
204
+ }
205
+
206
+ /// The `define` keywords that author transform ops rather than attributes.
207
+ constexpr std::array<std::string_view, 5> kXformKeywords{"translate", "rotate", "rotation_order",
208
+ "orient", "scale"};
209
+
210
+ /// @return The transform ops `define`'s keywords author, or none when they author no op.
211
+ std::optional<XformOps> TakeXformKeywords(const nb::kwargs& keywords) {
212
+ const auto keyword = [&](const char* name) {
213
+ return keywords.contains(name) ? nb::object(keywords[name]) : nb::none();
214
+ };
215
+ const nb::object order = keyword("rotation_order");
216
+ XformOps xform =
217
+ ReadXformArguments(keyword("translate"), keyword("rotate"),
218
+ order.is_none() ? std::string("XYZ") : nb::cast<std::string>(order),
219
+ keyword("orient"), keyword("scale"));
220
+ if (!xform.translate && !xform.rotate && !xform.orient && !xform.scale) {
221
+ return std::nullopt;
222
+ }
223
+ return xform;
224
+ }
225
+
173
226
  } // namespace
174
227
 
175
228
  void BindScene(nb::module_& module) {
176
229
  nb::class_<Prim>(module, "Prim", "A prim of a scene, valid until it is removed.")
177
- .def("__eq__", [](const Prim& self, const Prim& other) { return self.id == other.id; })
230
+ .def("__eq__",
231
+ [](const Prim& self, const Prim& other) {
232
+ return self.id == other.id && self.scene.is(other.scene);
233
+ })
178
234
  .def("__hash__",
179
235
  [](const Prim& self) {
180
236
  return (static_cast<std::uint64_t>(self.id.generation) << 32) | self.id.slot;
181
237
  })
182
- .def("__repr__", [](const Prim& self) {
183
- return "Prim(" + std::to_string(self.id.slot) + ", " +
184
- std::to_string(self.id.generation) + ")";
185
- });
238
+ .def("__repr__",
239
+ [](const Prim& self) {
240
+ return "Prim(" + std::to_string(self.id.slot) + ", " +
241
+ std::to_string(self.id.generation) + ")";
242
+ })
243
+ .def(
244
+ "set",
245
+ [](const Prim& self, const std::string& attribute, const nb::object& value) {
246
+ Scene& scene = self.Owner();
247
+ SetValue(scene, Resolve(scene, self), attribute, value);
248
+ return self;
249
+ },
250
+ nb::arg("attribute"), nb::arg("value"),
251
+ "Authors an attribute as `Scene.set` does, returning the prim to set more.");
186
252
 
187
253
  nb::class_<SceneArray>(module, "SceneArray",
188
254
  "An array attribute's values, shared in place through DLPack.")
@@ -207,19 +273,32 @@ void BindScene(nb::module_& module) {
207
273
  .def(nb::init<>())
208
274
  .def(
209
275
  "define",
210
- [](Scene& self, const std::string& path, const std::string& type) {
211
- return Prim{self.Define(Path(path), type)};
276
+ [](Scene& self, const std::string& path, const std::string& type,
277
+ const nb::kwargs& attributes) {
278
+ const PrimId prim = self.Define(Path(path), type);
279
+ for (const auto& [key, value] : attributes) {
280
+ const std::string name = nb::cast<std::string>(key);
281
+ if (std::ranges::find(kXformKeywords, name) == kXformKeywords.end()) {
282
+ SetValue(self, prim, name, value);
283
+ }
284
+ }
285
+ if (const std::optional<XformOps> xform = TakeXformKeywords(attributes)) {
286
+ SetXform(self, Path(path), *xform);
287
+ }
288
+ return MakePrim(self, prim);
212
289
  },
213
- nb::arg("path"), nb::arg("type") = "",
214
- "Defines a prim of a concrete type, or none, with its missing ancestors.")
290
+ nb::arg("path"), nb::arg("type") = "", nb::arg("attributes"),
291
+ "Defines a prim of a concrete type, or none, with its missing ancestors. Keywords "
292
+ "author its transform ops (translate, rotate, rotation_order, orient, scale, as "
293
+ "`set_xform`) and attributes by name (radius=2.0), as `set` does.")
215
294
  .def(
216
295
  "remove", [](Scene& self, const std::string& path) { return self.Remove(Path(path)); },
217
296
  nb::arg("path"), "Removes a prim and its descendants; whether there was one.")
218
297
  .def(
219
298
  "find",
220
- [](const Scene& self, const std::string& path) -> std::optional<Prim> {
299
+ [](Scene& self, const std::string& path) -> std::optional<Prim> {
221
300
  const std::optional<PrimId> prim = self.Find(Path(path));
222
- return prim ? std::optional<Prim>(Prim{*prim}) : std::nullopt;
301
+ return prim ? std::optional<Prim>(MakePrim(self, *prim)) : std::nullopt;
223
302
  },
224
303
  nb::arg("path"), "The prim at a path, or None.")
225
304
  .def("__contains__",
@@ -265,15 +344,7 @@ void BindScene(nb::module_& module) {
265
344
  "set",
266
345
  [](Scene& self, const Target& target, const std::string& attribute,
267
346
  const nb::object& value) {
268
- const PrimId prim = Resolve(self, target);
269
- if (IsArray(value)) {
270
- Tensor array = TakeTensor(value, nb::none());
271
- Attempt(self, prim, attribute,
272
- [&] { self.Write(prim, attribute, std::move(array)); });
273
- return;
274
- }
275
- const Json json = ToJson(value);
276
- Attempt(self, prim, attribute, [&] { LoadAttribute(self, prim, attribute, json); });
347
+ SetValue(self, Resolve(self, target), attribute, value);
277
348
  },
278
349
  nb::arg("prim"), nb::arg("attribute"), nb::arg("value"),
279
350
  "Authors an attribute: a number, string, sequence for a vector, quaternion "
@@ -370,6 +441,39 @@ void BindScene(nb::module_& module) {
370
441
  "save",
371
442
  [](const Scene& self, const std::filesystem::path& path) { SaveSceneFile(self, path); },
372
443
  nb::arg("path"), "Writes the scene to a scene file.");
444
+
445
+ // Each prim type by its name, for `scene.define(path, ernie.Sphere)`.
446
+ nb::list types;
447
+ for (const SchemaDef* schema : Schemas()) {
448
+ if (schema->kind == SchemaKind::Concrete) {
449
+ const std::string name(schema->name);
450
+ module.attr(name.c_str()) = name;
451
+ types.append(name);
452
+ }
453
+ }
454
+ module.attr("PRIM_TYPES") = nb::tuple(types);
455
+
456
+ nb::module_ names = module.def_submodule("tokens", "Names the scene's code shares.");
457
+ names.attr("TRANSFORM") = std::string(tokens::kTransform);
458
+ names.attr("TRANSLATE") = std::string(tokens::kTranslate);
459
+ names.attr("ORIENT") = std::string(tokens::kOrient);
460
+ names.attr("SCALE") = std::string(tokens::kScale);
461
+ names.attr("XFORM_OP_ORDER") = std::string(tokens::kXformOpOrder);
462
+
463
+ module.def(
464
+ "look_at_transform",
465
+ [](const Vector3& eye, const Vector3& target, const Vector3& up) {
466
+ return TransformRows(LookAtTransform(ToDvec3(eye), ToDvec3(target), ToDvec3(up)));
467
+ },
468
+ nb::arg("eye"), nb::arg("target"), nb::arg("up") = Vector3{0.0, 0.0, 1.0},
469
+ "A camera's transform at `eye` looking at `target`, as 4 rows: cameras look down -z.");
470
+ module.def(
471
+ "distant_light_transform",
472
+ [](const Vector3& towardLight) {
473
+ return TransformRows(DistantLightTransform(ToDvec3(towardLight)));
474
+ },
475
+ nb::arg("toward_light"),
476
+ "A distant light's transform shining from the direction to its source, as 4 rows.");
373
477
  }
374
478
 
375
479
  } // namespace ernie::python
@@ -2,12 +2,13 @@
2
2
  add_library(
3
3
  ernie_render
4
4
  OBJECT
5
- camera_pass.cpp
6
5
  device_scene.cpp
7
6
  geometry.cpp
8
7
  instances.cpp
9
8
  prim_rows.cpp
9
+ renderer.cpp
10
10
  rt/bottom_levels.cpp
11
+ rt/camera_pass.cpp
11
12
  rt/ray_tracer.cpp
12
13
  rt/top_levels.cpp
13
14
  scene_columns.cpp