ernie-renderer 0.2.0.dev117__tar.gz → 0.2.0.dev119__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ernie-renderer might be problematic. Click here for more details.

Files changed (900) hide show
  1. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/CMakeLists.txt +2 -1
  2. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/Dockerfile +2 -0
  3. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/PKG-INFO +1 -1
  4. ernie_renderer-0.2.0.dev119/cmake/EmbedShader.cmake +42 -0
  5. ernie_renderer-0.2.0.dev119/cmake/ErnieShaders.cmake +30 -0
  6. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/CMakeLists.txt +12 -0
  7. ernie_renderer-0.2.0.dev119/ernie/render/ray_tracer.cpp +41 -0
  8. ernie_renderer-0.2.0.dev119/ernie/render/ray_tracer.h +23 -0
  9. ernie_renderer-0.2.0.dev119/ernie/render/shaders/affine.slang +40 -0
  10. ernie_renderer-0.2.0.dev119/ernie/render/shaders/compose.slang +24 -0
  11. ernie_renderer-0.2.0.dev119/ernie/render/shaders/double_float.slang +117 -0
  12. ernie_renderer-0.2.0.dev119/ernie/render/shaders/local.slang +114 -0
  13. ernie_renderer-0.2.0.dev119/ernie/render/shaders/ray_tracer.slang +117 -0
  14. ernie_renderer-0.2.0.dev119/ernie/render/shaders/shapes.slang +158 -0
  15. ernie_renderer-0.2.0.dev119/ernie/render/shaders/world.slang +10 -0
  16. ernie_renderer-0.2.0.dev119/ernie/render/shaders/write_instances.slang +33 -0
  17. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/top_levels.cpp +2 -33
  18. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/transform_graph.cpp +10 -303
  19. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/CMakeLists.txt +1 -0
  20. ernie_renderer-0.2.0.dev119/tests/render/ray_tracer_test.cpp +42 -0
  21. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.clang-format +0 -0
  22. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.clang-tidy +0 -0
  23. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.dockerignore +0 -0
  24. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.gersemirc +0 -0
  25. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.gitattributes +0 -0
  26. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.github/scripts/coverage_badge.py +0 -0
  27. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.github/scripts/install-lavapipe-windows.sh +0 -0
  28. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.github/workflows/ci.yml +0 -0
  29. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.gitignore +0 -0
  30. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/.pre-commit-config.yaml +0 -0
  31. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/CMakePresets.json +0 -0
  32. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/LICENSE +0 -0
  33. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/README.md +0 -0
  34. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/benchmarks/CMakeLists.txt +0 -0
  35. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/benchmarks/bench.h +0 -0
  36. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/benchmarks/device/pose_step.cpp +0 -0
  37. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/benchmarks/main.cpp +0 -0
  38. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/benchmarks/render/transform_graph.cpp +0 -0
  39. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/benchmarks/scene/extents.cpp +0 -0
  40. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/benchmarks/scene/storage.cpp +0 -0
  41. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/ErnieConfig.cmake.in +0 -0
  42. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/ErnieFetch.cmake +0 -0
  43. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/ErnieInstall.cmake +0 -0
  44. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/ErniePackaging.cmake +0 -0
  45. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/ErnieTesting.cmake +0 -0
  46. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/ernie.pc.in +0 -0
  47. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/third_party/dear_imgui.cmake +0 -0
  48. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/third_party/glfw.cmake +0 -0
  49. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/third_party/googletest.cmake +0 -0
  50. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/third_party/nanobind.cmake +0 -0
  51. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/third_party/openexr.cmake +0 -0
  52. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/third_party/slang.cmake +0 -0
  53. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/cmake/third_party/tracy.cmake +0 -0
  54. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/docs/README.md +0 -0
  55. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/docs/index.md +0 -0
  56. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/docs/requirements.txt +0 -0
  57. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/CMakeLists.txt +0 -0
  58. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/CMakeLists.txt +0 -0
  59. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/imgui_backend.cpp +0 -0
  60. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/imgui_backend.h +0 -0
  61. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/main.cpp +0 -0
  62. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/ui.cpp +0 -0
  63. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/ui.h +0 -0
  64. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/viewer.cpp +0 -0
  65. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/app/viewer.h +0 -0
  66. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/CMakeLists.txt +0 -0
  67. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/acceleration.cpp +0 -0
  68. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/acceleration.h +0 -0
  69. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/arena.cpp +0 -0
  70. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/arena.h +0 -0
  71. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/bindless.cpp +0 -0
  72. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/bindless.h +0 -0
  73. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/buffer.cpp +0 -0
  74. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/buffer.h +0 -0
  75. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/column.cpp +0 -0
  76. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/column.h +0 -0
  77. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/context.cpp +0 -0
  78. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/context.h +0 -0
  79. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/cuda.cpp +0 -0
  80. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/cuda.h +0 -0
  81. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/device.h +0 -0
  82. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/external.cpp +0 -0
  83. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/external.h +0 -0
  84. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/image.cpp +0 -0
  85. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/image.h +0 -0
  86. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/instance.cpp +0 -0
  87. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/instance.h +0 -0
  88. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/kernel.cpp +0 -0
  89. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/kernel.h +0 -0
  90. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/profile.cpp +0 -0
  91. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/profile.h +0 -0
  92. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/queue.cpp +0 -0
  93. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/queue.h +0 -0
  94. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/shader_compiler.cpp +0 -0
  95. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/shader_compiler.h +0 -0
  96. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/staging.cpp +0 -0
  97. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/staging.h +0 -0
  98. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/vulkan.cpp +0 -0
  99. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/device/vulkan.h +0 -0
  100. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/geometry/CMakeLists.txt +0 -0
  101. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/geometry/bounds.h +0 -0
  102. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/geometry/triangulation.cpp +0 -0
  103. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/geometry/triangulation.h +0 -0
  104. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/CMakeLists.txt +0 -0
  105. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/blackboard.h +0 -0
  106. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/dependencies.cpp +0 -0
  107. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/dependencies.h +0 -0
  108. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/graph.cpp +0 -0
  109. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/graph.h +0 -0
  110. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/pool.cpp +0 -0
  111. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/graph/pool.h +0 -0
  112. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/CMakeLists.txt +0 -0
  113. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/ies.cpp +0 -0
  114. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/ies.h +0 -0
  115. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/image.cpp +0 -0
  116. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/image.h +0 -0
  117. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/nanovdb.cpp +0 -0
  118. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/nanovdb.h +0 -0
  119. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/raster.cpp +0 -0
  120. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/raster.h +0 -0
  121. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/texture.cpp +0 -0
  122. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/io/texture.h +0 -0
  123. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/CMakeLists.txt +0 -0
  124. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/astronomy.cpp +0 -0
  125. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/astronomy.h +0 -0
  126. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/atmosphere.cpp +0 -0
  127. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/atmosphere.h +0 -0
  128. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/cloud.cpp +0 -0
  129. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/cloud.h +0 -0
  130. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/constants.h +0 -0
  131. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/reflectance_library.cpp +0 -0
  132. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/reflectance_library.h +0 -0
  133. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/reflectance_table.h +0 -0
  134. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/regolith.cpp +0 -0
  135. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/regolith.h +0 -0
  136. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/scattering.cpp +0 -0
  137. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/scattering.h +0 -0
  138. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/solar.cpp +0 -0
  139. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/solar.h +0 -0
  140. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/solar_table.h +0 -0
  141. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/spectrum.cpp +0 -0
  142. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/physics/spectrum.h +0 -0
  143. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/CMakeLists.txt +0 -0
  144. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/device.cpp +0 -0
  145. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/device.h +0 -0
  146. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/dlpack.cpp +0 -0
  147. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/dlpack.h +0 -0
  148. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/ernie/__init__.py +0 -0
  149. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/module.cpp +0 -0
  150. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/scene.cpp +0 -0
  151. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/python/scene.h +0 -0
  152. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/bottom_levels.cpp +0 -0
  153. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/bottom_levels.h +0 -0
  154. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/device_scene.cpp +0 -0
  155. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/device_scene.h +0 -0
  156. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/geometry.cpp +0 -0
  157. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/geometry.h +0 -0
  158. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/instances.cpp +0 -0
  159. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/instances.h +0 -0
  160. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/prim_rows.cpp +0 -0
  161. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/prim_rows.h +0 -0
  162. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/scene_columns.cpp +0 -0
  163. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/scene_columns.h +0 -0
  164. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/top_levels.h +0 -0
  165. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/render/transform_graph.h +0 -0
  166. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/CMakeLists.txt +0 -0
  167. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/animation.cpp +0 -0
  168. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/convert.h +0 -0
  169. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/edit_history.cpp +0 -0
  170. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/edit_history.h +0 -0
  171. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/extent_cache.cpp +0 -0
  172. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/extent_cache.h +0 -0
  173. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/holder_index.cpp +0 -0
  174. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/holder_index.h +0 -0
  175. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/inherit.cpp +0 -0
  176. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/json.cpp +0 -0
  177. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/json.h +0 -0
  178. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/json_value.h +0 -0
  179. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/path.cpp +0 -0
  180. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/path.h +0 -0
  181. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/reference.cpp +0 -0
  182. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/reference.h +0 -0
  183. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/scene.cpp +0 -0
  184. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/scene.h +0 -0
  185. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/camera.cpp +0 -0
  186. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/camera.h +0 -0
  187. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/collection.h +0 -0
  188. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/geom.cpp +0 -0
  189. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/geom.h +0 -0
  190. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/instancer.cpp +0 -0
  191. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/instancer.h +0 -0
  192. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/lux.cpp +0 -0
  193. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/lux.h +0 -0
  194. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/mesh.cpp +0 -0
  195. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/mesh.h +0 -0
  196. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/planet.cpp +0 -0
  197. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/planet.h +0 -0
  198. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/registry.cpp +0 -0
  199. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/render.cpp +0 -0
  200. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/render.h +0 -0
  201. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/shade.cpp +0 -0
  202. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/shade.h +0 -0
  203. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/vol.cpp +0 -0
  204. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema/vol.h +0 -0
  205. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema.cpp +0 -0
  206. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/schema.h +0 -0
  207. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/storage.cpp +0 -0
  208. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/storage.h +0 -0
  209. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/time_samples.cpp +0 -0
  210. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/time_samples.h +0 -0
  211. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/tokens.h +0 -0
  212. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/usd_plugin.cpp +0 -0
  213. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/validate.cpp +0 -0
  214. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/value.h +0 -0
  215. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/view.cpp +0 -0
  216. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/view.h +0 -0
  217. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/xform.cpp +0 -0
  218. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/scene/xform.h +0 -0
  219. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/CMakeLists.txt +0 -0
  220. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/algorithm.h +0 -0
  221. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/bytes.h +0 -0
  222. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/disk_cache.cpp +0 -0
  223. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/disk_cache.h +0 -0
  224. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/file.cpp +0 -0
  225. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/file.h +0 -0
  226. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/glm.h +0 -0
  227. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/hash_index.h +0 -0
  228. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/library.cpp +0 -0
  229. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/library.h +0 -0
  230. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/linear_algebra.h +0 -0
  231. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/log.cpp +0 -0
  232. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/log.h +0 -0
  233. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/math.h +0 -0
  234. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/noise.cpp +0 -0
  235. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/noise.h +0 -0
  236. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/numbers.h +0 -0
  237. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/on_failure.h +0 -0
  238. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/parallel.h +0 -0
  239. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/profiler.cpp +0 -0
  240. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/profiler.h +0 -0
  241. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/random.h +0 -0
  242. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/tensor.cpp +0 -0
  243. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/tensor.h +0 -0
  244. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/text.h +0 -0
  245. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/version.cpp +0 -0
  246. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/version.h +0 -0
  247. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/ernie/util/worker_pool.h +0 -0
  248. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/mkdocs.yml +0 -0
  249. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/pyproject.toml +0 -0
  250. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/app/orbit_camera_test.cpp +0 -0
  251. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/app/shell_test.cpp +0 -0
  252. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/app/view_test.cpp +0 -0
  253. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/app/viewer_test.cpp +0 -0
  254. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/common.h +0 -0
  255. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/consumer/CMakeLists.txt +0 -0
  256. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/consumer/main.cpp +0 -0
  257. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/acceleration_test.cpp +0 -0
  258. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/arena_test.cpp +0 -0
  259. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/bindless_test.cpp +0 -0
  260. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/column_test.cpp +0 -0
  261. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/columns.h +0 -0
  262. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/common.h +0 -0
  263. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/context_test.cpp +0 -0
  264. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/cuda_test.cpp +0 -0
  265. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/external_test.cpp +0 -0
  266. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/kernel_test.cpp +0 -0
  267. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/pose_step.h +0 -0
  268. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/profile_test.cpp +0 -0
  269. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/device/vulkan_devices_test.cpp +0 -0
  270. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/exr/README.md +0 -0
  271. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/exr/make_exr.py +0 -0
  272. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/exr/rgb_float_zip.exr +0 -0
  273. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/exr/rgba_half_window.exr +0 -0
  274. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/exr/y_half_zips.exr +0 -0
  275. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ies/README.md +0 -0
  276. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ies/downlight_quadrant.ies +0 -0
  277. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ies/floodlight_type_b.ies +0 -0
  278. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ies/lamp.tilt +0 -0
  279. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/images/grey16.png +0 -0
  280. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ktx2/README.md +0 -0
  281. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ktx2/quadrants_etc1s.ktx2 +0 -0
  282. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ktx2/quadrants_uastc_zstd.ktx2 +0 -0
  283. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ktx2/tilted_normal_etc1s.ktx2 +0 -0
  284. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/ktx2/tilted_normal_uastc.ktx2 +0 -0
  285. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/scenes/README.md +0 -0
  286. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/scenes/invalid/problems.expected +0 -0
  287. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/scenes/invalid/problems.json +0 -0
  288. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/scenes/rover.json +0 -0
  289. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/scenes/rover.saved.json +0 -0
  290. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/README.md +0 -0
  291. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/float_deflate_predictor3.tif +0 -0
  292. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/float_raw.tif +0 -0
  293. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/int16_bigtiff_bigendian.tif +0 -0
  294. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/rgb_lzw_predictor2.tif +0 -0
  295. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/rgb_planar_lzw.tif +0 -0
  296. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/rgb_planar_raw.tif +0 -0
  297. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/tiff/rgb_tiled_deflate.tif +0 -0
  298. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/volumes/cube.nvdb +0 -0
  299. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/fixtures/volumes/make_nvdb.py +0 -0
  300. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/geometry/bounds_test.cpp +0 -0
  301. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/geometry/triangulation_test.cpp +0 -0
  302. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/graph/dependencies_test.cpp +0 -0
  303. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/graph/graph_test.cpp +0 -0
  304. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/io/ies_test.cpp +0 -0
  305. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/io/image_test.cpp +0 -0
  306. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/io/nanovdb_test.cpp +0 -0
  307. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/io/raster_test.cpp +0 -0
  308. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/io/texture_test.cpp +0 -0
  309. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/astronomy_test.cpp +0 -0
  310. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/atmosphere_test.cpp +0 -0
  311. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/cloud_test.cpp +0 -0
  312. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/reflectance_library_test.cpp +0 -0
  313. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/regolith_test.cpp +0 -0
  314. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/scattering_test.cpp +0 -0
  315. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/solar_test.cpp +0 -0
  316. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/physics/spectrum_test.cpp +0 -0
  317. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/python/conftest.py +0 -0
  318. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/python/test_device_dlpack.py +0 -0
  319. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/python/test_device_torch.py +0 -0
  320. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/python/test_package.py +0 -0
  321. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/python/test_scene.py +0 -0
  322. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/python/test_scene_schema.py +0 -0
  323. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/render/acceleration_scene_test.cpp +0 -0
  324. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/render/device_scene_test.cpp +0 -0
  325. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/render/geometry_test.cpp +0 -0
  326. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/render/scene_columns_test.cpp +0 -0
  327. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/render/transform_graph_test.cpp +0 -0
  328. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/edit_history_test.cpp +0 -0
  329. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/extent_cache_test.cpp +0 -0
  330. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/inherit_test.cpp +0 -0
  331. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/instancer_test.cpp +0 -0
  332. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/json_test.cpp +0 -0
  333. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/lux_test.cpp +0 -0
  334. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/mesh_test.cpp +0 -0
  335. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/path_test.cpp +0 -0
  336. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/planet_test.cpp +0 -0
  337. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/reference_test.cpp +0 -0
  338. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/render_test.cpp +0 -0
  339. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/scene_test.cpp +0 -0
  340. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/schema_test.cpp +0 -0
  341. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/shade_test.cpp +0 -0
  342. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/storage_test.cpp +0 -0
  343. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/time_samples_test.cpp +0 -0
  344. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/vol_test.cpp +0 -0
  345. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/scene/xform_test.cpp +0 -0
  346. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/algorithm_test.cpp +0 -0
  347. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/bytes_test.cpp +0 -0
  348. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/disk_cache_test.cpp +0 -0
  349. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/file_test.cpp +0 -0
  350. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/hash_index_test.cpp +0 -0
  351. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/linear_algebra_test.cpp +0 -0
  352. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/log_test.cpp +0 -0
  353. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/math_test.cpp +0 -0
  354. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/noise_test.cpp +0 -0
  355. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/parallel_test.cpp +0 -0
  356. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/profiler_test.cpp +0 -0
  357. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/random_test.cpp +0 -0
  358. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/tensor_test.cpp +0 -0
  359. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/text_test.cpp +0 -0
  360. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/version_test.cpp +0 -0
  361. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/tests/util/worker_pool_test.cpp +0 -0
  362. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/CMakeLists.txt +0 -0
  363. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/README.md +0 -0
  364. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/LICENSE +0 -0
  365. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/LICENSES/Apache-2.0.txt +0 -0
  366. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/LICENSES/BSD-3-clause.txt +0 -0
  367. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/LICENSES/MIT.txt +0 -0
  368. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/NOTICE +0 -0
  369. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/README.md +0 -0
  370. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu.h +0 -0
  371. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_astc_cfgs.inl +0 -0
  372. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_astc_hdr_core.h +0 -0
  373. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_astc_helpers.h +0 -0
  374. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_containers.h +0 -0
  375. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_containers_impl.h +0 -0
  376. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_dds_transcoder.inl +0 -0
  377. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_etc1_mods.inl +0 -0
  378. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_file_headers.h +0 -0
  379. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_idct.h +0 -0
  380. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder.cpp +0 -0
  381. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder.h +0 -0
  382. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_internal.h +0 -0
  383. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_astc.inc +0 -0
  384. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_astc_0_255.inc +0 -0
  385. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_55.inc +0 -0
  386. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_56.inc +0 -0
  387. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_alpha.inc +0 -0
  388. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_color.inc +0 -0
  389. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_5.inc +0 -0
  390. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_6.inc +0 -0
  391. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_45.inc +0 -0
  392. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_alpha_33.inc +0 -0
  393. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_transcoder_uastc.h +0 -0
  394. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_xbc7_decoder.h +0 -0
  395. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/transcoder/basisu_xbc7_decoder.inl +0 -0
  396. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/zstd/LICENSE +0 -0
  397. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/zstd/zstd.h +0 -0
  398. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/basisu/zstd/zstd_errors.h +0 -0
  399. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/LICENSE +0 -0
  400. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/README.md +0 -0
  401. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/bc7decomp.cpp +0 -0
  402. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/bc7decomp.h +0 -0
  403. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/bc7enc.cpp +0 -0
  404. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/bc7enc.h +0 -0
  405. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/rgbcx.cpp +0 -0
  406. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/rgbcx.h +0 -0
  407. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/rgbcx_table4.h +0 -0
  408. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/bc7enc/rgbcx_table4_small.h +0 -0
  409. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/dlpack/LICENSE +0 -0
  410. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/dlpack/README.md +0 -0
  411. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/dlpack/include/dlpack/dlpack.h +0 -0
  412. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/README.md +0 -0
  413. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/copying.txt +0 -0
  414. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/common.hpp +0 -0
  415. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/_features.hpp +0 -0
  416. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/_fixes.hpp +0 -0
  417. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/_noise.hpp +0 -0
  418. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/_swizzle.hpp +0 -0
  419. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/_swizzle_func.hpp +0 -0
  420. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/_vectorize.hpp +0 -0
  421. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/compute_common.hpp +0 -0
  422. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/compute_vector_decl.hpp +0 -0
  423. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/compute_vector_relational.hpp +0 -0
  424. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_common.inl +0 -0
  425. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_common_simd.inl +0 -0
  426. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_exponential.inl +0 -0
  427. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_exponential_simd.inl +0 -0
  428. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_geometric.inl +0 -0
  429. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_geometric_simd.inl +0 -0
  430. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_integer.inl +0 -0
  431. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_integer_simd.inl +0 -0
  432. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_matrix.inl +0 -0
  433. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_matrix_simd.inl +0 -0
  434. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_packing.inl +0 -0
  435. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_packing_simd.inl +0 -0
  436. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_trigonometric.inl +0 -0
  437. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_trigonometric_simd.inl +0 -0
  438. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_vector_relational.inl +0 -0
  439. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/func_vector_relational_simd.inl +0 -0
  440. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/qualifier.hpp +0 -0
  441. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/setup.hpp +0 -0
  442. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_float.hpp +0 -0
  443. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_half.hpp +0 -0
  444. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_half.inl +0 -0
  445. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat2x2.hpp +0 -0
  446. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat2x2.inl +0 -0
  447. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat2x3.hpp +0 -0
  448. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat2x3.inl +0 -0
  449. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat2x4.hpp +0 -0
  450. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat2x4.inl +0 -0
  451. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat3x2.hpp +0 -0
  452. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat3x2.inl +0 -0
  453. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat3x3.hpp +0 -0
  454. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat3x3.inl +0 -0
  455. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat3x4.hpp +0 -0
  456. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat3x4.inl +0 -0
  457. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat4x2.hpp +0 -0
  458. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat4x2.inl +0 -0
  459. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat4x3.hpp +0 -0
  460. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat4x3.inl +0 -0
  461. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat4x4.hpp +0 -0
  462. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat4x4.inl +0 -0
  463. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_mat4x4_simd.inl +0 -0
  464. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_quat.hpp +0 -0
  465. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_quat.inl +0 -0
  466. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_quat_simd.inl +0 -0
  467. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec1.hpp +0 -0
  468. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec1.inl +0 -0
  469. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec2.hpp +0 -0
  470. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec2.inl +0 -0
  471. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec3.hpp +0 -0
  472. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec3.inl +0 -0
  473. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec4.hpp +0 -0
  474. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec4.inl +0 -0
  475. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/detail/type_vec_simd.inl +0 -0
  476. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/exponential.hpp +0 -0
  477. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/_matrix_vectorize.hpp +0 -0
  478. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_clip_space.hpp +0 -0
  479. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_clip_space.inl +0 -0
  480. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_common.hpp +0 -0
  481. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_common.inl +0 -0
  482. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double2x2.hpp +0 -0
  483. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double2x2_precision.hpp +0 -0
  484. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double2x3.hpp +0 -0
  485. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double2x3_precision.hpp +0 -0
  486. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double2x4.hpp +0 -0
  487. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double2x4_precision.hpp +0 -0
  488. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double3x2.hpp +0 -0
  489. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double3x2_precision.hpp +0 -0
  490. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double3x3.hpp +0 -0
  491. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double3x3_precision.hpp +0 -0
  492. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double3x4.hpp +0 -0
  493. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double3x4_precision.hpp +0 -0
  494. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double4x2.hpp +0 -0
  495. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double4x2_precision.hpp +0 -0
  496. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double4x3.hpp +0 -0
  497. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double4x3_precision.hpp +0 -0
  498. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double4x4.hpp +0 -0
  499. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_double4x4_precision.hpp +0 -0
  500. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float2x2.hpp +0 -0
  501. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float2x2_precision.hpp +0 -0
  502. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float2x3.hpp +0 -0
  503. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float2x3_precision.hpp +0 -0
  504. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float2x4.hpp +0 -0
  505. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float2x4_precision.hpp +0 -0
  506. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float3x2.hpp +0 -0
  507. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float3x2_precision.hpp +0 -0
  508. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float3x3.hpp +0 -0
  509. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float3x3_precision.hpp +0 -0
  510. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float3x4.hpp +0 -0
  511. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float3x4_precision.hpp +0 -0
  512. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float4x2.hpp +0 -0
  513. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float4x2_precision.hpp +0 -0
  514. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float4x3.hpp +0 -0
  515. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float4x3_precision.hpp +0 -0
  516. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float4x4.hpp +0 -0
  517. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_float4x4_precision.hpp +0 -0
  518. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int2x2.hpp +0 -0
  519. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int2x2_sized.hpp +0 -0
  520. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int2x3.hpp +0 -0
  521. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int2x3_sized.hpp +0 -0
  522. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int2x4.hpp +0 -0
  523. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int2x4_sized.hpp +0 -0
  524. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int3x2.hpp +0 -0
  525. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int3x2_sized.hpp +0 -0
  526. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int3x3.hpp +0 -0
  527. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int3x3_sized.hpp +0 -0
  528. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int3x4.hpp +0 -0
  529. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int3x4_sized.hpp +0 -0
  530. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int4x2.hpp +0 -0
  531. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int4x2_sized.hpp +0 -0
  532. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int4x3.hpp +0 -0
  533. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int4x3_sized.hpp +0 -0
  534. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int4x4.hpp +0 -0
  535. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_int4x4_sized.hpp +0 -0
  536. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_integer.hpp +0 -0
  537. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_integer.inl +0 -0
  538. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_projection.hpp +0 -0
  539. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_projection.inl +0 -0
  540. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_relational.hpp +0 -0
  541. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_relational.inl +0 -0
  542. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_transform.hpp +0 -0
  543. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_transform.inl +0 -0
  544. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint2x2.hpp +0 -0
  545. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint2x2_sized.hpp +0 -0
  546. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint2x3.hpp +0 -0
  547. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint2x3_sized.hpp +0 -0
  548. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint2x4.hpp +0 -0
  549. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint2x4_sized.hpp +0 -0
  550. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint3x2.hpp +0 -0
  551. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint3x2_sized.hpp +0 -0
  552. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint3x3.hpp +0 -0
  553. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint3x3_sized.hpp +0 -0
  554. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint3x4.hpp +0 -0
  555. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint3x4_sized.hpp +0 -0
  556. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint4x2.hpp +0 -0
  557. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint4x2_sized.hpp +0 -0
  558. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint4x3.hpp +0 -0
  559. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint4x3_sized.hpp +0 -0
  560. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint4x4.hpp +0 -0
  561. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/matrix_uint4x4_sized.hpp +0 -0
  562. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_common.hpp +0 -0
  563. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_common.inl +0 -0
  564. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_common_simd.inl +0 -0
  565. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_double.hpp +0 -0
  566. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_double_precision.hpp +0 -0
  567. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_exponential.hpp +0 -0
  568. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_exponential.inl +0 -0
  569. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_float.hpp +0 -0
  570. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_float_precision.hpp +0 -0
  571. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_geometric.hpp +0 -0
  572. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_geometric.inl +0 -0
  573. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_relational.hpp +0 -0
  574. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_relational.inl +0 -0
  575. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_transform.hpp +0 -0
  576. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_transform.inl +0 -0
  577. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_trigonometric.hpp +0 -0
  578. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/quaternion_trigonometric.inl +0 -0
  579. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_common.hpp +0 -0
  580. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_common.inl +0 -0
  581. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_constants.hpp +0 -0
  582. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_constants.inl +0 -0
  583. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_int_sized.hpp +0 -0
  584. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_integer.hpp +0 -0
  585. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_integer.inl +0 -0
  586. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_packing.hpp +0 -0
  587. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_packing.inl +0 -0
  588. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_reciprocal.hpp +0 -0
  589. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_reciprocal.inl +0 -0
  590. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_relational.hpp +0 -0
  591. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_relational.inl +0 -0
  592. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_uint_sized.hpp +0 -0
  593. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_ulp.hpp +0 -0
  594. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/scalar_ulp.inl +0 -0
  595. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool1.hpp +0 -0
  596. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool1_precision.hpp +0 -0
  597. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool2.hpp +0 -0
  598. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool2_precision.hpp +0 -0
  599. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool3.hpp +0 -0
  600. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool3_precision.hpp +0 -0
  601. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool4.hpp +0 -0
  602. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_bool4_precision.hpp +0 -0
  603. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_common.hpp +0 -0
  604. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_common.inl +0 -0
  605. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double1.hpp +0 -0
  606. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double1_precision.hpp +0 -0
  607. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double2.hpp +0 -0
  608. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double2_precision.hpp +0 -0
  609. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double3.hpp +0 -0
  610. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double3_precision.hpp +0 -0
  611. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double4.hpp +0 -0
  612. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_double4_precision.hpp +0 -0
  613. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float1.hpp +0 -0
  614. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float1_precision.hpp +0 -0
  615. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float2.hpp +0 -0
  616. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float2_precision.hpp +0 -0
  617. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float3.hpp +0 -0
  618. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float3_precision.hpp +0 -0
  619. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float4.hpp +0 -0
  620. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_float4_precision.hpp +0 -0
  621. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int1.hpp +0 -0
  622. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int1_sized.hpp +0 -0
  623. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int2.hpp +0 -0
  624. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int2_sized.hpp +0 -0
  625. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int3.hpp +0 -0
  626. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int3_sized.hpp +0 -0
  627. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int4.hpp +0 -0
  628. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_int4_sized.hpp +0 -0
  629. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_integer.hpp +0 -0
  630. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_integer.inl +0 -0
  631. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_packing.hpp +0 -0
  632. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_packing.inl +0 -0
  633. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_reciprocal.hpp +0 -0
  634. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_reciprocal.inl +0 -0
  635. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_relational.hpp +0 -0
  636. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_relational.inl +0 -0
  637. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint1.hpp +0 -0
  638. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint1_sized.hpp +0 -0
  639. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint2.hpp +0 -0
  640. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint2_sized.hpp +0 -0
  641. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint3.hpp +0 -0
  642. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint3_sized.hpp +0 -0
  643. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint4.hpp +0 -0
  644. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_uint4_sized.hpp +0 -0
  645. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_ulp.hpp +0 -0
  646. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext/vector_ulp.inl +0 -0
  647. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/ext.hpp +0 -0
  648. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/fwd.hpp +0 -0
  649. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/geometric.hpp +0 -0
  650. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/glm.hpp +0 -0
  651. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/bitfield.hpp +0 -0
  652. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/bitfield.inl +0 -0
  653. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/color_space.hpp +0 -0
  654. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/color_space.inl +0 -0
  655. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/constants.hpp +0 -0
  656. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/constants.inl +0 -0
  657. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/epsilon.hpp +0 -0
  658. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/epsilon.inl +0 -0
  659. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/integer.hpp +0 -0
  660. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/integer.inl +0 -0
  661. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/matrix_access.hpp +0 -0
  662. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/matrix_access.inl +0 -0
  663. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/matrix_integer.hpp +0 -0
  664. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/matrix_inverse.hpp +0 -0
  665. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/matrix_inverse.inl +0 -0
  666. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/matrix_transform.hpp +0 -0
  667. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/matrix_transform.inl +0 -0
  668. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/noise.hpp +0 -0
  669. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/noise.inl +0 -0
  670. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/packing.hpp +0 -0
  671. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/packing.inl +0 -0
  672. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/quaternion.hpp +0 -0
  673. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/quaternion.inl +0 -0
  674. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/quaternion_simd.inl +0 -0
  675. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/random.hpp +0 -0
  676. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/random.inl +0 -0
  677. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/reciprocal.hpp +0 -0
  678. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/round.hpp +0 -0
  679. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/round.inl +0 -0
  680. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/type_aligned.hpp +0 -0
  681. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/type_precision.hpp +0 -0
  682. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/type_precision.inl +0 -0
  683. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/type_ptr.hpp +0 -0
  684. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/type_ptr.inl +0 -0
  685. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/ulp.hpp +0 -0
  686. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/ulp.inl +0 -0
  687. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtc/vec1.hpp +0 -0
  688. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/associated_min_max.hpp +0 -0
  689. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/associated_min_max.inl +0 -0
  690. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/bit.hpp +0 -0
  691. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/bit.inl +0 -0
  692. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/closest_point.hpp +0 -0
  693. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/closest_point.inl +0 -0
  694. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/color_encoding.hpp +0 -0
  695. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/color_encoding.inl +0 -0
  696. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/color_space.hpp +0 -0
  697. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/color_space.inl +0 -0
  698. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/color_space_YCoCg.hpp +0 -0
  699. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/color_space_YCoCg.inl +0 -0
  700. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/common.hpp +0 -0
  701. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/common.inl +0 -0
  702. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/compatibility.hpp +0 -0
  703. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/compatibility.inl +0 -0
  704. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/component_wise.hpp +0 -0
  705. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/component_wise.inl +0 -0
  706. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/dual_quaternion.hpp +0 -0
  707. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/dual_quaternion.inl +0 -0
  708. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/easing.hpp +0 -0
  709. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/easing.inl +0 -0
  710. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/euler_angles.hpp +0 -0
  711. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/euler_angles.inl +0 -0
  712. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/extend.hpp +0 -0
  713. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/extend.inl +0 -0
  714. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/extended_min_max.hpp +0 -0
  715. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/extended_min_max.inl +0 -0
  716. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/exterior_product.hpp +0 -0
  717. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/exterior_product.inl +0 -0
  718. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/fast_exponential.hpp +0 -0
  719. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/fast_exponential.inl +0 -0
  720. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/fast_square_root.hpp +0 -0
  721. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/fast_square_root.inl +0 -0
  722. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/fast_trigonometry.hpp +0 -0
  723. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/fast_trigonometry.inl +0 -0
  724. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/float_normalize.inl +0 -0
  725. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/functions.hpp +0 -0
  726. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/functions.inl +0 -0
  727. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/gradient_paint.hpp +0 -0
  728. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/gradient_paint.inl +0 -0
  729. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/handed_coordinate_space.hpp +0 -0
  730. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/handed_coordinate_space.inl +0 -0
  731. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/hash.hpp +0 -0
  732. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/hash.inl +0 -0
  733. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/integer.hpp +0 -0
  734. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/integer.inl +0 -0
  735. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/intersect.hpp +0 -0
  736. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/intersect.inl +0 -0
  737. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/io.hpp +0 -0
  738. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/io.inl +0 -0
  739. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/iteration.hpp +0 -0
  740. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/iteration.inl +0 -0
  741. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/log_base.hpp +0 -0
  742. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/log_base.inl +0 -0
  743. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_cross_product.hpp +0 -0
  744. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_cross_product.inl +0 -0
  745. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_decompose.hpp +0 -0
  746. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_decompose.inl +0 -0
  747. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_factorisation.hpp +0 -0
  748. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_factorisation.inl +0 -0
  749. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_interpolation.hpp +0 -0
  750. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_interpolation.inl +0 -0
  751. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_major_storage.hpp +0 -0
  752. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_major_storage.inl +0 -0
  753. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_operation.hpp +0 -0
  754. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_operation.inl +0 -0
  755. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_query.hpp +0 -0
  756. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_query.inl +0 -0
  757. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_transform_2d.hpp +0 -0
  758. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/matrix_transform_2d.inl +0 -0
  759. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/mixed_product.hpp +0 -0
  760. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/mixed_product.inl +0 -0
  761. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/norm.hpp +0 -0
  762. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/norm.inl +0 -0
  763. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/normal.hpp +0 -0
  764. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/normal.inl +0 -0
  765. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/normalize_dot.hpp +0 -0
  766. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/normalize_dot.inl +0 -0
  767. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/number_precision.hpp +0 -0
  768. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/optimum_pow.hpp +0 -0
  769. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/optimum_pow.inl +0 -0
  770. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/orthonormalize.hpp +0 -0
  771. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/orthonormalize.inl +0 -0
  772. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/pca.hpp +0 -0
  773. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/pca.inl +0 -0
  774. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/perpendicular.hpp +0 -0
  775. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/perpendicular.inl +0 -0
  776. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/polar_coordinates.hpp +0 -0
  777. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/polar_coordinates.inl +0 -0
  778. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/projection.hpp +0 -0
  779. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/projection.inl +0 -0
  780. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/quaternion.hpp +0 -0
  781. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/quaternion.inl +0 -0
  782. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/range.hpp +0 -0
  783. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/raw_data.hpp +0 -0
  784. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/raw_data.inl +0 -0
  785. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/rotate_normalized_axis.hpp +0 -0
  786. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/rotate_normalized_axis.inl +0 -0
  787. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/rotate_vector.hpp +0 -0
  788. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/rotate_vector.inl +0 -0
  789. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/scalar_multiplication.hpp +0 -0
  790. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/scalar_relational.hpp +0 -0
  791. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/scalar_relational.inl +0 -0
  792. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/spline.hpp +0 -0
  793. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/spline.inl +0 -0
  794. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/std_based_type.hpp +0 -0
  795. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/std_based_type.inl +0 -0
  796. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/string_cast.hpp +0 -0
  797. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/string_cast.inl +0 -0
  798. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/structured_bindings.hpp +0 -0
  799. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/structured_bindings.inl +0 -0
  800. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/texture.hpp +0 -0
  801. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/texture.inl +0 -0
  802. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/transform.hpp +0 -0
  803. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/transform.inl +0 -0
  804. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/transform2.hpp +0 -0
  805. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/transform2.inl +0 -0
  806. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/type_aligned.hpp +0 -0
  807. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/type_aligned.inl +0 -0
  808. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/type_trait.hpp +0 -0
  809. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/type_trait.inl +0 -0
  810. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/vec_swizzle.hpp +0 -0
  811. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/vector_angle.hpp +0 -0
  812. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/vector_angle.inl +0 -0
  813. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/vector_query.hpp +0 -0
  814. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/vector_query.inl +0 -0
  815. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/wrap.hpp +0 -0
  816. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/gtx/wrap.inl +0 -0
  817. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/integer.hpp +0 -0
  818. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat2x2.hpp +0 -0
  819. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat2x3.hpp +0 -0
  820. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat2x4.hpp +0 -0
  821. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat3x2.hpp +0 -0
  822. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat3x3.hpp +0 -0
  823. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat3x4.hpp +0 -0
  824. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat4x2.hpp +0 -0
  825. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat4x3.hpp +0 -0
  826. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/mat4x4.hpp +0 -0
  827. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/matrix.hpp +0 -0
  828. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/packing.hpp +0 -0
  829. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/common.h +0 -0
  830. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/exponential.h +0 -0
  831. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/geometric.h +0 -0
  832. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/integer.h +0 -0
  833. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/matrix.h +0 -0
  834. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/neon.h +0 -0
  835. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/packing.h +0 -0
  836. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/platform.h +0 -0
  837. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/trigonometric.h +0 -0
  838. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/simd/vector_relational.h +0 -0
  839. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/trigonometric.hpp +0 -0
  840. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/vec2.hpp +0 -0
  841. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/vec3.hpp +0 -0
  842. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/vec4.hpp +0 -0
  843. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/glm/glm/vector_relational.hpp +0 -0
  844. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/json/LICENSE.MIT +0 -0
  845. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/json/README.md +0 -0
  846. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/json/include/nlohmann/json.hpp +0 -0
  847. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/json/include/nlohmann/json_fwd.hpp +0 -0
  848. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/nanovdb/LICENSE +0 -0
  849. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/nanovdb/PNanoVDB.h +0 -0
  850. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/stb/LICENSE +0 -0
  851. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/stb/README.md +0 -0
  852. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/stb/stb_image.h +0 -0
  853. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/stb/stb_image_write.h +0 -0
  854. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/stb.cpp +0 -0
  855. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vma/LICENSE.txt +0 -0
  856. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vma/README.md +0 -0
  857. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vma/include/vk_mem_alloc.h +0 -0
  858. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vma.cpp +0 -0
  859. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/volk/LICENSE.md +0 -0
  860. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/volk/README.md +0 -0
  861. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/volk/volk.c +0 -0
  862. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/volk/volk.h +0 -0
  863. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/LICENSE.md +0 -0
  864. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/LICENSES/Apache-2.0.txt +0 -0
  865. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/LICENSES/MIT.txt +0 -0
  866. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/README.md +0 -0
  867. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std.h +0 -0
  868. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_decode.h +0 -0
  869. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_encode.h +0 -0
  870. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std.h +0 -0
  871. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_decode.h +0 -0
  872. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_encode.h +0 -0
  873. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std.h +0 -0
  874. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_decode.h +0 -0
  875. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_encode.h +0 -0
  876. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std.h +0 -0
  877. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std_decode.h +0 -0
  878. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vk_video/vulkan_video_codecs_common.h +0 -0
  879. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vk_icd.h +0 -0
  880. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vk_layer.h +0 -0
  881. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vk_platform.h +0 -0
  882. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan.h +0 -0
  883. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_android.h +0 -0
  884. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_beta.h +0 -0
  885. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_core.h +0 -0
  886. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_directfb.h +0 -0
  887. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_fuchsia.h +0 -0
  888. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_ggp.h +0 -0
  889. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_ios.h +0 -0
  890. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_macos.h +0 -0
  891. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_metal.h +0 -0
  892. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_ohos.h +0 -0
  893. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_screen.h +0 -0
  894. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_ubm.h +0 -0
  895. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_vi.h +0 -0
  896. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_wayland.h +0 -0
  897. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_win32.h +0 -0
  898. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_xcb.h +0 -0
  899. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_xlib.h +0 -0
  900. {ernie_renderer-0.2.0.dev117 → ernie_renderer-0.2.0.dev119}/third_party/vulkan_headers/include/vulkan/vulkan_xlib_xrandr.h +0 -0
