ernie-renderer 0.2.0.dev119__tar.gz → 0.2.0.dev121__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 (905) hide show
  1. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/CMakeLists.txt +1 -1
  2. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/PKG-INFO +1 -1
  3. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/cmake/ErnieShaders.cmake +11 -5
  4. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/CMakeLists.txt +1 -0
  5. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/render/CMakeLists.txt +4 -14
  6. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/render/device_scene.cpp +3 -6
  7. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/render/device_scene.h +6 -9
  8. {ernie_renderer-0.2.0.dev119/ernie/render → ernie_renderer-0.2.0.dev121/ernie/render/rt}/bottom_levels.cpp +1 -1
  9. ernie_renderer-0.2.0.dev121/ernie/render/rt/ray_tracer.cpp +39 -0
  10. ernie_renderer-0.2.0.dev121/ernie/render/rt/ray_tracer.h +81 -0
  11. {ernie_renderer-0.2.0.dev119/ernie/render → ernie_renderer-0.2.0.dev121/ernie/render/rt}/top_levels.cpp +6 -5
  12. {ernie_renderer-0.2.0.dev119/ernie/render → ernie_renderer-0.2.0.dev121/ernie/render/rt}/top_levels.h +5 -15
  13. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/render/transform_graph.cpp +9 -45
  14. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/render/transform_graph.h +8 -0
  15. ernie_renderer-0.2.0.dev121/ernie/shaders/CMakeLists.txt +11 -0
  16. {ernie_renderer-0.2.0.dev119/ernie/render/shaders → ernie_renderer-0.2.0.dev121/ernie/shaders/rt}/ray_tracer.slang +56 -63
  17. {ernie_renderer-0.2.0.dev119/ernie/render/shaders → ernie_renderer-0.2.0.dev121/ernie/shaders/rt}/write_instances.slang +1 -1
  18. ernie_renderer-0.2.0.dev121/ernie/shaders/scene/geometry.slang +31 -0
  19. {ernie_renderer-0.2.0.dev119/ernie/render/shaders → ernie_renderer-0.2.0.dev121/ernie/shaders/scene}/shapes.slang +1 -2
  20. ernie_renderer-0.2.0.dev119/ernie/render/shaders/local.slang → ernie_renderer-0.2.0.dev121/ernie/shaders/scene/transform.slang +48 -8
  21. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/CMakeLists.txt +1 -1
  22. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/render/acceleration_scene_test.cpp +16 -39
  23. ernie_renderer-0.2.0.dev121/tests/render/shaders_test.cpp +110 -0
  24. ernie_renderer-0.2.0.dev119/ernie/render/ray_tracer.cpp +0 -41
  25. ernie_renderer-0.2.0.dev119/ernie/render/ray_tracer.h +0 -23
  26. ernie_renderer-0.2.0.dev119/ernie/render/shaders/compose.slang +0 -24
  27. ernie_renderer-0.2.0.dev119/ernie/render/shaders/world.slang +0 -10
  28. ernie_renderer-0.2.0.dev119/tests/render/ray_tracer_test.cpp +0 -42
  29. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/.clang-format +0 -0
  30. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/.clang-tidy +0 -0
  31. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/.dockerignore +0 -0
  32. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/.gersemirc +0 -0
  33. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/.gitattributes +0 -0
  34. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/.github/scripts/coverage_badge.py +0 -0
  35. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/.github/scripts/install-lavapipe-windows.sh +0 -0
  36. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/.github/workflows/ci.yml +0 -0
  37. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/.gitignore +0 -0
  38. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/.pre-commit-config.yaml +0 -0
  39. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/CMakePresets.json +0 -0
  40. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/Dockerfile +0 -0
  41. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/LICENSE +0 -0
  42. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/README.md +0 -0
  43. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/benchmarks/CMakeLists.txt +0 -0
  44. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/benchmarks/bench.h +0 -0
  45. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/benchmarks/device/pose_step.cpp +0 -0
  46. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/benchmarks/main.cpp +0 -0
  47. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/benchmarks/render/transform_graph.cpp +0 -0
  48. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/benchmarks/scene/extents.cpp +0 -0
  49. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/benchmarks/scene/storage.cpp +0 -0
  50. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/cmake/EmbedShader.cmake +0 -0
  51. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/cmake/ErnieConfig.cmake.in +0 -0
  52. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/cmake/ErnieFetch.cmake +0 -0
  53. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/cmake/ErnieInstall.cmake +0 -0
  54. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/cmake/ErniePackaging.cmake +0 -0
  55. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/cmake/ErnieTesting.cmake +0 -0
  56. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/cmake/ernie.pc.in +0 -0
  57. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/cmake/third_party/dear_imgui.cmake +0 -0
  58. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/cmake/third_party/glfw.cmake +0 -0
  59. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/cmake/third_party/googletest.cmake +0 -0
  60. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/cmake/third_party/nanobind.cmake +0 -0
  61. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/cmake/third_party/openexr.cmake +0 -0
  62. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/cmake/third_party/slang.cmake +0 -0
  63. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/cmake/third_party/tracy.cmake +0 -0
  64. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/docs/README.md +0 -0
  65. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/docs/index.md +0 -0
  66. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/docs/requirements.txt +0 -0
  67. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/app/CMakeLists.txt +0 -0
  68. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/app/imgui_backend.cpp +0 -0
  69. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/app/imgui_backend.h +0 -0
  70. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/app/main.cpp +0 -0
  71. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/app/ui.cpp +0 -0
  72. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/app/ui.h +0 -0
  73. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/app/viewer.cpp +0 -0
  74. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/app/viewer.h +0 -0
  75. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/CMakeLists.txt +0 -0
  76. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/acceleration.cpp +0 -0
  77. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/acceleration.h +0 -0
  78. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/arena.cpp +0 -0
  79. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/arena.h +0 -0
  80. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/bindless.cpp +0 -0
  81. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/bindless.h +0 -0
  82. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/buffer.cpp +0 -0
  83. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/buffer.h +0 -0
  84. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/column.cpp +0 -0
  85. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/column.h +0 -0
  86. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/context.cpp +0 -0
  87. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/context.h +0 -0
  88. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/cuda.cpp +0 -0
  89. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/cuda.h +0 -0
  90. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/device.h +0 -0
  91. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/external.cpp +0 -0
  92. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/external.h +0 -0
  93. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/image.cpp +0 -0
  94. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/image.h +0 -0
  95. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/instance.cpp +0 -0
  96. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/instance.h +0 -0
  97. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/kernel.cpp +0 -0
  98. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/kernel.h +0 -0
  99. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/profile.cpp +0 -0
  100. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/profile.h +0 -0
  101. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/queue.cpp +0 -0
  102. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/queue.h +0 -0
  103. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/shader_compiler.cpp +0 -0
  104. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/shader_compiler.h +0 -0
  105. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/staging.cpp +0 -0
  106. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/staging.h +0 -0
  107. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/vulkan.cpp +0 -0
  108. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/device/vulkan.h +0 -0
  109. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/geometry/CMakeLists.txt +0 -0
  110. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/geometry/bounds.h +0 -0
  111. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/geometry/triangulation.cpp +0 -0
  112. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/geometry/triangulation.h +0 -0
  113. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/graph/CMakeLists.txt +0 -0
  114. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/graph/blackboard.h +0 -0
  115. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/graph/dependencies.cpp +0 -0
  116. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/graph/dependencies.h +0 -0
  117. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/graph/graph.cpp +0 -0
  118. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/graph/graph.h +0 -0
  119. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/graph/pool.cpp +0 -0
  120. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/graph/pool.h +0 -0
  121. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/io/CMakeLists.txt +0 -0
  122. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/io/ies.cpp +0 -0
  123. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/io/ies.h +0 -0
  124. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/io/image.cpp +0 -0
  125. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/io/image.h +0 -0
  126. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/io/nanovdb.cpp +0 -0
  127. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/io/nanovdb.h +0 -0
  128. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/io/raster.cpp +0 -0
  129. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/io/raster.h +0 -0
  130. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/io/texture.cpp +0 -0
  131. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/io/texture.h +0 -0
  132. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/CMakeLists.txt +0 -0
  133. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/astronomy.cpp +0 -0
  134. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/astronomy.h +0 -0
  135. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/atmosphere.cpp +0 -0
  136. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/atmosphere.h +0 -0
  137. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/cloud.cpp +0 -0
  138. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/cloud.h +0 -0
  139. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/constants.h +0 -0
  140. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/reflectance_library.cpp +0 -0
  141. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/reflectance_library.h +0 -0
  142. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/reflectance_table.h +0 -0
  143. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/regolith.cpp +0 -0
  144. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/regolith.h +0 -0
  145. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/scattering.cpp +0 -0
  146. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/scattering.h +0 -0
  147. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/solar.cpp +0 -0
  148. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/solar.h +0 -0
  149. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/solar_table.h +0 -0
  150. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/spectrum.cpp +0 -0
  151. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/physics/spectrum.h +0 -0
  152. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/python/CMakeLists.txt +0 -0
  153. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/python/device.cpp +0 -0
  154. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/python/device.h +0 -0
  155. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/python/dlpack.cpp +0 -0
  156. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/python/dlpack.h +0 -0
  157. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/python/ernie/__init__.py +0 -0
  158. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/python/module.cpp +0 -0
  159. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/python/scene.cpp +0 -0
  160. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/python/scene.h +0 -0
  161. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/render/geometry.cpp +0 -0
  162. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/render/geometry.h +0 -0
  163. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/render/instances.cpp +0 -0
  164. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/render/instances.h +0 -0
  165. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/render/prim_rows.cpp +0 -0
  166. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/render/prim_rows.h +0 -0
  167. {ernie_renderer-0.2.0.dev119/ernie/render → ernie_renderer-0.2.0.dev121/ernie/render/rt}/bottom_levels.h +0 -0
  168. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/render/scene_columns.cpp +0 -0
  169. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/render/scene_columns.h +0 -0
  170. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/CMakeLists.txt +0 -0
  171. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/animation.cpp +0 -0
  172. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/convert.h +0 -0
  173. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/edit_history.cpp +0 -0
  174. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/edit_history.h +0 -0
  175. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/extent_cache.cpp +0 -0
  176. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/extent_cache.h +0 -0
  177. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/holder_index.cpp +0 -0
  178. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/holder_index.h +0 -0
  179. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/inherit.cpp +0 -0
  180. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/json.cpp +0 -0
  181. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/json.h +0 -0
  182. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/json_value.h +0 -0
  183. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/path.cpp +0 -0
  184. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/path.h +0 -0
  185. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/reference.cpp +0 -0
  186. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/reference.h +0 -0
  187. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/scene.cpp +0 -0
  188. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/scene.h +0 -0
  189. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/camera.cpp +0 -0
  190. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/camera.h +0 -0
  191. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/collection.h +0 -0
  192. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/geom.cpp +0 -0
  193. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/geom.h +0 -0
  194. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/instancer.cpp +0 -0
  195. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/instancer.h +0 -0
  196. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/lux.cpp +0 -0
  197. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/lux.h +0 -0
  198. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/mesh.cpp +0 -0
  199. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/mesh.h +0 -0
  200. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/planet.cpp +0 -0
  201. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/planet.h +0 -0
  202. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/registry.cpp +0 -0
  203. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/render.cpp +0 -0
  204. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/render.h +0 -0
  205. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/shade.cpp +0 -0
  206. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/shade.h +0 -0
  207. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/vol.cpp +0 -0
  208. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema/vol.h +0 -0
  209. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema.cpp +0 -0
  210. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/schema.h +0 -0
  211. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/storage.cpp +0 -0
  212. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/storage.h +0 -0
  213. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/time_samples.cpp +0 -0
  214. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/time_samples.h +0 -0
  215. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/tokens.h +0 -0
  216. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/usd_plugin.cpp +0 -0
  217. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/validate.cpp +0 -0
  218. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/value.h +0 -0
  219. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/view.cpp +0 -0
  220. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/view.h +0 -0
  221. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/xform.cpp +0 -0
  222. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/scene/xform.h +0 -0
  223. {ernie_renderer-0.2.0.dev119/ernie/render/shaders → ernie_renderer-0.2.0.dev121/ernie/shaders/math}/affine.slang +0 -0
  224. {ernie_renderer-0.2.0.dev119/ernie/render/shaders → ernie_renderer-0.2.0.dev121/ernie/shaders/math}/double_float.slang +0 -0
  225. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/CMakeLists.txt +0 -0
  226. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/algorithm.h +0 -0
  227. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/bytes.h +0 -0
  228. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/disk_cache.cpp +0 -0
  229. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/disk_cache.h +0 -0
  230. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/file.cpp +0 -0
  231. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/file.h +0 -0
  232. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/glm.h +0 -0
  233. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/hash_index.h +0 -0
  234. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/library.cpp +0 -0
  235. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/library.h +0 -0
  236. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/linear_algebra.h +0 -0
  237. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/log.cpp +0 -0
  238. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/log.h +0 -0
  239. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/math.h +0 -0
  240. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/noise.cpp +0 -0
  241. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/noise.h +0 -0
  242. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/numbers.h +0 -0
  243. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/on_failure.h +0 -0
  244. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/parallel.h +0 -0
  245. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/profiler.cpp +0 -0
  246. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/profiler.h +0 -0
  247. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/random.h +0 -0
  248. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/tensor.cpp +0 -0
  249. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/tensor.h +0 -0
  250. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/text.h +0 -0
  251. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/version.cpp +0 -0
  252. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/version.h +0 -0
  253. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/ernie/util/worker_pool.h +0 -0
  254. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/mkdocs.yml +0 -0
  255. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/pyproject.toml +0 -0
  256. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/app/orbit_camera_test.cpp +0 -0
  257. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/app/shell_test.cpp +0 -0
  258. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/app/view_test.cpp +0 -0
  259. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/app/viewer_test.cpp +0 -0
  260. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/common.h +0 -0
  261. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/consumer/CMakeLists.txt +0 -0
  262. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/consumer/main.cpp +0 -0
  263. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/device/acceleration_test.cpp +0 -0
  264. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/device/arena_test.cpp +0 -0
  265. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/device/bindless_test.cpp +0 -0
  266. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/device/column_test.cpp +0 -0
  267. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/device/columns.h +0 -0
  268. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/device/common.h +0 -0
  269. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/device/context_test.cpp +0 -0
  270. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/device/cuda_test.cpp +0 -0
  271. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/device/external_test.cpp +0 -0
  272. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/device/kernel_test.cpp +0 -0
  273. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/device/pose_step.h +0 -0
  274. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/device/profile_test.cpp +0 -0
  275. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/device/vulkan_devices_test.cpp +0 -0
  276. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/exr/README.md +0 -0
  277. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/exr/make_exr.py +0 -0
  278. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/exr/rgb_float_zip.exr +0 -0
  279. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/exr/rgba_half_window.exr +0 -0
  280. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/exr/y_half_zips.exr +0 -0
  281. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/ies/README.md +0 -0
  282. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/ies/downlight_quadrant.ies +0 -0
  283. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/ies/floodlight_type_b.ies +0 -0
  284. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/ies/lamp.tilt +0 -0
  285. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/images/grey16.png +0 -0
  286. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/ktx2/README.md +0 -0
  287. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/ktx2/quadrants_etc1s.ktx2 +0 -0
  288. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/ktx2/quadrants_uastc_zstd.ktx2 +0 -0
  289. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/ktx2/tilted_normal_etc1s.ktx2 +0 -0
  290. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/ktx2/tilted_normal_uastc.ktx2 +0 -0
  291. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/scenes/README.md +0 -0
  292. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/scenes/invalid/problems.expected +0 -0
  293. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/scenes/invalid/problems.json +0 -0
  294. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/scenes/rover.json +0 -0
  295. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/scenes/rover.saved.json +0 -0
  296. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/tiff/README.md +0 -0
  297. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/tiff/float_deflate_predictor3.tif +0 -0
  298. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/tiff/float_raw.tif +0 -0
  299. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/tiff/int16_bigtiff_bigendian.tif +0 -0
  300. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/tiff/rgb_lzw_predictor2.tif +0 -0
  301. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/tiff/rgb_planar_lzw.tif +0 -0
  302. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/tiff/rgb_planar_raw.tif +0 -0
  303. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/tiff/rgb_tiled_deflate.tif +0 -0
  304. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/volumes/cube.nvdb +0 -0
  305. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/fixtures/volumes/make_nvdb.py +0 -0
  306. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/geometry/bounds_test.cpp +0 -0
  307. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/geometry/triangulation_test.cpp +0 -0
  308. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/graph/dependencies_test.cpp +0 -0
  309. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/graph/graph_test.cpp +0 -0
  310. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/io/ies_test.cpp +0 -0
  311. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/io/image_test.cpp +0 -0
  312. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/io/nanovdb_test.cpp +0 -0
  313. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/io/raster_test.cpp +0 -0
  314. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/io/texture_test.cpp +0 -0
  315. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/physics/astronomy_test.cpp +0 -0
  316. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/physics/atmosphere_test.cpp +0 -0
  317. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/physics/cloud_test.cpp +0 -0
  318. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/physics/reflectance_library_test.cpp +0 -0
  319. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/physics/regolith_test.cpp +0 -0
  320. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/physics/scattering_test.cpp +0 -0
  321. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/physics/solar_test.cpp +0 -0
  322. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/physics/spectrum_test.cpp +0 -0
  323. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/python/conftest.py +0 -0
  324. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/python/test_device_dlpack.py +0 -0
  325. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/python/test_device_torch.py +0 -0
  326. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/python/test_package.py +0 -0
  327. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/python/test_scene.py +0 -0
  328. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/python/test_scene_schema.py +0 -0
  329. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/render/device_scene_test.cpp +0 -0
  330. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/render/geometry_test.cpp +0 -0
  331. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/render/scene_columns_test.cpp +0 -0
  332. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/render/transform_graph_test.cpp +0 -0
  333. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/edit_history_test.cpp +0 -0
  334. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/extent_cache_test.cpp +0 -0
  335. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/inherit_test.cpp +0 -0
  336. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/instancer_test.cpp +0 -0
  337. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/json_test.cpp +0 -0
  338. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/lux_test.cpp +0 -0
  339. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/mesh_test.cpp +0 -0
  340. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/path_test.cpp +0 -0
  341. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/planet_test.cpp +0 -0
  342. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/reference_test.cpp +0 -0
  343. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/render_test.cpp +0 -0
  344. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/scene_test.cpp +0 -0
  345. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/schema_test.cpp +0 -0
  346. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/shade_test.cpp +0 -0
  347. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/storage_test.cpp +0 -0
  348. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/time_samples_test.cpp +0 -0
  349. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/vol_test.cpp +0 -0
  350. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/scene/xform_test.cpp +0 -0
  351. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/algorithm_test.cpp +0 -0
  352. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/bytes_test.cpp +0 -0
  353. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/disk_cache_test.cpp +0 -0
  354. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/file_test.cpp +0 -0
  355. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/hash_index_test.cpp +0 -0
  356. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/linear_algebra_test.cpp +0 -0
  357. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/log_test.cpp +0 -0
  358. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/math_test.cpp +0 -0
  359. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/noise_test.cpp +0 -0
  360. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/parallel_test.cpp +0 -0
  361. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/profiler_test.cpp +0 -0
  362. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/random_test.cpp +0 -0
  363. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/tensor_test.cpp +0 -0
  364. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/text_test.cpp +0 -0
  365. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/version_test.cpp +0 -0
  366. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/tests/util/worker_pool_test.cpp +0 -0
  367. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/CMakeLists.txt +0 -0
  368. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/README.md +0 -0
  369. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/LICENSE +0 -0
  370. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/LICENSES/Apache-2.0.txt +0 -0
  371. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/LICENSES/BSD-3-clause.txt +0 -0
  372. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/LICENSES/MIT.txt +0 -0
  373. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/NOTICE +0 -0
  374. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/README.md +0 -0
  375. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu.h +0 -0
  376. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_astc_cfgs.inl +0 -0
  377. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_astc_hdr_core.h +0 -0
  378. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_astc_helpers.h +0 -0
  379. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_containers.h +0 -0
  380. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_containers_impl.h +0 -0
  381. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_dds_transcoder.inl +0 -0
  382. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_etc1_mods.inl +0 -0
  383. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_file_headers.h +0 -0
  384. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_idct.h +0 -0
  385. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_transcoder.cpp +0 -0
  386. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_transcoder.h +0 -0
  387. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_transcoder_internal.h +0 -0
  388. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_transcoder_tables_astc.inc +0 -0
  389. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_transcoder_tables_astc_0_255.inc +0 -0
  390. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_55.inc +0 -0
  391. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_transcoder_tables_atc_56.inc +0 -0
  392. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_alpha.inc +0 -0
  393. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_transcoder_tables_bc7_m5_color.inc +0 -0
  394. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_5.inc +0 -0
  395. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_transcoder_tables_dxt1_6.inc +0 -0
  396. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_45.inc +0 -0
  397. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_transcoder_tables_pvrtc2_alpha_33.inc +0 -0
  398. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_transcoder_uastc.h +0 -0
  399. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_xbc7_decoder.h +0 -0
  400. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/transcoder/basisu_xbc7_decoder.inl +0 -0
  401. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/zstd/LICENSE +0 -0
  402. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/zstd/zstd.h +0 -0
  403. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/basisu/zstd/zstd_errors.h +0 -0
  404. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/bc7enc/LICENSE +0 -0
  405. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/bc7enc/README.md +0 -0
  406. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/bc7enc/bc7decomp.cpp +0 -0
  407. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/bc7enc/bc7decomp.h +0 -0
  408. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/bc7enc/bc7enc.cpp +0 -0
  409. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/bc7enc/bc7enc.h +0 -0
  410. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/bc7enc/rgbcx.cpp +0 -0
  411. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/bc7enc/rgbcx.h +0 -0
  412. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/bc7enc/rgbcx_table4.h +0 -0
  413. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/bc7enc/rgbcx_table4_small.h +0 -0
  414. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/dlpack/LICENSE +0 -0
  415. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/dlpack/README.md +0 -0
  416. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/dlpack/include/dlpack/dlpack.h +0 -0
  417. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/README.md +0 -0
  418. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/copying.txt +0 -0
  419. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/common.hpp +0 -0
  420. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/_features.hpp +0 -0
  421. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/_fixes.hpp +0 -0
  422. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/_noise.hpp +0 -0
  423. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/_swizzle.hpp +0 -0
  424. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/_swizzle_func.hpp +0 -0
  425. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/_vectorize.hpp +0 -0
  426. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/compute_common.hpp +0 -0
  427. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/compute_vector_decl.hpp +0 -0
  428. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/compute_vector_relational.hpp +0 -0
  429. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_common.inl +0 -0
  430. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_common_simd.inl +0 -0
  431. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_exponential.inl +0 -0
  432. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_exponential_simd.inl +0 -0
  433. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_geometric.inl +0 -0
  434. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_geometric_simd.inl +0 -0
  435. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_integer.inl +0 -0
  436. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_integer_simd.inl +0 -0
  437. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_matrix.inl +0 -0
  438. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_matrix_simd.inl +0 -0
  439. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_packing.inl +0 -0
  440. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_packing_simd.inl +0 -0
  441. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_trigonometric.inl +0 -0
  442. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_trigonometric_simd.inl +0 -0
  443. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_vector_relational.inl +0 -0
  444. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/func_vector_relational_simd.inl +0 -0
  445. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/qualifier.hpp +0 -0
  446. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/setup.hpp +0 -0
  447. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_float.hpp +0 -0
  448. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_half.hpp +0 -0
  449. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_half.inl +0 -0
  450. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat2x2.hpp +0 -0
  451. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat2x2.inl +0 -0
  452. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat2x3.hpp +0 -0
  453. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat2x3.inl +0 -0
  454. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat2x4.hpp +0 -0
  455. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat2x4.inl +0 -0
  456. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat3x2.hpp +0 -0
  457. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat3x2.inl +0 -0
  458. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat3x3.hpp +0 -0
  459. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat3x3.inl +0 -0
  460. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat3x4.hpp +0 -0
  461. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat3x4.inl +0 -0
  462. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat4x2.hpp +0 -0
  463. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat4x2.inl +0 -0
  464. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat4x3.hpp +0 -0
  465. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat4x3.inl +0 -0
  466. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat4x4.hpp +0 -0
  467. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat4x4.inl +0 -0
  468. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_mat4x4_simd.inl +0 -0
  469. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_quat.hpp +0 -0
  470. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_quat.inl +0 -0
  471. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_quat_simd.inl +0 -0
  472. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_vec1.hpp +0 -0
  473. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_vec1.inl +0 -0
  474. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_vec2.hpp +0 -0
  475. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_vec2.inl +0 -0
  476. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_vec3.hpp +0 -0
  477. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_vec3.inl +0 -0
  478. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_vec4.hpp +0 -0
  479. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_vec4.inl +0 -0
  480. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/detail/type_vec_simd.inl +0 -0
  481. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/exponential.hpp +0 -0
  482. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/_matrix_vectorize.hpp +0 -0
  483. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_clip_space.hpp +0 -0
  484. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_clip_space.inl +0 -0
  485. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_common.hpp +0 -0
  486. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_common.inl +0 -0
  487. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double2x2.hpp +0 -0
  488. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double2x2_precision.hpp +0 -0
  489. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double2x3.hpp +0 -0
  490. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double2x3_precision.hpp +0 -0
  491. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double2x4.hpp +0 -0
  492. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double2x4_precision.hpp +0 -0
  493. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double3x2.hpp +0 -0
  494. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double3x2_precision.hpp +0 -0
  495. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double3x3.hpp +0 -0
  496. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double3x3_precision.hpp +0 -0
  497. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double3x4.hpp +0 -0
  498. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double3x4_precision.hpp +0 -0
  499. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double4x2.hpp +0 -0
  500. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double4x2_precision.hpp +0 -0
  501. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double4x3.hpp +0 -0
  502. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double4x3_precision.hpp +0 -0
  503. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double4x4.hpp +0 -0
  504. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_double4x4_precision.hpp +0 -0
  505. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float2x2.hpp +0 -0
  506. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float2x2_precision.hpp +0 -0
  507. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float2x3.hpp +0 -0
  508. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float2x3_precision.hpp +0 -0
  509. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float2x4.hpp +0 -0
  510. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float2x4_precision.hpp +0 -0
  511. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float3x2.hpp +0 -0
  512. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float3x2_precision.hpp +0 -0
  513. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float3x3.hpp +0 -0
  514. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float3x3_precision.hpp +0 -0
  515. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float3x4.hpp +0 -0
  516. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float3x4_precision.hpp +0 -0
  517. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float4x2.hpp +0 -0
  518. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float4x2_precision.hpp +0 -0
  519. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float4x3.hpp +0 -0
  520. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float4x3_precision.hpp +0 -0
  521. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float4x4.hpp +0 -0
  522. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_float4x4_precision.hpp +0 -0
  523. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int2x2.hpp +0 -0
  524. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int2x2_sized.hpp +0 -0
  525. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int2x3.hpp +0 -0
  526. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int2x3_sized.hpp +0 -0
  527. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int2x4.hpp +0 -0
  528. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int2x4_sized.hpp +0 -0
  529. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int3x2.hpp +0 -0
  530. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int3x2_sized.hpp +0 -0
  531. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int3x3.hpp +0 -0
  532. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int3x3_sized.hpp +0 -0
  533. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int3x4.hpp +0 -0
  534. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int3x4_sized.hpp +0 -0
  535. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int4x2.hpp +0 -0
  536. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int4x2_sized.hpp +0 -0
  537. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int4x3.hpp +0 -0
  538. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int4x3_sized.hpp +0 -0
  539. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int4x4.hpp +0 -0
  540. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_int4x4_sized.hpp +0 -0
  541. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_integer.hpp +0 -0
  542. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_integer.inl +0 -0
  543. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_projection.hpp +0 -0
  544. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_projection.inl +0 -0
  545. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_relational.hpp +0 -0
  546. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_relational.inl +0 -0
  547. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_transform.hpp +0 -0
  548. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_transform.inl +0 -0
  549. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint2x2.hpp +0 -0
  550. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint2x2_sized.hpp +0 -0
  551. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint2x3.hpp +0 -0
  552. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint2x3_sized.hpp +0 -0
  553. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint2x4.hpp +0 -0
  554. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint2x4_sized.hpp +0 -0
  555. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint3x2.hpp +0 -0
  556. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint3x2_sized.hpp +0 -0
  557. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint3x3.hpp +0 -0
  558. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint3x3_sized.hpp +0 -0
  559. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint3x4.hpp +0 -0
  560. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint3x4_sized.hpp +0 -0
  561. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint4x2.hpp +0 -0
  562. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint4x2_sized.hpp +0 -0
  563. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint4x3.hpp +0 -0
  564. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint4x3_sized.hpp +0 -0
  565. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint4x4.hpp +0 -0
  566. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/matrix_uint4x4_sized.hpp +0 -0
  567. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_common.hpp +0 -0
  568. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_common.inl +0 -0
  569. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_common_simd.inl +0 -0
  570. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_double.hpp +0 -0
  571. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_double_precision.hpp +0 -0
  572. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_exponential.hpp +0 -0
  573. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_exponential.inl +0 -0
  574. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_float.hpp +0 -0
  575. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_float_precision.hpp +0 -0
  576. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_geometric.hpp +0 -0
  577. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_geometric.inl +0 -0
  578. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_relational.hpp +0 -0
  579. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_relational.inl +0 -0
  580. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_transform.hpp +0 -0
  581. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_transform.inl +0 -0
  582. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_trigonometric.hpp +0 -0
  583. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/quaternion_trigonometric.inl +0 -0
  584. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_common.hpp +0 -0
  585. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_common.inl +0 -0
  586. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_constants.hpp +0 -0
  587. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_constants.inl +0 -0
  588. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_int_sized.hpp +0 -0
  589. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_integer.hpp +0 -0
  590. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_integer.inl +0 -0
  591. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_packing.hpp +0 -0
  592. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_packing.inl +0 -0
  593. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_reciprocal.hpp +0 -0
  594. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_reciprocal.inl +0 -0
  595. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_relational.hpp +0 -0
  596. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_relational.inl +0 -0
  597. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_uint_sized.hpp +0 -0
  598. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_ulp.hpp +0 -0
  599. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/scalar_ulp.inl +0 -0
  600. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_bool1.hpp +0 -0
  601. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_bool1_precision.hpp +0 -0
  602. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_bool2.hpp +0 -0
  603. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_bool2_precision.hpp +0 -0
  604. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_bool3.hpp +0 -0
  605. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_bool3_precision.hpp +0 -0
  606. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_bool4.hpp +0 -0
  607. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_bool4_precision.hpp +0 -0
  608. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_common.hpp +0 -0
  609. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_common.inl +0 -0
  610. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_double1.hpp +0 -0
  611. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_double1_precision.hpp +0 -0
  612. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_double2.hpp +0 -0
  613. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_double2_precision.hpp +0 -0
  614. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_double3.hpp +0 -0
  615. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_double3_precision.hpp +0 -0
  616. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_double4.hpp +0 -0
  617. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_double4_precision.hpp +0 -0
  618. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_float1.hpp +0 -0
  619. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_float1_precision.hpp +0 -0
  620. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_float2.hpp +0 -0
  621. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_float2_precision.hpp +0 -0
  622. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_float3.hpp +0 -0
  623. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_float3_precision.hpp +0 -0
  624. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_float4.hpp +0 -0
  625. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_float4_precision.hpp +0 -0
  626. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_int1.hpp +0 -0
  627. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_int1_sized.hpp +0 -0
  628. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_int2.hpp +0 -0
  629. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_int2_sized.hpp +0 -0
  630. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_int3.hpp +0 -0
  631. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_int3_sized.hpp +0 -0
  632. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_int4.hpp +0 -0
  633. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_int4_sized.hpp +0 -0
  634. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_integer.hpp +0 -0
  635. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_integer.inl +0 -0
  636. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_packing.hpp +0 -0
  637. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_packing.inl +0 -0
  638. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_reciprocal.hpp +0 -0
  639. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_reciprocal.inl +0 -0
  640. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_relational.hpp +0 -0
  641. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_relational.inl +0 -0
  642. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_uint1.hpp +0 -0
  643. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_uint1_sized.hpp +0 -0
  644. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_uint2.hpp +0 -0
  645. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_uint2_sized.hpp +0 -0
  646. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_uint3.hpp +0 -0
  647. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_uint3_sized.hpp +0 -0
  648. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_uint4.hpp +0 -0
  649. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_uint4_sized.hpp +0 -0
  650. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_ulp.hpp +0 -0
  651. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext/vector_ulp.inl +0 -0
  652. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/ext.hpp +0 -0
  653. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/fwd.hpp +0 -0
  654. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/geometric.hpp +0 -0
  655. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/glm.hpp +0 -0
  656. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/bitfield.hpp +0 -0
  657. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/bitfield.inl +0 -0
  658. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/color_space.hpp +0 -0
  659. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/color_space.inl +0 -0
  660. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/constants.hpp +0 -0
  661. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/constants.inl +0 -0
  662. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/epsilon.hpp +0 -0
  663. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/epsilon.inl +0 -0
  664. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/integer.hpp +0 -0
  665. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/integer.inl +0 -0
  666. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/matrix_access.hpp +0 -0
  667. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/matrix_access.inl +0 -0
  668. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/matrix_integer.hpp +0 -0
  669. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/matrix_inverse.hpp +0 -0
  670. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/matrix_inverse.inl +0 -0
  671. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/matrix_transform.hpp +0 -0
  672. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/matrix_transform.inl +0 -0
  673. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/noise.hpp +0 -0
  674. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/noise.inl +0 -0
  675. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/packing.hpp +0 -0
  676. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/packing.inl +0 -0
  677. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/quaternion.hpp +0 -0
  678. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/quaternion.inl +0 -0
  679. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/quaternion_simd.inl +0 -0
  680. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/random.hpp +0 -0
  681. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/random.inl +0 -0
  682. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/reciprocal.hpp +0 -0
  683. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/round.hpp +0 -0
  684. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/round.inl +0 -0
  685. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/type_aligned.hpp +0 -0
  686. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/type_precision.hpp +0 -0
  687. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/type_precision.inl +0 -0
  688. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/type_ptr.hpp +0 -0
  689. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/type_ptr.inl +0 -0
  690. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/ulp.hpp +0 -0
  691. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/ulp.inl +0 -0
  692. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtc/vec1.hpp +0 -0
  693. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/associated_min_max.hpp +0 -0
  694. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/associated_min_max.inl +0 -0
  695. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/bit.hpp +0 -0
  696. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/bit.inl +0 -0
  697. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/closest_point.hpp +0 -0
  698. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/closest_point.inl +0 -0
  699. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/color_encoding.hpp +0 -0
  700. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/color_encoding.inl +0 -0
  701. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/color_space.hpp +0 -0
  702. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/color_space.inl +0 -0
  703. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/color_space_YCoCg.hpp +0 -0
  704. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/color_space_YCoCg.inl +0 -0
  705. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/common.hpp +0 -0
  706. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/common.inl +0 -0
  707. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/compatibility.hpp +0 -0
  708. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/compatibility.inl +0 -0
  709. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/component_wise.hpp +0 -0
  710. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/component_wise.inl +0 -0
  711. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/dual_quaternion.hpp +0 -0
  712. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/dual_quaternion.inl +0 -0
  713. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/easing.hpp +0 -0
  714. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/easing.inl +0 -0
  715. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/euler_angles.hpp +0 -0
  716. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/euler_angles.inl +0 -0
  717. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/extend.hpp +0 -0
  718. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/extend.inl +0 -0
  719. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/extended_min_max.hpp +0 -0
  720. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/extended_min_max.inl +0 -0
  721. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/exterior_product.hpp +0 -0
  722. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/exterior_product.inl +0 -0
  723. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/fast_exponential.hpp +0 -0
  724. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/fast_exponential.inl +0 -0
  725. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/fast_square_root.hpp +0 -0
  726. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/fast_square_root.inl +0 -0
  727. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/fast_trigonometry.hpp +0 -0
  728. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/fast_trigonometry.inl +0 -0
  729. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/float_normalize.inl +0 -0
  730. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/functions.hpp +0 -0
  731. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/functions.inl +0 -0
  732. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/gradient_paint.hpp +0 -0
  733. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/gradient_paint.inl +0 -0
  734. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/handed_coordinate_space.hpp +0 -0
  735. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/handed_coordinate_space.inl +0 -0
  736. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/hash.hpp +0 -0
  737. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/hash.inl +0 -0
  738. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/integer.hpp +0 -0
  739. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/integer.inl +0 -0
  740. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/intersect.hpp +0 -0
  741. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/intersect.inl +0 -0
  742. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/io.hpp +0 -0
  743. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/io.inl +0 -0
  744. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/iteration.hpp +0 -0
  745. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/iteration.inl +0 -0
  746. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/log_base.hpp +0 -0
  747. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/log_base.inl +0 -0
  748. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_cross_product.hpp +0 -0
  749. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_cross_product.inl +0 -0
  750. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_decompose.hpp +0 -0
  751. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_decompose.inl +0 -0
  752. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_factorisation.hpp +0 -0
  753. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_factorisation.inl +0 -0
  754. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_interpolation.hpp +0 -0
  755. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_interpolation.inl +0 -0
  756. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_major_storage.hpp +0 -0
  757. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_major_storage.inl +0 -0
  758. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_operation.hpp +0 -0
  759. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_operation.inl +0 -0
  760. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_query.hpp +0 -0
  761. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_query.inl +0 -0
  762. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_transform_2d.hpp +0 -0
  763. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/matrix_transform_2d.inl +0 -0
  764. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/mixed_product.hpp +0 -0
  765. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/mixed_product.inl +0 -0
  766. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/norm.hpp +0 -0
  767. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/norm.inl +0 -0
  768. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/normal.hpp +0 -0
  769. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/normal.inl +0 -0
  770. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/normalize_dot.hpp +0 -0
  771. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/normalize_dot.inl +0 -0
  772. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/number_precision.hpp +0 -0
  773. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/optimum_pow.hpp +0 -0
  774. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/optimum_pow.inl +0 -0
  775. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/orthonormalize.hpp +0 -0
  776. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/orthonormalize.inl +0 -0
  777. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/pca.hpp +0 -0
  778. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/pca.inl +0 -0
  779. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/perpendicular.hpp +0 -0
  780. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/perpendicular.inl +0 -0
  781. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/polar_coordinates.hpp +0 -0
  782. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/polar_coordinates.inl +0 -0
  783. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/projection.hpp +0 -0
  784. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/projection.inl +0 -0
  785. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/quaternion.hpp +0 -0
  786. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/quaternion.inl +0 -0
  787. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/range.hpp +0 -0
  788. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/raw_data.hpp +0 -0
  789. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/raw_data.inl +0 -0
  790. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/rotate_normalized_axis.hpp +0 -0
  791. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/rotate_normalized_axis.inl +0 -0
  792. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/rotate_vector.hpp +0 -0
  793. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/rotate_vector.inl +0 -0
  794. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/scalar_multiplication.hpp +0 -0
  795. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/scalar_relational.hpp +0 -0
  796. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/scalar_relational.inl +0 -0
  797. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/spline.hpp +0 -0
  798. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/spline.inl +0 -0
  799. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/std_based_type.hpp +0 -0
  800. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/std_based_type.inl +0 -0
  801. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/string_cast.hpp +0 -0
  802. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/string_cast.inl +0 -0
  803. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/structured_bindings.hpp +0 -0
  804. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/structured_bindings.inl +0 -0
  805. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/texture.hpp +0 -0
  806. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/texture.inl +0 -0
  807. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/transform.hpp +0 -0
  808. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/transform.inl +0 -0
  809. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/transform2.hpp +0 -0
  810. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/transform2.inl +0 -0
  811. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/type_aligned.hpp +0 -0
  812. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/type_aligned.inl +0 -0
  813. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/type_trait.hpp +0 -0
  814. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/type_trait.inl +0 -0
  815. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/vec_swizzle.hpp +0 -0
  816. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/vector_angle.hpp +0 -0
  817. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/vector_angle.inl +0 -0
  818. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/vector_query.hpp +0 -0
  819. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/vector_query.inl +0 -0
  820. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/wrap.hpp +0 -0
  821. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/gtx/wrap.inl +0 -0
  822. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/integer.hpp +0 -0
  823. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/mat2x2.hpp +0 -0
  824. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/mat2x3.hpp +0 -0
  825. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/mat2x4.hpp +0 -0
  826. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/mat3x2.hpp +0 -0
  827. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/mat3x3.hpp +0 -0
  828. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/mat3x4.hpp +0 -0
  829. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/mat4x2.hpp +0 -0
  830. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/mat4x3.hpp +0 -0
  831. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/mat4x4.hpp +0 -0
  832. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/matrix.hpp +0 -0
  833. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/packing.hpp +0 -0
  834. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/simd/common.h +0 -0
  835. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/simd/exponential.h +0 -0
  836. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/simd/geometric.h +0 -0
  837. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/simd/integer.h +0 -0
  838. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/simd/matrix.h +0 -0
  839. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/simd/neon.h +0 -0
  840. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/simd/packing.h +0 -0
  841. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/simd/platform.h +0 -0
  842. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/simd/trigonometric.h +0 -0
  843. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/simd/vector_relational.h +0 -0
  844. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/trigonometric.hpp +0 -0
  845. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/vec2.hpp +0 -0
  846. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/vec3.hpp +0 -0
  847. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/vec4.hpp +0 -0
  848. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/glm/glm/vector_relational.hpp +0 -0
  849. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/json/LICENSE.MIT +0 -0
  850. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/json/README.md +0 -0
  851. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/json/include/nlohmann/json.hpp +0 -0
  852. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/json/include/nlohmann/json_fwd.hpp +0 -0
  853. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/nanovdb/LICENSE +0 -0
  854. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/nanovdb/PNanoVDB.h +0 -0
  855. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/stb/LICENSE +0 -0
  856. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/stb/README.md +0 -0
  857. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/stb/stb_image.h +0 -0
  858. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/stb/stb_image_write.h +0 -0
  859. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/stb.cpp +0 -0
  860. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vma/LICENSE.txt +0 -0
  861. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vma/README.md +0 -0
  862. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vma/include/vk_mem_alloc.h +0 -0
  863. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vma.cpp +0 -0
  864. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/volk/LICENSE.md +0 -0
  865. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/volk/README.md +0 -0
  866. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/volk/volk.c +0 -0
  867. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/volk/volk.h +0 -0
  868. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/LICENSE.md +0 -0
  869. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/LICENSES/Apache-2.0.txt +0 -0
  870. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/LICENSES/MIT.txt +0 -0
  871. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/README.md +0 -0
  872. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std.h +0 -0
  873. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_decode.h +0 -0
  874. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_av1std_encode.h +0 -0
  875. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std.h +0 -0
  876. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_decode.h +0 -0
  877. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h264std_encode.h +0 -0
  878. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std.h +0 -0
  879. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_decode.h +0 -0
  880. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_h265std_encode.h +0 -0
  881. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std.h +0 -0
  882. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vk_video/vulkan_video_codec_vp9std_decode.h +0 -0
  883. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vk_video/vulkan_video_codecs_common.h +0 -0
  884. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vk_icd.h +0 -0
  885. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vk_layer.h +0 -0
  886. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vk_platform.h +0 -0
  887. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan.h +0 -0
  888. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_android.h +0 -0
  889. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_beta.h +0 -0
  890. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_core.h +0 -0
  891. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_directfb.h +0 -0
  892. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_fuchsia.h +0 -0
  893. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_ggp.h +0 -0
  894. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_ios.h +0 -0
  895. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_macos.h +0 -0
  896. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_metal.h +0 -0
  897. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_ohos.h +0 -0
  898. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_screen.h +0 -0
  899. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_ubm.h +0 -0
  900. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_vi.h +0 -0
  901. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_wayland.h +0 -0
  902. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_win32.h +0 -0
  903. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_xcb.h +0 -0
  904. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/third_party/vulkan_headers/include/vulkan/vulkan_xlib.h +0 -0
  905. {ernie_renderer-0.2.0.dev119 → ernie_renderer-0.2.0.dev121}/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 ".dev119" CACHE STRING "Pre-release suffix of Ernie's version")