@@ -15,7 +15,7 @@ project(
15
15
  )
16
16
 
17
17
  # Pre-release suffix such as .dev12, written by CI.
18
- set(ERNIE_VERSION_SUFFIX ".dev117" CACHE STRING "Pre-release suffix of Ernie's version")
18
+ set(ERNIE_VERSION_SUFFIX ".dev119" CACHE STRING "Pre-release suffix of Ernie's version")
19
19
  set(ERNIE_VERSION "${PROJECT_VERSION}${ERNIE_VERSION_SUFFIX}")
20
20
 
21
21
  option(ERNIE_BUILD_TESTS "Build Ernie's tests" OFF)
@@ -54,6 +54,7 @@ include(cmake/ErnieFetch.cmake)
54
54
  include(cmake/third_party/openexr.cmake)
55
55
  include(cmake/third_party/tracy.cmake)
56
56
  include(cmake/third_party/slang.cmake)
57
+ include(cmake/ErnieShaders.cmake)
57
58
  add_subdirectory(third_party)
58
59
 
59
60
  add_library(ernie_build_options INTERFACE)
@@ -17,6 +17,8 @@ RUN apt-get update \
17
17
  && apt-get install -y --no-install-recommends libvulkan1 mesa-vulkan-drivers \
18
18
  && rm -rf /var/lib/apt/lists/*
19
19
  COPY --from=build /opt/ernie/bin/ernie /usr/local/bin/ernie
20
+ # Its private libraries, as Slang's compiler, where its rpath ($ORIGIN/../lib/ernie) looks.
21
+ COPY --from=build /opt/ernie/lib/ernie /usr/local/lib/ernie
20
22
  # Data and the licences of everything the program carries.
21
23
  COPY --from=build /opt/ernie/share /usr/local/share
22
24
  ENV NVIDIA_DRIVER_CAPABILITIES=graphics,compute,utility
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ernie-renderer
3
- Version: 0.2.0.dev117
3
+ Version: 0.2.0.dev119
4
4
  Summary: Efficient Renderer for Natural and Interplanetary Environments: a physically based, spectral Vulkan ray tracer
5
5
  Author: Alex Maietta
6
6
  License-Expression: BSD-3-Clause
@@ -0,0 +1,42 @@
1
+ # SPDX-License-Identifier: BSD-3-Clause
2
+ # Embeds one Slang file in a header as an ernie::ShaderModule
3
+ file(READ "${INPUT}" source)
4
+ string(FIND "${source}" ")slang\"" delimiter)
5
+ if(NOT delimiter EQUAL -1)
6
+ message(FATAL_ERROR "${INPUT} holds )slang\", which ends the raw string it is embedded in")
7
+ endif()
8
+
9
+ string(REPLACE "_" ";" words "${NAME}")
10
+ set(identifier "k")
11
+ foreach(word IN LISTS words)
12
+ string(SUBSTRING "${word}" 0 1 first)
13
+ string(SUBSTRING "${word}" 1 -1 rest)
14
+ string(TOUPPER "${first}" first)
15
+ string(APPEND identifier "${first}${rest}")
16
+ endforeach()
17
+
18
+ set(chunks "")
19
+ string(LENGTH "${source}" length)
20
+ set(chunk 8192)
21
+ set(at 0)
22
+ while(at LESS length)
23
+ string(SUBSTRING "${source}" ${at} ${chunk} piece)
24
+ string(APPEND chunks " R\"slang(${piece})slang\"\n")
25
+ math(EXPR at "${at} + ${chunk}")
26
+ endwhile()
27
+ if(chunks STREQUAL "")
28
+ set(chunks " \"\"\n")
29
+ endif()
30
+
31
+ file(RELATIVE_PATH from "${ROOT}" "${INPUT}")
32
+ set(header
33
+ "// Generated from ${from} by cmake/EmbedShader.cmake: edit that file.\n#pragma once\n\n#include \"ernie/device/shader_compiler.h\"\n\nnamespace ernie::shaders {\n\ninline const ShaderModule ${identifier}{\n \"${NAME}\",\n${chunks}};\n\n} // namespace ernie::shaders\n"
34
+ )
35
+ # Unchanged headers keep their times, so nothing that includes them rebuilds.
36
+ if(EXISTS "${OUTPUT}")
37
+ file(READ "${OUTPUT}" previous)
38
+ if(previous STREQUAL header)
39
+ return()
40
+ endif()
41
+ endif()
42
+ file(WRITE "${OUTPUT}" "${header}")
@@ -0,0 +1,30 @@
1
+ # SPDX-License-Identifier: BSD-3-Clause
2
+ # Slang shaders kept in .slang files and embedded in the library, so editors highlight and
3
+ # resolve them and the program needs no files beside it.
4
+ #
5
+ # ernie_add_shaders(ernie_render shaders/affine.slang shaders/world.slang)
6
+ # // In C++: #include "ernie/render/shaders/affine.h" for ernie::shaders::kAffine.
7
+
8
+ # Builds each file's header beside its path under the build's include directory, before the
9
+ # target compiles.
10
+ function(ernie_add_shaders target)
11
+ set(headers "")
12
+ foreach(file IN LISTS ARGN)
13
+ get_filename_component(source "${file}" ABSOLUTE)
14
+ get_filename_component(name "${file}" NAME_WE)
15
+ file(RELATIVE_PATH relative "${PROJECT_SOURCE_DIR}" "${source}")
16
+ string(REGEX REPLACE "\\.slang$" ".h" relative "${relative}")
17
+ set(header "${PROJECT_BINARY_DIR}/include/${relative}")
18
+ add_custom_command(
19
+ OUTPUT "${header}"
20
+ COMMAND
21
+ "${CMAKE_COMMAND}" "-DINPUT=${source}" "-DOUTPUT=${header}" "-DNAME=${name}"
22
+ "-DROOT=${PROJECT_SOURCE_DIR}" -P "${PROJECT_SOURCE_DIR}/cmake/EmbedShader.cmake"
23
+ DEPENDS "${source}" "${PROJECT_SOURCE_DIR}/cmake/EmbedShader.cmake"
24
+ COMMENT "Embedding ${relative}"
25
+ VERBATIM
26
+ )
27
+ list(APPEND headers "${header}")
28
+ endforeach()
29
+ target_sources(${target} PRIVATE ${headers})
30
+ endfunction()
@@ -7,10 +7,22 @@ add_library(
7
7
  geometry.cpp
8
8
  instances.cpp
9
9
  prim_rows.cpp
10
+ ray_tracer.cpp
10
11
  scene_columns.cpp
11
12
  top_levels.cpp
12
13
  transform_graph.cpp
13
14
  )
15
+ ernie_add_shaders(
16
+ ernie_render
17
+ shaders/affine.slang
18
+ shaders/compose.slang
19
+ shaders/double_float.slang
20
+ shaders/local.slang
21
+ shaders/ray_tracer.slang
22
+ shaders/shapes.slang
23
+ shaders/world.slang
24
+ shaders/write_instances.slang
25
+ )
14
26
  target_link_libraries(
15
27
  ernie_render
16
28
  PUBLIC ernie_geometry ernie_scene ernie_graph
@@ -0,0 +1,41 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ /// @file ray_tracer.cpp
3
+ /// @brief The tracing modules: the geometry kinds generated from `GeometryKind`, then the shapes
4
+ /// and ray tracer embedded from their .slang files.
5
+ #include "ernie/render/ray_tracer.h"
6
+
7
+ #include "ernie/render/geometry.h"
8
+ #include "ernie/render/shaders/ray_tracer.h"
9
+ #include "ernie/render/shaders/shapes.h"
10
+
11
+ #include <array>
12
+ #include <string>
13
+
14
+ namespace ernie {
15
+ namespace {
16
+
17
+ /// The geometry kinds as the shaders name them, from `GeometryKind`.
18
+ ShaderModule KindsModule() {
19
+ std::string source;
20
+ const auto kind = [&](const char* name, GeometryKind value) {
21
+ source += std::string("public static const uint ") + name + " = " +
22
+ std::to_string(static_cast<std::uint32_t>(value)) + ";\n";
23
+ };
24
+ kind("kTriangles", GeometryKind::Triangles);
25
+ kind("kSphere", GeometryKind::Sphere);
26
+ kind("kCube", GeometryKind::Cube);
27
+ kind("kCylinder", GeometryKind::Cylinder);
28
+ kind("kCone", GeometryKind::Cone);
29
+ kind("kCapsule", GeometryKind::Capsule);
30
+ kind("kPlane", GeometryKind::Plane);
31
+ return {"geometry_kinds", std::move(source)};
32
+ }
33
+
34
+ } // namespace
35
+
36
+ std::span<const ShaderModule> RayTracerModules() {
37
+ static const std::array modules{KindsModule(), shaders::kShapes, shaders::kRayTracer};
38
+ return modules;
39
+ }
40
+
41
+ } // namespace ernie
@@ -0,0 +1,23 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ /// @file ray_tracer.h
3
+ /// @brief The Slang modules every tracing kernel imports: `IRayTracer`, the one interface passes
4
+ /// trace through whatever backend answers it, its hardware ray-query backend, and the exact
5
+ /// intersections of the implicit shapes.
6
+ ///
7
+ /// import ray_tracer;
8
+ /// HardwareRayQuery tracer = { parameters.scene, parameters.records };
9
+ /// Hit hit = tracer.TraceClosest(ray, 0xff);
10
+ /// if (hit.found) { float3 n = WorldNormal(hit, parameters.records); }
11
+ #pragma once
12
+
13
+ #include "ernie/device/shader_compiler.h"
14
+
15
+ #include <span>
16
+
17
+ namespace ernie {
18
+
19
+ /// @return The modules, in import order, a tracing kernel compiles with: the geometry kinds,
20
+ /// `shapes` (unit shapes intersected in their own frame) and `ray_tracer`.
21
+ std::span<const ShaderModule> RayTracerModules();
22
+
23
+ } // namespace ernie
@@ -0,0 +1,40 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ /// @file affine.slang
3
+ /// @brief 3x4 affine transforms as float rows: identity, loads, stores and products.
4
+
5
+ /// A 3x4 affine transform's rows; its fourth row is (0, 0, 0, 1).
6
+ public struct Affine {
7
+ public float4 rows[3];
8
+ };
9
+
10
+ public Affine Identity() {
11
+ Affine m;
12
+ m.rows[0] = float4(1, 0, 0, 0);
13
+ m.rows[1] = float4(0, 1, 0, 0);
14
+ m.rows[2] = float4(0, 0, 1, 0);
15
+ return m;
16
+ }
17
+
18
+ public Affine Load(float4* matrices, uint index) {
19
+ Affine m;
20
+ for (uint r = 0; r < 3; ++r) {
21
+ m.rows[r] = matrices[3 * index + r];
22
+ }
23
+ return m;
24
+ }
25
+
26
+ public void Store(float4* matrices, uint index, Affine m) {
27
+ for (uint r = 0; r < 3; ++r) {
28
+ matrices[3 * index + r] = m.rows[r];
29
+ }
30
+ }
31
+
32
+ public Affine Mul(Affine a, Affine b) {
33
+ Affine c;
34
+ for (uint r = 0; r < 3; ++r) {
35
+ float4 row = a.rows[r];
36
+ c.rows[r] = row.x * b.rows[0] + row.y * b.rows[1] + row.z * b.rows[2] +
37
+ float4(0, 0, 0, row.w);
38
+ }
39
+ return c;
40
+ }
@@ -0,0 +1,24 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ /// @file compose.slang
3
+ /// @brief One level of the transform graph: each node's world from its parent's and its local, in
4
+ /// double-float.
5
+ import affine;
6
+ import double_float;
7
+ // The op kinds and program layout, generated from transform_graph.cpp's constants.
8
+ import ops;
9
+
10
+ struct Parameters { uint* slots; uint* parents; float4* locals; float4* worlds; uint count; };
11
+ [[vk::push_constant]] ConstantBuffer<Parameters> parameters;
12
+
13
+ [shader("compute")]
14
+ [numthreads(64, 1, 1)]
15
+ void main(uint3 id : SV_DispatchThreadID) {
16
+ if (id.x >= parameters.count) {
17
+ return;
18
+ }
19
+ uint slot = parameters.slots[id.x];
20
+ uint parent = parameters.parents[slot];
21
+ DoubleAffine local = LoadDouble(parameters.locals, slot);
22
+ StoreDouble(parameters.worlds, slot,
23
+ parent == kNone ? local : Mul(LoadDouble(parameters.worlds, parent), local));
24
+ }
@@ -0,0 +1,117 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ /// @file double_float.slang
3
+ /// @brief Double-float arithmetic after Dekker (1971) and Hida, Li and Bailey's QD library (2001):
4
+ /// error-free sums and Veltkamp-split products, about 48 bits of mantissa from pairs of floats.
5
+ /// `precise` keeps every step as written (SPIR-V NoContraction).
6
+ import affine;
7
+
8
+ /// Four values, each the unevaluated sum of a high float and a low one.
9
+ public struct Double4 {
10
+ public float4 hi;
11
+ public float4 lo;
12
+ };
13
+
14
+ Double4 Pair(float4 hi, float4 lo) {
15
+ Double4 d;
16
+ d.hi = hi;
17
+ d.lo = lo;
18
+ return d;
19
+ }
20
+
21
+ /// The sum and its rounding error, for any a and b.
22
+ Double4 TwoSum(float4 a, float4 b) {
23
+ precise float4 s = a + b;
24
+ precise float4 v = s - a;
25
+ precise float4 e = (a - (s - v)) + (b - v);
26
+ return Pair(s, e);
27
+ }
28
+
29
+ /// The sum renormalised, for |a| >= |b|.
30
+ Double4 QuickTwoSum(float4 a, float4 b) {
31
+ precise float4 s = a + b;
32
+ precise float4 e = b - (s - a);
33
+ return Pair(s, e);
34
+ }
35
+
36
+ public Double4 Add(Double4 a, Double4 b) {
37
+ Double4 s = TwoSum(a.hi, b.hi);
38
+ precise float4 e = s.lo + (a.lo + b.lo);
39
+ return QuickTwoSum(s.hi, e);
40
+ }
41
+
42
+ /// Veltkamp's split of each float into two 12-bit halves, whose products are exact.
43
+ void Halves(float4 a, out float4 high, out float4 low) {
44
+ precise float4 c = 4097.0 * a;
45
+ precise float4 big = c - a;
46
+ precise float4 h = c - big;
47
+ precise float4 l = a - h;
48
+ high = h;
49
+ low = l;
50
+ }
51
+
52
+ /// The product and its rounding error, without fused multiply-adds: Vulkan and WebGPU do not
53
+ /// promise `fma` rounds once.
54
+ Double4 TwoProduct(float4 a, float4 b) {
55
+ float4 ah, al, bh, bl;
56
+ Halves(a, ah, al);
57
+ Halves(b, bh, bl);
58
+ precise float4 p = a * b;
59
+ precise float4 e = ((ah * bh - p) + ah * bl + al * bh) + al * bl;
60
+ return Pair(p, e);
61
+ }
62
+
63
+ /// `a` times the double-float scalar `hi + lo`.
64
+ public Double4 Scale(Double4 a, float hi, float lo) {
65
+ Double4 p = TwoProduct(a.hi, float4(hi));
66
+ precise float4 e = p.lo + (a.hi * lo + a.lo * hi);
67
+ return QuickTwoSum(p.hi, e);
68
+ }
69
+
70
+ /// A 3x4 affine transform's rows in double-float.
71
+ public struct DoubleAffine {
72
+ public Double4 rows[3];
73
+ };
74
+
75
+ public DoubleAffine Promote(Affine m) {
76
+ DoubleAffine d;
77
+ for (uint r = 0; r < 3; ++r) {
78
+ d.rows[r] = Pair(m.rows[r], float4(0));
79
+ }
80
+ return d;
81
+ }
82
+
83
+ public DoubleAffine Mul(DoubleAffine a, DoubleAffine b) {
84
+ DoubleAffine c;
85
+ for (uint r = 0; r < 3; ++r) {
86
+ Double4 row = a.rows[r];
87
+ Double4 sum = Pair(float4(0, 0, 0, row.hi.w), float4(0, 0, 0, row.lo.w));
88
+ sum = Add(sum, Scale(b.rows[0], row.hi.x, row.lo.x));
89
+ sum = Add(sum, Scale(b.rows[1], row.hi.y, row.lo.y));
90
+ c.rows[r] = Add(sum, Scale(b.rows[2], row.hi.z, row.lo.z));
91
+ }
92
+ return c;
93
+ }
94
+
95
+ /// Six float4 a transform: its high rows, then its low rows.
96
+ public DoubleAffine LoadDouble(float4* matrices, uint index) {
97
+ DoubleAffine m;
98
+ for (uint r = 0; r < 3; ++r) {
99
+ m.rows[r] = Pair(matrices[6 * index + r], matrices[6 * index + 3 + r]);
100
+ }
101
+ return m;
102
+ }
103
+
104
+ public void StoreDouble(float4* matrices, uint index, DoubleAffine m) {
105
+ for (uint r = 0; r < 3; ++r) {
106
+ matrices[6 * index + r] = m.rows[r].hi;
107
+ matrices[6 * index + 3 + r] = m.rows[r].lo;
108
+ }
109
+ }
110
+
111
+ public Affine Round(DoubleAffine m) {
112
+ Affine f;
113
+ for (uint r = 0; r < 3; ++r) {
114
+ f.rows[r] = m.rows[r].hi + m.rows[r].lo;
115
+ }
116
+ return f;
117
+ }
@@ -0,0 +1,114 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ /// @file local.slang
3
+ /// @brief The transform graph's local transforms: each programmed node's ops evaluated in
4
+ /// double-float, bound ops read in place from the columns CUDA, Warp or kernels write.
5
+ import affine;
6
+ import double_float;
7
+ // The op kinds and program layout, generated from transform_graph.cpp's constants.
8
+ import ops;
9
+
10
+ struct Op { uint kind; uint flags; float* source; float4 hi[3]; float4 lo[3]; };
11
+ struct Parameters { uint* slots; Op* programs; uint* lengths; float4* locals; uint count; };
12
+ [[vk::push_constant]] ConstantBuffer<Parameters> parameters;
13
+
14
+ static const uint3 kAxes[6] = { uint3(0, 1, 2), uint3(0, 2, 1), uint3(1, 0, 2),
15
+ uint3(1, 2, 0), uint3(2, 0, 1), uint3(2, 1, 0) };
16
+
17
+ /// A right-handed turn about one axis, as the host's AxisRotation builds it.
18
+ Affine Turn(uint axis, float degrees) {
19
+ float c = cos(radians(degrees));
20
+ float s = sin(radians(degrees));
21
+ uint a = (axis + 1) % 3;
22
+ uint b = (axis + 2) % 3;
23
+ Affine m = Identity();
24
+ m.rows[a][a] = c;
25
+ m.rows[a][b] = -s;
26
+ m.rows[b][a] = s;
27
+ m.rows[b][b] = c;
28
+ return m;
29
+ }
30
+
31
+ Affine Inverse(Affine m) {
32
+ float3 a = m.rows[0].xyz;
33
+ float3 b = m.rows[1].xyz;
34
+ float3 c = m.rows[2].xyz;
35
+ float3 r0 = cross(b, c);
36
+ float3 r1 = cross(c, a);
37
+ float3 r2 = cross(a, b);
38
+ float invDet = 1 / dot(a, r0);
39
+ // The inverse's columns are the cofactor rows over the determinant.
40
+ float3x3 inv = transpose(float3x3(r0, r1, r2)) * invDet;
41
+ float3 t = float3(m.rows[0].w, m.rows[1].w, m.rows[2].w);
42
+ float3 back = -mul(inv, t);
43
+ Affine result;
44
+ for (uint r = 0; r < 3; ++r) {
45
+ result.rows[r] = float4(inv[r], back[r]);
46
+ }
47
+ return result;
48
+ }
49
+
50
+ /// A bound op's matrix from the floats it reads.
51
+ Affine OpMatrix(Op op) {
52
+ Affine m = Identity();
53
+ float* v = op.source;
54
+ uint floats = (op.flags >> kFloatsShift) & 0xff;
55
+ if (op.kind == kTranslate) {
56
+ m.rows[0].w = v[0];
57
+ m.rows[1].w = v[1];
58
+ m.rows[2].w = v[2];
59
+ } else if (op.kind == kScale) {
60
+ float3 s = floats == 1 ? float3(v[0]) : float3(v[0], v[1], v[2]);
61
+ m.rows[0].x = s.x;
62
+ m.rows[1].y = s.y;
63
+ m.rows[2].z = s.z;
64
+ } else if (op.kind < kRotateXYZ) {
65
+ m = Turn(op.kind - kRotateX, v[0]);
66
+ } else if (op.kind < kOrient) {
67
+ // The order's first axis turns first: R = Rk * Rj * Ri, each by its own axis' angle.
68
+ uint3 axes = kAxes[op.kind - kRotateXYZ];
69
+ m = Mul(Mul(Turn(axes.z, v[axes.z]), Turn(axes.y, v[axes.y])),
70
+ Turn(axes.x, v[axes.x]));
71
+ } else if (op.kind == kOrient) {
72
+ float4 q = normalize(float4(v[0], v[1], v[2], v[3]));
73
+ m.rows[0] = float4(1 - 2 * (q.y * q.y + q.z * q.z), 2 * (q.x * q.y - q.z * q.w),
74
+ 2 * (q.x * q.z + q.y * q.w), 0);
75
+ m.rows[1] = float4(2 * (q.x * q.y + q.z * q.w), 1 - 2 * (q.x * q.x + q.z * q.z),
76
+ 2 * (q.y * q.z - q.x * q.w), 0);
77
+ m.rows[2] = float4(2 * (q.x * q.z - q.y * q.w), 2 * (q.y * q.z + q.x * q.w),
78
+ 1 - 2 * (q.x * q.x + q.y * q.y), 0);
79
+ } else {
80
+ // Column-major, as the scene's matrices are.
81
+ for (uint r = 0; r < 3; ++r) {
82
+ m.rows[r] = float4(v[r], v[4 + r], v[8 + r], v[12 + r]);
83
+ }
84
+ }
85
+ return (op.flags & kInvert) != 0 ? Inverse(m) : m;
86
+ }
87
+
88
+ /// An op's matrix: a folded constant exactly as the host split it, a bound op from its floats.
89
+ DoubleAffine OpDoubleMatrix(Op op) {
90
+ if (op.kind != kConstant) {
91
+ return Promote(OpMatrix(op));
92
+ }
93
+ DoubleAffine m;
94
+ for (uint r = 0; r < 3; ++r) {
95
+ m.rows[r].hi = op.hi[r];
96
+ m.rows[r].lo = op.lo[r];
97
+ }
98
+ return m;
99
+ }
100
+
101
+ /// One thread a programmed node, its program at its place in the list.
102
+ [shader("compute")]
103
+ [numthreads(64, 1, 1)]
104
+ void main(uint3 id : SV_DispatchThreadID) {
105
+ uint at = id.x;
106
+ if (at >= parameters.count) {
107
+ return;
108
+ }
109
+ DoubleAffine local = Promote(Identity());
110
+ for (uint k = 0; k < parameters.lengths[at]; ++k) {
111
+ local = Mul(local, OpDoubleMatrix(parameters.programs[at * kMaxOps + k]));
112
+ }
113
+ StoreDouble(parameters.locals, parameters.slots[at], local);
114
+ }
@@ -0,0 +1,117 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ /// @file ray_tracer.slang
3
+ /// @brief `IRayTracer`, the one interface passes trace through whatever backend answers it, and
4
+ /// its hardware ray-query backend.
5
+ // The geometry kinds, generated from GeometryKind in ray_tracer.cpp.
6
+ import geometry_kinds;
7
+ import shapes;
8
+
9
+ /// A geometry's record, as the C++ `GeometryRecord`: an instance's custom index finds it.
10
+ public struct GeometryRecord {
11
+ public uint kind;
12
+ public float halfLength;
13
+ public uint vertexCount;
14
+ public uint triangleCount;
15
+ public float* vertices;
16
+ public uint* indices;
17
+ };
18
+
19
+ /// What a ray hit: where along it, which instance, primitive and geometry, and the transforms
20
+ /// between the instance's frame and the scene's. Surfaces are reconstructed from it.
21
+ public struct Hit {
22
+ public bool found;
23
+ public float t;
24
+ /// The instance's row: `InstanceIndex()`.
25
+ public uint instance;
26
+ public uint primitive;
27
+ public uint geometry;
28
+ public float2 barycentrics;
29
+ /// An implicit shape's outward normal, in its own frame.
30
+ public float3 objectNormal;
31
+ public float3x4 objectToWorld;
32
+ public float3x4 worldToObject;
33
+ };
34
+
35
+ /// The one interface every pass traces through, whichever backend answers it.
36
+ public interface IRayTracer {
37
+ /// @return The nearest hit along the ray among instances in `mask`.
38
+ Hit TraceClosest(RayDesc ray, uint mask);
39
+ /// @return Whether anything in `mask` blocks the ray, for visibility.
40
+ bool TraceAny(RayDesc ray, uint mask);
41
+ }
42
+
43
+ /// Ray queries against a hardware top level, by its device address.
44
+ public struct HardwareRayQuery : IRayTracer {
45
+ public uint64_t scene;
46
+ public GeometryRecord* records;
47
+
48
+ /// Runs the query, solving each procedural candidate exactly; `Flags` may end it at the first
49
+ /// hit. NVIDIA's compiler fails on `CandidateObjectRay*`: the object ray comes from the
50
+ /// candidate's matrix instead.
51
+ void Run<let Flags : int>(inout RayQuery<Flags> query, RayDesc ray, uint mask,
52
+ out ShapeHit nearest) {
53
+ query.TraceRayInline(RaytracingAccelerationStructure(scene), RAY_FLAG_NONE, mask, ray);
54
+ nearest.t = ray.TMax;
55
+ nearest.normal = float3(0, 0, 1);
56
+ while (query.Proceed()) {
57
+ if (query.CandidateType() != CANDIDATE_PROCEDURAL_PRIMITIVE) {
58
+ continue;
59
+ }
60
+ GeometryRecord record = records[query.CandidateInstanceID()];
61
+ float3x4 toObject = query.CandidateWorldToObject3x4();
62
+ float3 o = mul(toObject, float4(query.WorldRayOrigin(), 1));
63
+ float3 d = mul(toObject, float4(query.WorldRayDirection(), 0));
64
+ // Object-space distances along the transformed direction are the ray's own.
65
+ ShapeHit hit = nearest;
66
+ hit.t = query.CommittedRayT();
67
+ if (IntersectShape(record.kind, record.halfLength, o, d, ray.TMin, hit)) {
68
+ query.CommitProceduralPrimitiveHit(hit.t);
69
+ nearest = hit;
70
+ }
71
+ }
72
+ }
73
+
74
+ public Hit TraceClosest(RayDesc ray, uint mask) {
75
+ RayQuery<RAY_FLAG_NONE> query;
76
+ ShapeHit nearest;
77
+ Run(query, ray, mask, nearest);
78
+ Hit hit;
79
+ uint status = query.CommittedStatus();
80
+ hit.found = status != COMMITTED_NOTHING;
81
+ hit.t = query.CommittedRayT();
82
+ hit.instance = hit.found ? query.CommittedInstanceIndex() : 0;
83
+ hit.primitive = hit.found ? query.CommittedPrimitiveIndex() : 0;
84
+ hit.geometry = hit.found ? query.CommittedInstanceID() : 0;
85
+ hit.barycentrics = status == COMMITTED_TRIANGLE_HIT ? query.CommittedTriangleBarycentrics()
86
+ : float2(0);
87
+ hit.objectNormal = nearest.normal;
88
+ hit.objectToWorld = query.CommittedObjectToWorld3x4();
89
+ hit.worldToObject = query.CommittedWorldToObject3x4();
90
+ return hit;
91
+ }
92
+
93
+ public bool TraceAny(RayDesc ray, uint mask) {
94
+ RayQuery<RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH> query;
95
+ ShapeHit nearest;
96
+ Run(query, ray, mask, nearest);
97
+ return query.CommittedStatus() != COMMITTED_NOTHING;
98
+ }
99
+ }
100
+
101
+ /// @return The surface's geometric normal at a hit, in the scene's frame, facing out of an
102
+ /// implicit shape or by a triangle's winding.
103
+ public float3 WorldNormal(Hit hit, GeometryRecord* records) {
104
+ float3 normal = hit.objectNormal;
105
+ GeometryRecord record = records[hit.geometry];
106
+ if (record.kind == kTriangles) {
107
+ uint* corners = record.indices + 3 * hit.primitive;
108
+ float3 p[3];
109
+ for (uint i = 0; i < 3; ++i) {
110
+ float* v = record.vertices + 3 * corners[i];
111
+ p[i] = float3(v[0], v[1], v[2]);
112
+ }
113
+ normal = cross(p[1] - p[0], p[2] - p[0]);
114
+ }
115
+ // Normals take the inverse transpose: a row vector times the world-to-object matrix.
116
+ return normalize(mul(normal, (float3x3)hit.worldToObject));
117
+ }