18
+ set(ERNIE_VERSION_SUFFIX ".dev121" CACHE STRING "Pre-release suffix of Ernie's version")
19
19
  set(ERNIE_VERSION "${PROJECT_VERSION}${ERNIE_VERSION_SUFFIX}")
20
20
 
21
21
  option(ERNIE_BUILD_TESTS "Build Ernie's tests" OFF)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ernie-renderer
3
- Version: 0.2.0.dev119
3
+ Version: 0.2.0.dev121
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
@@ -2,16 +2,22 @@
2
2
  # Slang shaders kept in .slang files and embedded in the library, so editors highlight and
3
3
  # resolve them and the program needs no files beside it.
4
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.
5
+ # ernie_add_shaders(ernie_shaders math/affine.slang rt/ray_tracer.slang)
6
+ # add_dependencies(ernie_render ernie_shaders)
7
+ # // In C++: #include "ernie/shaders/rt/ray_tracer.h" for ernie::shaders::kRayTracer.
7
8
 
8
- # Builds each file's header beside its path under the build's include directory, before the
9
- # target compiles.
9
+ # Adds `target`, which writes each file's header beside its path under the build's include
10
+ # directory. Module names are the files' names, so each must be unique.
10
11
  function(ernie_add_shaders target)
11
12
  set(headers "")
13
+ set(names "")
12
14
  foreach(file IN LISTS ARGN)
13
15
  get_filename_component(source "${file}" ABSOLUTE)
14
16
  get_filename_component(name "${file}" NAME_WE)
17
+ if(name IN_LIST names)
18
+ message(FATAL_ERROR "Two shader modules are named ${name}")
19
+ endif()
20
+ list(APPEND names "${name}")
15
21
  file(RELATIVE_PATH relative "${PROJECT_SOURCE_DIR}" "${source}")
16
22
  string(REGEX REPLACE "\\.slang$" ".h" relative "${relative}")
17
23
  set(header "${PROJECT_BINARY_DIR}/include/${relative}")
@@ -26,5 +32,5 @@ function(ernie_add_shaders target)
26
32
  )
27
33
  list(APPEND headers "${header}")
28
34
  endforeach()
29
- target_sources(${target} PRIVATE ${headers})
35
+ add_custom_target(${target} DEPENDS ${headers} SOURCES ${ARGN})
30
36
  endfunction()
@@ -28,6 +28,7 @@ add_subdirectory(io)
28
28
  add_subdirectory(scene)
29
29
  add_subdirectory(device)
30
30
  add_subdirectory(graph)
31
+ add_subdirectory(shaders)
31
32
  add_subdirectory(render)
32
33
 
33
34
  set(ernie_layers
@@ -2,27 +2,17 @@
2
2
  add_library(
3
3
  ernie_render
4
4
  OBJECT
5
- bottom_levels.cpp
6
5
  device_scene.cpp
7
6
  geometry.cpp
8
7
  instances.cpp
9
8
  prim_rows.cpp
10
- ray_tracer.cpp
9
+ rt/bottom_levels.cpp
10
+ rt/ray_tracer.cpp
11
+ rt/top_levels.cpp
11
12
  scene_columns.cpp
12
- top_levels.cpp
13
13
  transform_graph.cpp
14
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
- )
15
+ add_dependencies(ernie_render ernie_shaders)
26
16
  target_link_libraries(
27
17
  ernie_render
28
18
  PUBLIC ernie_geometry ernie_scene ernie_graph
@@ -11,8 +11,7 @@ DeviceScene::DeviceScene(DeviceContext& context, Arenas& arenas, const Scene& sc
11
11
  transforms_(context, arenas, scene, compiler), geometry_(context, arenas, scene),
12
12
  instances_(context, arenas) {
13
13
  if (context.Capabilities().rayQuery) {
14
- bottoms_ = std::make_unique<BottomLevels>(context, arenas, geometry_);
15
- tops_ = std::make_unique<TopLevels>(context, compiler);
14
+ tracer_ = std::make_unique<RayTracer>(context, arenas, compiler, geometry_);
16
15
  }
17
16
  }
18
17
 
@@ -26,10 +25,8 @@ Ticket DeviceScene::Execute(const std::function<void(graph::Graph&)>& passes,
26
25
  instances_.Apply(changes);
27
26
  geometry_.AddUploads(graph);
28
27
  instances_.AddUploads(graph);
29
- if (bottoms_) {
30
- bottoms_->Apply(changes);
31
- bottoms_->AddBuilds(graph);
32
- tops_->AddBuild(graph, transforms_, instances_, *bottoms_);
28
+ if (tracer_) {
29
+ tracer_->AddBuild(graph, changes, transforms_, instances_);
33
30
  }
34
31
  if (passes) {
35
32
  passes(graph);
@@ -14,11 +14,10 @@
14
14
 
15
15
  #include "ernie/device/shader_compiler.h"
16
16
  #include "ernie/graph/graph.h"
17
- #include "ernie/render/bottom_levels.h"
18
17
  #include "ernie/render/geometry.h"
19
18
  #include "ernie/render/instances.h"
19
+ #include "ernie/render/rt/ray_tracer.h"
20
20
  #include "ernie/render/scene_columns.h"
21
- #include "ernie/render/top_levels.h"
22
21
  #include "ernie/render/transform_graph.h"
23
22
 
24
23
  #include <functional>
@@ -30,8 +29,7 @@ namespace ernie {
30
29
  /// @brief A scene on a device and the graph each frame runs: the columns bound on the device
31
30
  /// follow the scene, world transforms compose from them, the geometry and its acceleration
32
31
  /// structures follow, and then the frame's own passes run, finding what to trace as a
33
- /// `SceneStructure` on the graph's blackboard. Devices without ray queries get no acceleration
34
- /// structures yet.
32
+ /// `TraceScene` on the graph's blackboard. Devices without ray queries get no ray tracer yet.
35
33
  class DeviceScene {
36
34
  public:
37
35
  /// @param arenas Where the device columns live; `MemoryUse::Shared` to share them with CUDA.
@@ -52,9 +50,9 @@ class DeviceScene {
52
50
  InstanceTable& Instances() {
53
51
  return instances_;
54
52
  }
55
- /// @return The bottom levels, or null on devices without ray queries.
56
- BottomLevels* Bottoms() {
57
- return bottoms_.get();
53
+ /// @return The ray tracer, or null on devices without ray queries.
54
+ RayTracer* Tracer() {
55
+ return tracer_.get();
58
56
  }
59
57
  /// @return Where the frames' transients come from.
60
58
  graph::TransientPool& Pool() {
@@ -76,8 +74,7 @@ class DeviceScene {
76
74
  TransformGraph transforms_;
77
75
  GeometryPool geometry_;
78
76
  InstanceTable instances_;
79
- std::unique_ptr<BottomLevels> bottoms_;
80
- std::unique_ptr<TopLevels> tops_;
77
+ std::unique_ptr<RayTracer> tracer_;
81
78
  };
82
79
 
83
80
  } // namespace ernie
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: BSD-3-Clause
2
2
  /// @file bottom_levels.cpp
3
3
  /// @brief Building, refitting and compacting each geometry's bottom level as frame-graph passes.
4
- #include "ernie/render/bottom_levels.h"
4
+ #include "ernie/render/rt/bottom_levels.h"
5
5
 
6
6
  #include "ernie/util/profiler.h"
7
7
 
@@ -0,0 +1,39 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ /// @file ray_tracer.cpp
3
+ /// @brief Keeping the acceleration structures up to date each frame.
4
+ #include "ernie/render/rt/ray_tracer.h"
5
+
6
+ #include "ernie/shaders/rt/ray_tracer.h"
7
+ #include "ernie/shaders/scene/geometry.h"
8
+ #include "ernie/shaders/scene/shapes.h"
9
+ #include "ernie/util/profiler.h"
10
+
11
+ #include <array>
12
+
13
+ namespace ernie {
14
+
15
+ RayTracer::RayTracer(DeviceContext& context, Arenas& arenas, const ShaderCompiler& compiler,
16
+ const GeometryPool& geometry)
17
+ : geometry_(geometry), bottoms_(context, arenas, geometry), tops_(context, compiler) {}
18
+
19
+ std::span<const ShaderModule> RayTracer::Modules() {
20
+ static const std::array modules{shaders::kGeometry, shaders::kShapes, shaders::kRayTracer};
21
+ return modules;
22
+ }
23
+
24
+ void RayTracer::AddBuild(graph::Graph& graph, const GeometryPool::Changes& changes,
25
+ const TransformGraph& transforms, const InstanceTable& instances) {
26
+ ERNIE_ZONE("Update the ray tracer");
27
+ const graph::Graph::ScopeGuard scope = graph.Scope("Ray tracer");
28
+ bottoms_.Apply(changes);
29
+ bottoms_.AddBuilds(graph);
30
+ const graph::Acceleration top = tops_.AddBuild(graph, transforms, instances, bottoms_);
31
+ const DeviceColumn& records = geometry_.Records();
32
+ graph.Board().Put(TraceScene{
33
+ .parameters = {.scene = tops_.Structure()->Address(), .records = records.Address()},
34
+ .top = top,
35
+ .records = graph.Import(records, records.Name()),
36
+ .instances = instances.Count()});
37
+ }
38
+
39
+ } // namespace ernie
@@ -0,0 +1,81 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ /// @file ray_tracer.h
3
+ /// @brief The ray tracer: the acceleration structures the scene is traced through, kept up to date
4
+ /// each frame, and the Slang modules its passes trace them with.
5
+ ///
6
+ /// const TraceScene& scene = graph.Board().Get<TraceScene>();
7
+ /// graph.Add("Shade", graph::Kind::Compute,
8
+ /// [&](graph::PassBuilder& pass) { scene.Read(pass); ... },
9
+ /// [&](graph::PassContext& pass) { kernel.Dispatch(..., {scene.parameters, ...}); });
10
+ #pragma once
11
+
12
+ #include "ernie/device/shader_compiler.h"
13
+ #include "ernie/graph/graph.h"
14
+ #include "ernie/render/geometry.h"
15
+ #include "ernie/render/instances.h"
16
+ #include "ernie/render/rt/bottom_levels.h"
17
+ #include "ernie/render/rt/top_levels.h"
18
+ #include "ernie/render/transform_graph.h"
19
+
20
+ #include <cstdint>
21
+ #include <span>
22
+
23
+ namespace ernie {
24
+
25
+ /// @brief What a tracing kernel hands `RayTracer`, as ray_tracer.slang's `TracerParameters`.
26
+ struct TracerParameters {
27
+ /// The top level's device address.
28
+ std::uint64_t scene = 0;
29
+ /// `GeometryPool::Records`' device address.
30
+ std::uint64_t records = 0;
31
+ };
32
+ static_assert(sizeof(TracerParameters) == 16);
33
+
34
+ /// @brief What a frame's passes trace, left on the graph's blackboard by `RayTracer::AddBuild`.
35
+ struct TraceScene {
36
+ TracerParameters parameters;
37
+ graph::Acceleration top;
38
+ graph::Buffer records;
39
+ std::uint32_t instances = 0;
40
+
41
+ /// @brief Declares a pass's reads of everything tracing touches.
42
+ void Read(graph::PassBuilder& pass) const {
43
+ pass.Read(top);
44
+ pass.ReadAddress(records);
45
+ }
46
+ };
47
+
48
+ /// @brief The scene's acceleration structures on a device with ray queries: a bottom level for
49
+ /// each geometry, built and compacted as it changes, and a top level over the instances rebuilt
50
+ /// every frame.
51
+ class RayTracer {
52
+ public:
53
+ RayTracer(DeviceContext& context, Arenas& arenas, const ShaderCompiler& compiler,
54
+ const GeometryPool& geometry);
55
+ RayTracer(const RayTracer&) = delete;
56
+ RayTracer& operator=(const RayTracer&) = delete;
57
+
58
+ /// @return The modules, in import order, a tracing kernel compiles with before its own; it
59
+ /// then imports `ray_tracer`.
60
+ static std::span<const ShaderModule> Modules();
61
+
62
+ /// @brief Adds the passes that bring the structures up to date with the frame's geometry
63
+ /// changes, after the transforms and the geometry's and instances' uploads, and puts a
64
+ /// `TraceScene` on the graph's blackboard.
65
+ void AddBuild(graph::Graph& graph, const GeometryPool::Changes& changes,
66
+ const TransformGraph& transforms, const InstanceTable& instances);
67
+
68
+ BottomLevels& Bottoms() {
69
+ return bottoms_;
70
+ }
71
+ const TopLevels& Tops() const {
72
+ return tops_;
73
+ }
74
+
75
+ private:
76
+ const GeometryPool& geometry_;
77
+ BottomLevels bottoms_;
78
+ TopLevels tops_;
79
+ };
80
+
81
+ } // namespace ernie
@@ -1,9 +1,9 @@
1
1
  // SPDX-License-Identifier: BSD-3-Clause
2
2
  /// @file top_levels.cpp
3
3
  /// @brief Writing instance records on the device and building the top level over them.
4
- #include "ernie/render/top_levels.h"
4
+ #include "ernie/render/rt/top_levels.h"
5
5
 
6
- #include "ernie/render/shaders/write_instances.h"
6
+ #include "ernie/shaders/rt/write_instances.h"
7
7
  #include "ernie/util/profiler.h"
8
8
 
9
9
  #include <algorithm>
@@ -37,8 +37,9 @@ TopLevels::TopLevels(DeviceContext& context, const ShaderCompiler& compiler)
37
37
  std::uint32_t{sizeof(WriteParameters)}),
38
38
  pool_(context, "top levels") {}
39
39
 
40
- void TopLevels::AddBuild(graph::Graph& graph, const TransformGraph& transforms,
41
- const InstanceTable& instances, const BottomLevels& bottoms) {
40
+ graph::Acceleration TopLevels::AddBuild(graph::Graph& graph, const TransformGraph& transforms,
41
+ const InstanceTable& instances,
42
+ const BottomLevels& bottoms) {
42
43
  ERNIE_ZONE("Prepare the top level");
43
44
  const std::uint32_t count = instances.Count();
44
45
  const std::uint32_t capacity = top_ ? top_->Sizes().primitives[0] : 0;
@@ -101,7 +102,7 @@ void TopLevels::AddBuild(graph::Graph& graph, const TransformGraph& transforms,
101
102
  const graph::BufferSlice space = pass.Get(scratch);
102
103
  RecordBuilds(pass.commands, {}, std::span(&recorded, 1), {space.buffer, space.offset});
103
104
  });
104
- graph.Board().Put(SceneStructure{.top = top, .address = top_->Address(), .instances = count});
105
+ return top;
105
106
  }
106
107
 
107
108
  } // namespace ernie
@@ -8,24 +8,14 @@
8
8
  #include "ernie/device/kernel.h"
9
9
  #include "ernie/device/shader_compiler.h"
10
10
  #include "ernie/graph/graph.h"
11
- #include "ernie/render/bottom_levels.h"
12
11
  #include "ernie/render/instances.h"
12
+ #include "ernie/render/rt/bottom_levels.h"
13
13
  #include "ernie/render/transform_graph.h"
14
14
 
15
- #include <cstdint>
16
15
  #include <memory>
17
16
 
18
17
  namespace ernie {
19
18
 
20
- /// @brief What a frame's passes trace, left on the graph's blackboard by `TopLevels::AddBuild`.
21
- struct SceneStructure {
22
- /// The top level, for passes to read with `Use::Trace`.
23
- graph::Acceleration top;
24
- /// Its address, as kernels trace it: `RaytracingAccelerationStructure(address)`.
25
- std::uint64_t address = 0;
26
- std::uint32_t instances = 0;
27
- };
28
-
29
19
  /// @brief The scene's top level, rebuilt every frame: a kernel writes each instance's record from
30
20
  /// its world transform, its shape transform and its geometry's bottom level, and the build follows.
31
21
  /// Instances whose bottom level is not built are switched off. An instance's custom index is its
@@ -38,10 +28,10 @@ class TopLevels {
38
28
  TopLevels& operator=(const TopLevels&) = delete;
39
29
 
40
30
  /// @brief Adds the passes that write the instances and build the top level, after the
41
- /// transforms, the instance uploads and the bottom levels' builds, and puts a
42
- /// `SceneStructure` on the graph's blackboard.
43
- void AddBuild(graph::Graph& graph, const TransformGraph& transforms,
44
- const InstanceTable& instances, const BottomLevels& bottoms);
31
+ /// transforms, the instance uploads and the bottom levels' builds.
32
+ /// @return The top level built, for passes to read with `Use::Trace`.
33
+ graph::Acceleration AddBuild(graph::Graph& graph, const TransformGraph& transforms,
34
+ const InstanceTable& instances, const BottomLevels& bottoms);
45
35
 
46
36
  /// @return The top level as last built, or null before the first build.
47
37
  const AccelerationStructure* Structure() const {
@@ -4,13 +4,11 @@
4
4
  /// composing it on the device.
5
5
  #include "ernie/render/transform_graph.h"
6
6
 
7
- #include "ernie/render/shaders/affine.h"
8
- #include "ernie/render/shaders/compose.h"
9
- #include "ernie/render/shaders/double_float.h"
10
- #include "ernie/render/shaders/local.h"
11
- #include "ernie/render/shaders/world.h"
12
7
  #include "ernie/scene/schema/geom.h"
13
8
  #include "ernie/scene/tokens.h"
9
+ #include "ernie/shaders/math/affine.h"
10
+ #include "ernie/shaders/math/double_float.h"
11
+ #include "ernie/shaders/scene/transform.h"
14
12
 
15
13
  #include <glm/gtc/matrix_transform.hpp>
16
14
 
@@ -22,35 +20,6 @@
22
20
  namespace ernie {
23
21
  namespace {
24
22
 
25
- // A program's op kinds: a folded constant, then each `XformOpKind` after it.
26
- constexpr std::uint32_t kConstant = 0;
27
- constexpr std::uint32_t kInvert = 1;
28
- constexpr std::uint32_t kFloatsShift = 8;
29
-
30
- constexpr std::uint32_t ProgramKind(XformOpKind kind) {
31
- return 1 + static_cast<std::uint32_t>(kind);
32
- }
33
-
34
- /// The op kinds and the program layout, from the constants above, for the kernels to import.
35
- ShaderModule OpConstants() {
36
- std::string source;
37
- const auto constant = [&](const char* name, std::uint32_t value) {
38
- source +=
39
- std::string("public static const uint ") + name + " = " + std::to_string(value) + ";\n";
40
- };
41
- constant("kConstant", kConstant);
42
- constant("kTranslate", ProgramKind(XformOpKind::Translate));
43
- constant("kScale", ProgramKind(XformOpKind::Scale));
44
- constant("kRotateX", ProgramKind(XformOpKind::RotateX));
45
- constant("kRotateXYZ", ProgramKind(XformOpKind::RotateXYZ));
46
- constant("kOrient", ProgramKind(XformOpKind::Orient));
47
- constant("kInvert", kInvert);
48
- constant("kFloatsShift", kFloatsShift);
49
- constant("kMaxOps", TransformGraph::kMaxOps);
50
- constant("kNone", TransformGraph::kNone);
51
- return {"ops", std::move(source)};
52
- }
53
-
54
23
  struct LocalParameters {
55
24
  VkDeviceAddress slots, programs, lengths, locals;
56
25
  std::uint32_t count, pad;
@@ -61,11 +30,6 @@ struct ComposeParameters {
61
30
  };
62
31
  static_assert(sizeof(TransformGraph::DeviceOp) == 112);
63
32
 
64
- std::vector<std::uint32_t> Compile(const ShaderCompiler& compiler, const ShaderModule& kernel) {
65
- const std::array modules{shaders::kAffine, shaders::kDoubleFloat, OpConstants(), kernel};
66
- return compiler.Spirv(modules, "main");
67
- }
68
-
69
33
  /// @return A transform's top three rows, each value split exactly into a high and a low float.
70
34
  TransformGraph::SplitRows Split(const glm::dmat4& m) {
71
35
  TransformGraph::SplitRows rows{};
@@ -114,9 +78,9 @@ glm::uvec3 Groups(std::size_t threads) {
114
78
  TransformGraph::TransformGraph(DeviceContext& context, Arenas& arenas, const Scene& scene,
115
79
  const ShaderCompiler& compiler)
116
80
  : context_(context), arenas_(arenas), scene_(scene), uploader_(context, context.Main()),
117
- local_(context, Compile(compiler, shaders::kLocal), "local transforms",
81
+ local_(context, compiler.Spirv(WorldModules(), "Local"), "local transforms",
118
82
  sizeof(LocalParameters)),
119
- compose_(context, Compile(compiler, shaders::kCompose), "world transforms",
83
+ compose_(context, compiler.Spirv(WorldModules(), "Compose"), "world transforms",
120
84
  sizeof(ComposeParameters)) {
121
85
  const auto column = [&](std::string_view name, DType type, std::vector<std::int64_t> element) {
122
86
  return std::make_unique<DeviceColumn>(arenas, name, type, std::move(element), 0);
@@ -166,7 +130,7 @@ void TransformGraph::SetOrigin(const glm::dvec3& origin) {
166
130
  }
167
131
 
168
132
  std::span<const ShaderModule> TransformGraph::WorldModules() {
169
- static const std::array modules{shaders::kAffine, shaders::kDoubleFloat, shaders::kWorld};
133
+ static const std::array modules{shaders::kAffine, shaders::kDoubleFloat, shaders::kTransform};
170
134
  return modules;
171
135
  }
172
136
 
@@ -401,7 +365,7 @@ TransformGraph::Built TransformGraph::BuildProgram(std::uint32_t slot) const {
401
365
  // Runs of the host's ops become one matrix each.
402
366
  const auto fold = [&] {
403
367
  if (folded != glm::dmat4(1.0) && built.onDevice) {
404
- push({.kind = kConstant, .constant = Split(folded)});
368
+ push({.kind = kConstantOp, .constant = Split(folded)});
405
369
  folded = glm::dmat4(1.0);
406
370
  }
407
371
  };
@@ -415,8 +379,8 @@ TransformGraph::Built TransformGraph::BuildProgram(std::uint32_t slot) const {
415
379
  fold();
416
380
  const DeviceColumn& column = *bound->column;
417
381
  const auto floats = static_cast<std::uint32_t>(Floats(column));
418
- push({.kind = ProgramKind(op.kind),
419
- .flags = (op.invert ? kInvert : 0u) | floats << kFloatsShift,
382
+ push({.kind = OpKind(op.kind),
383
+ .flags = (op.invert ? kInvertFlag : 0u) | floats << kFloatsShift,
420
384
  .source = bound->address + row * column.RowBytes()});
421
385
  }
422
386
  fold();
@@ -63,6 +63,14 @@ class TransformGraph {
63
63
  bool operator==(const DeviceOp&) const = default;
64
64
  };
65
65
  using Program = std::array<DeviceOp, kMaxOps>;
66
+ /// A `DeviceOp::kind`: a folded constant, then each `XformOpKind` after it.
67
+ static constexpr std::uint32_t kConstantOp = 0;
68
+ static constexpr std::uint32_t OpKind(XformOpKind kind) {
69
+ return 1 + static_cast<std::uint32_t>(kind);
70
+ }
71
+ /// `DeviceOp::flags`' inverting bit, and where its float count starts.
72
+ static constexpr std::uint32_t kInvertFlag = 1;
73
+ static constexpr std::uint32_t kFloatsShift = 8;
66
74
 
67
75
  TransformGraph(DeviceContext& context, Arenas& arenas, const Scene& scene,
68
76
  const ShaderCompiler& compiler);
@@ -0,0 +1,11 @@
1
+ # SPDX-License-Identifier: BSD-3-Clause
2
+ ernie_add_shaders(
3
+ ernie_shaders
4
+ math/affine.slang
5
+ math/double_float.slang
6
+ rt/ray_tracer.slang
7
+ rt/write_instances.slang
8
+ scene/geometry.slang
9
+ scene/shapes.slang
10
+ scene/transform.slang
11
+ )
@@ -1,19 +1,20 @@
1
1
  // SPDX-License-Identifier: BSD-3-Clause
2
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;
3
+ /// @brief `RayTracer`, what every pass traces the scene through: inline ray queries against the
4
+ /// top level, each procedural candidate solved exactly as its unit shape.
5
+ ///
6
+ /// import ray_tracer;
7
+ /// RayTracer tracer = RayTracer(parameters.tracer);
8
+ /// Hit hit = tracer.TraceClosest(ray, 0xff);
9
+ /// if (hit.found) { float3 n = tracer.WorldNormal(hit); }
10
+ import geometry;
7
11
  import shapes;
8
12
 
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;
13
+ /// What a pass hands its tracer, as the C++ `TracerParameters`.
14
+ public struct TracerParameters {
15
+ /// The top level's device address.
16
+ public uint64_t scene;
17
+ public GeometryRecord* records;
17
18
  };
18
19
 
19
20
  /// What a ray hit: where along it, which instance, primitive and geometry, and the transforms
@@ -32,45 +33,14 @@ public struct Hit {
32
33
  public float3x4 worldToObject;
33
34
  };
34
35
 
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
- }
36
+ public struct RayTracer {
37
+ TracerParameters parameters;
42
38
 
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
- }
39
+ public __init(TracerParameters parameters) {
40
+ this.parameters = parameters;
72
41
  }
73
42
 
43
+ /// @return The nearest hit along the ray among instances in `mask`.
74
44
  public Hit TraceClosest(RayDesc ray, uint mask) {
75
45
  RayQuery<RAY_FLAG_NONE> query;
76
46
  ShapeHit nearest;
@@ -90,28 +60,51 @@ public struct HardwareRayQuery : IRayTracer {
90
60
  return hit;
91
61
  }
92
62
 
63
+ /// @return Whether anything in `mask` blocks the ray, for visibility.
93
64
  public bool TraceAny(RayDesc ray, uint mask) {
94
65
  RayQuery<RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH> query;
95
66
  ShapeHit nearest;
96
67
  Run(query, ray, mask, nearest);
97
68
  return query.CommittedStatus() != COMMITTED_NOTHING;
98
69
  }
99
- }
100
70
 
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]);
71
+ /// @return The surface's geometric normal at a hit, in the scene's frame, facing out of an
72
+ /// implicit shape or by a triangle's winding.
73
+ public float3 WorldNormal(Hit hit) {
74
+ float3 normal = hit.objectNormal;
75
+ GeometryRecord record = parameters.records[hit.geometry];
76
+ if (record.kind == kTriangles) {
77
+ float3 p[3];
78
+ Corners(record, hit.primitive, p);
79
+ normal = cross(p[1] - p[0], p[2] - p[0]);
80
+ }
81
+ // Normals take the inverse transpose: a row vector times the world-to-object matrix.
82
+ return normalize(mul(normal, (float3x3)hit.worldToObject));
83
+ }
84
+
85
+ /// Runs the query; `Flags` may end it at the first hit. NVIDIA's compiler fails on
86
+ /// `CandidateObjectRay*`: the object ray comes from the candidate's matrix instead.
87
+ void Run<let Flags : int>(inout RayQuery<Flags> query, RayDesc ray, uint mask,
88
+ out ShapeHit nearest) {
89
+ query.TraceRayInline(RaytracingAccelerationStructure(parameters.scene), RAY_FLAG_NONE,
90
+ mask, ray);
91
+ nearest.t = ray.TMax;
92
+ nearest.normal = float3(0, 0, 1);
93
+ while (query.Proceed()) {
94
+ if (query.CandidateType() != CANDIDATE_PROCEDURAL_PRIMITIVE) {
95
+ continue;
96
+ }
97
+ GeometryRecord record = parameters.records[query.CandidateInstanceID()];
98
+ float3x4 toObject = query.CandidateWorldToObject3x4();
99
+ float3 o = mul(toObject, float4(query.WorldRayOrigin(), 1));
100
+ float3 d = mul(toObject, float4(query.WorldRayDirection(), 0));
101
+ // Object-space distances along the transformed direction are the ray's own.
102
+ ShapeHit hit = nearest;
103
+ hit.t = query.CommittedRayT();
104
+ if (IntersectShape(record.kind, record.halfLength, o, d, ray.TMin, hit)) {
105
+ query.CommitProceduralPrimitiveHit(hit.t);
106
+ nearest = hit;
107
+ }
112
108
  }
113
- normal = cross(p[1] - p[0], p[2] - p[0]);
114
109
  }
115
- // Normals take the inverse transpose: a row vector times the world-to-object matrix.
116
- return normalize(mul(normal, (float3x3)hit.worldToObject));
117
110
  }