ernie-renderer 0.1.0.dev309__tar.gz → 0.2.0.dev5__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 (624) hide show
  1. {ernie_renderer-0.1.0.dev309 → ernie_renderer-0.2.0.dev5}/.clang-format +1 -1
  2. {ernie_renderer-0.1.0.dev309 → ernie_renderer-0.2.0.dev5}/.clang-tidy +1 -2
  3. ernie_renderer-0.2.0.dev5/.dockerignore +6 -0
  4. ernie_renderer-0.2.0.dev5/.gersemirc +4 -0
  5. ernie_renderer-0.2.0.dev5/.gitattributes +2 -0
  6. {ernie_renderer-0.1.0.dev309 → ernie_renderer-0.2.0.dev5}/.github/scripts/install-lavapipe-windows.sh +0 -7
  7. ernie_renderer-0.2.0.dev5/.github/workflows/ci.yml +375 -0
  8. ernie_renderer-0.2.0.dev5/.gitignore +12 -0
  9. ernie_renderer-0.2.0.dev5/.pre-commit-config.yaml +40 -0
  10. ernie_renderer-0.2.0.dev5/CMakeLists.txt +81 -0
  11. ernie_renderer-0.2.0.dev5/CMakePresets.json +81 -0
  12. ernie_renderer-0.2.0.dev5/Dockerfile +22 -0
  13. ernie_renderer-0.2.0.dev5/PKG-INFO +229 -0
  14. ernie_renderer-0.2.0.dev5/README.md +214 -0
  15. ernie_renderer-0.2.0.dev5/cmake/ErniePackaging.cmake +38 -0
  16. ernie_renderer-0.2.0.dev5/cmake/ErnieTesting.cmake +28 -0
  17. {ernie_renderer-0.1.0.dev309 → ernie_renderer-0.2.0.dev5}/cmake/third_party/googletest.cmake +5 -6
  18. ernie_renderer-0.2.0.dev5/cmake/third_party/nanobind.cmake +34 -0
  19. ernie_renderer-0.2.0.dev5/cmake/third_party/volk.cmake +20 -0
  20. {ernie_renderer-0.1.0.dev309 → ernie_renderer-0.2.0.dev5}/cmake/third_party/vulkan_headers.cmake +10 -5
  21. ernie_renderer-0.2.0.dev5/ernie/CMakeLists.txt +21 -0
  22. ernie_renderer-0.2.0.dev5/ernie/app/CMakeLists.txt +5 -0
  23. ernie_renderer-0.2.0.dev5/ernie/app/main.cpp +44 -0
  24. ernie_renderer-0.2.0.dev5/ernie/core/CMakeLists.txt +5 -0
  25. ernie_renderer-0.2.0.dev5/ernie/core/version.cpp +12 -0
  26. ernie_renderer-0.2.0.dev5/ernie/core/version.h +14 -0
  27. ernie_renderer-0.2.0.dev5/ernie/device/CMakeLists.txt +3 -0
  28. ernie_renderer-0.2.0.dev5/ernie/device/vulkan_devices.cpp +131 -0
  29. ernie_renderer-0.2.0.dev5/ernie/device/vulkan_devices.h +40 -0
  30. ernie_renderer-0.2.0.dev5/ernie/graph/CMakeLists.txt +3 -0
  31. ernie_renderer-0.2.0.dev5/ernie/io/CMakeLists.txt +3 -0
  32. ernie_renderer-0.2.0.dev5/ernie/physics/CMakeLists.txt +3 -0
  33. ernie_renderer-0.2.0.dev5/ernie/python/CMakeLists.txt +21 -0
  34. ernie_renderer-0.2.0.dev5/ernie/python/ernie/__init__.py +6 -0
  35. ernie_renderer-0.2.0.dev5/ernie/python/module.cpp +33 -0
  36. ernie_renderer-0.2.0.dev5/ernie/render/CMakeLists.txt +3 -0
  37. ernie_renderer-0.2.0.dev5/ernie/scene/CMakeLists.txt +3 -0
  38. ernie_renderer-0.2.0.dev5/ernie/test/CMakeLists.txt +29 -0
  39. ernie_renderer-0.2.0.dev5/ernie/test/core/version_test.cpp +14 -0
  40. ernie_renderer-0.2.0.dev5/ernie/test/device/vulkan_devices_test.cpp +42 -0
  41. ernie_renderer-0.2.0.dev5/ernie/test/python/test_package.py +15 -0
  42. ernie_renderer-0.2.0.dev5/pyproject.toml +71 -0
  43. ernie_renderer-0.1.0.dev309/.cmake-format.yaml +0 -11
  44. ernie_renderer-0.1.0.dev309/.gitattributes +0 -23
  45. ernie_renderer-0.1.0.dev309/.github/ISSUE_TEMPLATE/bug_report.yml +0 -58
  46. ernie_renderer-0.1.0.dev309/.github/ISSUE_TEMPLATE/feature_request.yml +0 -21
  47. ernie_renderer-0.1.0.dev309/.github/dependabot.yml +0 -14
  48. ernie_renderer-0.1.0.dev309/.github/pull_request_template.md +0 -11
  49. ernie_renderer-0.1.0.dev309/.github/scripts/ci_metrics.py +0 -166
  50. ernie_renderer-0.1.0.dev309/.github/scripts/debug-windows.sh +0 -36
  51. ernie_renderer-0.1.0.dev309/.github/workflows/ci-metrics.yml +0 -46
  52. ernie_renderer-0.1.0.dev309/.github/workflows/ci.yml +0 -611
  53. ernie_renderer-0.1.0.dev309/.gitignore +0 -17
  54. ernie_renderer-0.1.0.dev309/.pre-commit-config.yaml +0 -77
  55. ernie_renderer-0.1.0.dev309/CITATION.cff +0 -20
  56. ernie_renderer-0.1.0.dev309/CMakeLists.txt +0 -159
  57. ernie_renderer-0.1.0.dev309/CMakePresets.json +0 -46
  58. ernie_renderer-0.1.0.dev309/CONTRIBUTING.md +0 -93
  59. ernie_renderer-0.1.0.dev309/PKG-INFO +0 -284
  60. ernie_renderer-0.1.0.dev309/README.md +0 -249
  61. ernie_renderer-0.1.0.dev309/cmake/EmbedShaders.cmake +0 -22
  62. ernie_renderer-0.1.0.dev309/cmake/ErnieCPackOptions.cmake +0 -6
  63. ernie_renderer-0.1.0.dev309/cmake/ErnieConfig.cmake.in +0 -8
  64. ernie_renderer-0.1.0.dev309/cmake/ErnieInstall.cmake +0 -212
  65. ernie_renderer-0.1.0.dev309/cmake/ErnieLicenses.cmake +0 -116
  66. ernie_renderer-0.1.0.dev309/cmake/ErniePackaging.cmake +0 -146
  67. ernie_renderer-0.1.0.dev309/cmake/ErnieTesting.cmake +0 -52
  68. ernie_renderer-0.1.0.dev309/cmake/cppcheck/ernie.cfg +0 -12
  69. ernie_renderer-0.1.0.dev309/cmake/ernie_exports.map +0 -24
  70. ernie_renderer-0.1.0.dev309/cmake/third_party/curl.cmake +0 -54
  71. ernie_renderer-0.1.0.dev309/cmake/third_party/dear_imgui/CMakeLists.txt +0 -28
  72. ernie_renderer-0.1.0.dev309/cmake/third_party/dear_imgui.cmake +0 -19
  73. ernie_renderer-0.1.0.dev309/cmake/third_party/dlpack.cmake +0 -5
  74. ernie_renderer-0.1.0.dev309/cmake/third_party/embed_file.cmake +0 -14
  75. ernie_renderer-0.1.0.dev309/cmake/third_party/glfw.cmake +0 -29
  76. ernie_renderer-0.1.0.dev309/cmake/third_party/glm.cmake +0 -23
  77. ernie_renderer-0.1.0.dev309/cmake/third_party/gui_fonts.cmake +0 -66
  78. ernie_renderer-0.1.0.dev309/cmake/third_party/imguizmo.cmake +0 -21
  79. ernie_renderer-0.1.0.dev309/cmake/third_party/implot.cmake +0 -21
  80. ernie_renderer-0.1.0.dev309/cmake/third_party/json.cmake +0 -19
  81. ernie_renderer-0.1.0.dev309/cmake/third_party/meshoptimizer.cmake +0 -23
  82. ernie_renderer-0.1.0.dev309/cmake/third_party/moltenvk.cmake +0 -31
  83. ernie_renderer-0.1.0.dev309/cmake/third_party/nanobind.cmake +0 -30
  84. ernie_renderer-0.1.0.dev309/cmake/third_party/openexr.cmake +0 -44
  85. ernie_renderer-0.1.0.dev309/cmake/third_party/slang.cmake +0 -93
  86. ernie_renderer-0.1.0.dev309/cmake/third_party/stb.cmake +0 -10
  87. ernie_renderer-0.1.0.dev309/cmake/third_party/tracy.cmake +0 -40
  88. ernie_renderer-0.1.0.dev309/cmake/third_party/vma/vma.cpp +0 -4
  89. ernie_renderer-0.1.0.dev309/cmake/third_party/vma.cmake +0 -27
  90. ernie_renderer-0.1.0.dev309/cmake/third_party/volk.cmake +0 -28
  91. ernie_renderer-0.1.0.dev309/demos/CMakeLists.txt +0 -70
  92. ernie_renderer-0.1.0.dev309/demos/atmosphere/demo_atmosphere_earth.cpp +0 -189
  93. ernie_renderer-0.1.0.dev309/demos/atmosphere/demo_atmosphere_earth.py +0 -165
  94. ernie_renderer-0.1.0.dev309/demos/atmosphere/demo_atmosphere_eclipse.cpp +0 -294
  95. ernie_renderer-0.1.0.dev309/demos/atmosphere/demo_atmosphere_eclipse.py +0 -273
  96. ernie_renderer-0.1.0.dev309/demos/atmosphere/demo_atmosphere_lunar_eclipse.cpp +0 -199
  97. ernie_renderer-0.1.0.dev309/demos/atmosphere/demo_atmosphere_lunar_eclipse.py +0 -182
  98. ernie_renderer-0.1.0.dev309/demos/atmosphere/demo_atmosphere_mars.cpp +0 -233
  99. ernie_renderer-0.1.0.dev309/demos/atmosphere/demo_atmosphere_mars.py +0 -211
  100. ernie_renderer-0.1.0.dev309/demos/atmosphere/demo_atmosphere_refraction.cpp +0 -266
  101. ernie_renderer-0.1.0.dev309/demos/atmosphere/demo_atmosphere_refraction.py +0 -260
  102. ernie_renderer-0.1.0.dev309/demos/batched/demo_batched_cameras.cpp +0 -455
  103. ernie_renderer-0.1.0.dev309/demos/batched/demo_batched_cameras.py +0 -313
  104. ernie_renderer-0.1.0.dev309/demos/cameras/demo_cameras_floating_origin.cpp +0 -287
  105. ernie_renderer-0.1.0.dev309/demos/cameras/demo_cameras_floating_origin.py +0 -219
  106. ernie_renderer-0.1.0.dev309/demos/cameras/demo_cameras_lroc.cpp +0 -858
  107. ernie_renderer-0.1.0.dev309/demos/cameras/demo_cameras_lroc.py +0 -850
  108. ernie_renderer-0.1.0.dev309/demos/cameras/demo_cameras_lroc_nac.cpp +0 -587
  109. ernie_renderer-0.1.0.dev309/demos/cameras/demo_cameras_lroc_nac.py +0 -583
  110. ernie_renderer-0.1.0.dev309/demos/cameras/demo_cameras_mars2020.cpp +0 -905
  111. ernie_renderer-0.1.0.dev309/demos/cameras/demo_cameras_mars2020.py +0 -873
  112. ernie_renderer-0.1.0.dev309/demos/cameras/demo_cameras_nir_swir.cpp +0 -262
  113. ernie_renderer-0.1.0.dev309/demos/cameras/demo_cameras_nir_swir.py +0 -245
  114. ernie_renderer-0.1.0.dev309/demos/interop/demo_interop_laser_pattern.py +0 -196
  115. ernie_renderer-0.1.0.dev309/demos/interop/demo_interop_zero_copy_image.py +0 -140
  116. ernie_renderer-0.1.0.dev309/demos/lasers/demo_lasers_patterns.cpp +0 -293
  117. ernie_renderer-0.1.0.dev309/demos/lasers/demo_lasers_patterns.py +0 -250
  118. ernie_renderer-0.1.0.dev309/demos/lasers/demo_lasers_pulsed.cpp +0 -227
  119. ernie_renderer-0.1.0.dev309/demos/lasers/demo_lasers_pulsed.py +0 -212
  120. ernie_renderer-0.1.0.dev309/demos/lasers/demo_lasers_structured_light.cpp +0 -234
  121. ernie_renderer-0.1.0.dev309/demos/lasers/demo_lasers_structured_light.py +0 -206
  122. ernie_renderer-0.1.0.dev309/demos/lasers/demo_lasers_wavelengths.cpp +0 -287
  123. ernie_renderer-0.1.0.dev309/demos/lasers/demo_lasers_wavelengths.py +0 -251
  124. ernie_renderer-0.1.0.dev309/demos/lighting/demo_lighting_cornell_box.cpp +0 -324
  125. ernie_renderer-0.1.0.dev309/demos/lighting/demo_lighting_cornell_box.py +0 -374
  126. ernie_renderer-0.1.0.dev309/demos/lighting/demo_lighting_illuminants.cpp +0 -253
  127. ernie_renderer-0.1.0.dev309/demos/lighting/demo_lighting_illuminants.py +0 -267
  128. ernie_renderer-0.1.0.dev309/demos/main.cpp +0 -23
  129. ernie_renderer-0.1.0.dev309/demos/util.cpp +0 -326
  130. ernie_renderer-0.1.0.dev309/demos/util.h +0 -75
  131. ernie_renderer-0.1.0.dev309/demos/viewer/demo_viewer_custom_panel.cpp +0 -208
  132. ernie_renderer-0.1.0.dev309/demos/viewer/demo_viewer_custom_panel.py +0 -172
  133. ernie_renderer-0.1.0.dev309/demos/viewer/demo_viewer_log_array.cpp +0 -144
  134. ernie_renderer-0.1.0.dev309/demos/viewer/demo_viewer_log_array.py +0 -122
  135. ernie_renderer-0.1.0.dev309/demos/viewer/demo_viewer_log_image.cpp +0 -164
  136. ernie_renderer-0.1.0.dev309/demos/viewer/demo_viewer_log_image.py +0 -147
  137. ernie_renderer-0.1.0.dev309/demos/viewer/demo_viewer_log_scalar.cpp +0 -119
  138. ernie_renderer-0.1.0.dev309/demos/viewer/demo_viewer_log_scalar.py +0 -109
  139. ernie_renderer-0.1.0.dev309/docs/Makefile +0 -16
  140. ernie_renderer-0.1.0.dev309/docs/README.md +0 -10
  141. ernie_renderer-0.1.0.dev309/docs/api/cpp.md +0 -15
  142. ernie_renderer-0.1.0.dev309/docs/api/python/app.md +0 -7
  143. ernie_renderer-0.1.0.dev309/docs/api/python/astronomy.md +0 -15
  144. ernie_renderer-0.1.0.dev309/docs/api/python/batch.md +0 -7
  145. ernie_renderer-0.1.0.dev309/docs/api/python/cameras.md +0 -25
  146. ernie_renderer-0.1.0.dev309/docs/api/python/demo.md +0 -7
  147. ernie_renderer-0.1.0.dev309/docs/api/python/rendering.md +0 -23
  148. ernie_renderer-0.1.0.dev309/docs/api/python/scene.md +0 -25
  149. ernie_renderer-0.1.0.dev309/docs/api/python/schemas.md +0 -103
  150. ernie_renderer-0.1.0.dev309/docs/api/python/tokens.md +0 -8
  151. ernie_renderer-0.1.0.dev309/docs/concepts/cameras.md +0 -1
  152. ernie_renderer-0.1.0.dev309/docs/concepts/lighting.md +0 -1
  153. ernie_renderer-0.1.0.dev309/docs/concepts/materials.md +0 -1
  154. ernie_renderer-0.1.0.dev309/docs/concepts/scene.md +0 -1
  155. ernie_renderer-0.1.0.dev309/docs/concepts/sensor-filters.md +0 -1
  156. ernie_renderer-0.1.0.dev309/docs/concepts/shadows.md +0 -1
  157. ernie_renderer-0.1.0.dev309/docs/concepts/spectral.md +0 -1
  158. ernie_renderer-0.1.0.dev309/docs/concepts/star-fields.md +0 -1
  159. ernie_renderer-0.1.0.dev309/docs/concepts/terrain.md +0 -18
  160. ernie_renderer-0.1.0.dev309/docs/concepts/transforms.md +0 -1
  161. ernie_renderer-0.1.0.dev309/docs/css/extra.css +0 -9
  162. ernie_renderer-0.1.0.dev309/docs/extending/custom-aovs.md +0 -1
  163. ernie_renderer-0.1.0.dev309/docs/extending/custom-brdfs.md +0 -1
  164. ernie_renderer-0.1.0.dev309/docs/extending/custom-lenses.md +0 -1
  165. ernie_renderer-0.1.0.dev309/docs/extending/custom-panels.md +0 -1
  166. ernie_renderer-0.1.0.dev309/docs/extending/custom-render-delegates.md +0 -1
  167. ernie_renderer-0.1.0.dev309/docs/extending/custom-sensor-filters.md +0 -1
  168. ernie_renderer-0.1.0.dev309/docs/extending/custom-spectra.md +0 -1
  169. ernie_renderer-0.1.0.dev309/docs/extending/custom-star-catalogs.md +0 -1
  170. ernie_renderer-0.1.0.dev309/docs/extending/debug-draw.md +0 -1
  171. ernie_renderer-0.1.0.dev309/docs/extending/frame-callbacks.md +0 -1
  172. ernie_renderer-0.1.0.dev309/docs/extending/index.md +0 -1
  173. ernie_renderer-0.1.0.dev309/docs/getting-started/demos.md +0 -144
  174. ernie_renderer-0.1.0.dev309/docs/getting-started/installation.md +0 -1
  175. ernie_renderer-0.1.0.dev309/docs/getting-started/quickstart.md +0 -1
  176. ernie_renderer-0.1.0.dev309/docs/getting-started/viewer.md +0 -1
  177. ernie_renderer-0.1.0.dev309/docs/guides/batched-rendering.md +0 -1
  178. ernie_renderer-0.1.0.dev309/docs/guides/gpu-interop.md +0 -1
  179. ernie_renderer-0.1.0.dev309/docs/guides/scenes.md +0 -497
  180. ernie_renderer-0.1.0.dev309/docs/index.md +0 -1
  181. ernie_renderer-0.1.0.dev309/docs/js/sidebar.js +0 -29
  182. ernie_renderer-0.1.0.dev309/docs/requirements.txt +0 -11
  183. ernie_renderer-0.1.0.dev309/ernie/CMakeLists.txt +0 -62
  184. ernie_renderer-0.1.0.dev309/ernie/app/CMakeLists.txt +0 -56
  185. ernie_renderer-0.1.0.dev309/ernie/app/app.h +0 -35
  186. ernie_renderer-0.1.0.dev309/ernie/app/builtin_panels.h +0 -42
  187. ernie_renderer-0.1.0.dev309/ernie/app/camera_panel.cpp +0 -188
  188. ernie_renderer-0.1.0.dev309/ernie/app/cli.cpp +0 -175
  189. ernie_renderer-0.1.0.dev309/ernie/app/cli.h +0 -37
  190. ernie_renderer-0.1.0.dev309/ernie/app/create.cpp +0 -285
  191. ernie_renderer-0.1.0.dev309/ernie/app/create.h +0 -58
  192. ernie_renderer-0.1.0.dev309/ernie/app/demo.cpp +0 -873
  193. ernie_renderer-0.1.0.dev309/ernie/app/demo.h +0 -380
  194. ernie_renderer-0.1.0.dev309/ernie/app/file_dialog.cpp +0 -491
  195. ernie_renderer-0.1.0.dev309/ernie/app/file_dialog.h +0 -197
  196. ernie_renderer-0.1.0.dev309/ernie/app/icons.h +0 -50
  197. ernie_renderer-0.1.0.dev309/ernie/app/log_panel.cpp +0 -82
  198. ernie_renderer-0.1.0.dev309/ernie/app/logs.cpp +0 -701
  199. ernie_renderer-0.1.0.dev309/ernie/app/logs.h +0 -140
  200. ernie_renderer-0.1.0.dev309/ernie/app/main.cpp +0 -15
  201. ernie_renderer-0.1.0.dev309/ernie/app/panel.cpp +0 -351
  202. ernie_renderer-0.1.0.dev309/ernie/app/panel.h +0 -138
  203. ernie_renderer-0.1.0.dev309/ernie/app/prim_icons.cpp +0 -300
  204. ernie_renderer-0.1.0.dev309/ernie/app/prim_icons.h +0 -30
  205. ernie_renderer-0.1.0.dev309/ernie/app/prim_schemas.cpp +0 -401
  206. ernie_renderer-0.1.0.dev309/ernie/app/prim_schemas.h +0 -40
  207. ernie_renderer-0.1.0.dev309/ernie/app/profiler_panel.cpp +0 -480
  208. ernie_renderer-0.1.0.dev309/ernie/app/properties_panel.cpp +0 -493
  209. ernie_renderer-0.1.0.dev309/ernie/app/property_fields.cpp +0 -695
  210. ernie_renderer-0.1.0.dev309/ernie/app/property_fields.h +0 -105
  211. ernie_renderer-0.1.0.dev309/ernie/app/session.cpp +0 -247
  212. ernie_renderer-0.1.0.dev309/ernie/app/session.h +0 -99
  213. ernie_renderer-0.1.0.dev309/ernie/app/settings_panel.cpp +0 -231
  214. ernie_renderer-0.1.0.dev309/ernie/app/stage_panel.cpp +0 -626
  215. ernie_renderer-0.1.0.dev309/ernie/app/theme.cpp +0 -154
  216. ernie_renderer-0.1.0.dev309/ernie/app/theme.h +0 -70
  217. ernie_renderer-0.1.0.dev309/ernie/app/viewer.cpp +0 -4167
  218. ernie_renderer-0.1.0.dev309/ernie/app/viewer.h +0 -712
  219. ernie_renderer-0.1.0.dev309/ernie/device/CMakeLists.txt +0 -34
  220. ernie_renderer-0.1.0.dev309/ernie/device/buffer.cpp +0 -221
  221. ernie_renderer-0.1.0.dev309/ernie/device/buffer.h +0 -115
  222. ernie_renderer-0.1.0.dev309/ernie/device/compute_interop.cpp +0 -21
  223. ernie_renderer-0.1.0.dev309/ernie/device/compute_interop.h +0 -212
  224. ernie_renderer-0.1.0.dev309/ernie/device/cuda_interop.cpp +0 -1073
  225. ernie_renderer-0.1.0.dev309/ernie/device/cuda_interop.h +0 -96
  226. ernie_renderer-0.1.0.dev309/ernie/device/frame_uploads.cpp +0 -156
  227. ernie_renderer-0.1.0.dev309/ernie/device/frame_uploads.h +0 -93
  228. ernie_renderer-0.1.0.dev309/ernie/device/gpu_profile.h +0 -71
  229. ernie_renderer-0.1.0.dev309/ernie/device/gpu_timer.cpp +0 -113
  230. ernie_renderer-0.1.0.dev309/ernie/device/gpu_timer.h +0 -64
  231. ernie_renderer-0.1.0.dev309/ernie/device/image.cpp +0 -378
  232. ernie_renderer-0.1.0.dev309/ernie/device/image.h +0 -213
  233. ernie_renderer-0.1.0.dev309/ernie/device/offscreen_target.cpp +0 -81
  234. ernie_renderer-0.1.0.dev309/ernie/device/offscreen_target.h +0 -76
  235. ernie_renderer-0.1.0.dev309/ernie/device/pipeline.cpp +0 -400
  236. ernie_renderer-0.1.0.dev309/ernie/device/pipeline.h +0 -218
  237. ernie_renderer-0.1.0.dev309/ernie/device/shader_compiler.cpp +0 -135
  238. ernie_renderer-0.1.0.dev309/ernie/device/shader_compiler.h +0 -54
  239. ernie_renderer-0.1.0.dev309/ernie/device/swapchain.cpp +0 -205
  240. ernie_renderer-0.1.0.dev309/ernie/device/swapchain.h +0 -108
  241. ernie_renderer-0.1.0.dev309/ernie/device/vulkan_context.cpp +0 -979
  242. ernie_renderer-0.1.0.dev309/ernie/device/vulkan_context.h +0 -351
  243. ernie_renderer-0.1.0.dev309/ernie/geometry/CMakeLists.txt +0 -11
  244. ernie_renderer-0.1.0.dev309/ernie/geometry/cube_sphere_lod.cpp +0 -417
  245. ernie_renderer-0.1.0.dev309/ernie/geometry/cube_sphere_lod.h +0 -264
  246. ernie_renderer-0.1.0.dev309/ernie/geometry/frustum.cpp +0 -35
  247. ernie_renderer-0.1.0.dev309/ernie/geometry/frustum.h +0 -38
  248. ernie_renderer-0.1.0.dev309/ernie/geometry/lod_quadtree.cpp +0 -332
  249. ernie_renderer-0.1.0.dev309/ernie/geometry/lod_quadtree.h +0 -233
  250. ernie_renderer-0.1.0.dev309/ernie/geometry/mesh_data.cpp +0 -73
  251. ernie_renderer-0.1.0.dev309/ernie/geometry/mesh_data.h +0 -58
  252. ernie_renderer-0.1.0.dev309/ernie/geometry/primitives.cpp +0 -288
  253. ernie_renderer-0.1.0.dev309/ernie/geometry/primitives.h +0 -68
  254. ernie_renderer-0.1.0.dev309/ernie/kernel/CMakeLists.txt +0 -95
  255. ernie_renderer-0.1.0.dev309/ernie/kernel/closure/brdf.slang +0 -196
  256. ernie_renderer-0.1.0.dev309/ernie/kernel/closure/hapke.slang +0 -94
  257. ernie_renderer-0.1.0.dev309/ernie/kernel/closure/lambert.slang +0 -9
  258. ernie_renderer-0.1.0.dev309/ernie/kernel/closure/lommel_seeliger.slang +0 -13
  259. ernie_renderer-0.1.0.dev309/ernie/kernel/closure/lunar_lambert.slang +0 -14
  260. ernie_renderer-0.1.0.dev309/ernie/kernel/closure/oren_nayar.slang +0 -22
  261. ernie_renderer-0.1.0.dev309/ernie/kernel/closure/preview_surface.slang +0 -173
  262. ernie_renderer-0.1.0.dev309/ernie/kernel/embedded_shaders.h +0 -126
  263. ernie_renderer-0.1.0.dev309/ernie/kernel/film/cube_faces.slang +0 -58
  264. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_bayer.slang +0 -37
  265. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_blooming.slang +0 -43
  266. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_color_matrix.slang +0 -30
  267. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_compand.slang +0 -23
  268. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_compand_lookup.slang +0 -41
  269. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_compand_table.slang +0 -38
  270. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_dark_current.slang +0 -30
  271. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_defect_pixels.slang +0 -27
  272. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_defocus.slang +0 -63
  273. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_demosaic.slang +0 -97
  274. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_detector_pattern.slang +0 -30
  275. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_flare.slang +0 -118
  276. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_glare.slang +0 -38
  277. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_jpeg.slang +0 -95
  278. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_lag.slang +0 -22
  279. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_measured_qe.slang +0 -34
  280. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_psf.slang +0 -214
  281. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_readout_taps.slang +0 -34
  282. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_smear.slang +0 -32
  283. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_spectral_transmission.slang +0 -18
  284. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_stray_light.slang +0 -116
  285. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_tdi.slang +0 -42
  286. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_temporal_average.slang +0 -23
  287. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_tone_curve.slang +0 -21
  288. ernie_renderer-0.1.0.dev309/ernie/kernel/film/filter_white_balance.slang +0 -20
  289. ernie_renderer-0.1.0.dev309/ernie/kernel/film/lens.slang +0 -164
  290. ernie_renderer-0.1.0.dev309/ernie/kernel/film/pyramid.slang +0 -41
  291. ernie_renderer-0.1.0.dev309/ernie/kernel/film/sensor.slang +0 -1193
  292. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/atmosphere.slang +0 -659
  293. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/atmosphere_luts.slang +0 -384
  294. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/cull.slang +0 -372
  295. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/depth_range.slang +0 -50
  296. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/frame.slang +0 -314
  297. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/ground.slang +0 -163
  298. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/hzb.slang +0 -46
  299. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/instance_anchors.slang +0 -86
  300. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/instance_compose.slang +0 -204
  301. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/light_views.slang +0 -189
  302. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/mesh.slang +0 -516
  303. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/mesh_normals.slang +0 -56
  304. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/meter.slang +0 -48
  305. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/minimal_resolve.slang +0 -119
  306. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/motion.slang +0 -112
  307. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/motion_vectors.slang +0 -51
  308. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/overlay.slang +0 -277
  309. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/planet.slang +0 -182
  310. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/planet_color.slang +0 -118
  311. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/planet_shadow.slang +0 -8
  312. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/points.slang +0 -222
  313. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/present.slang +0 -196
  314. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/projection_pinhole.slang +0 -35
  315. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/projection_pushbroom.slang +0 -138
  316. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/shading.slang +0 -2173
  317. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/surface.slang +0 -311
  318. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/terrain.slang +0 -105
  319. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/terrain_color.slang +0 -90
  320. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/terrain_horizon.slang +0 -167
  321. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/terrain_shadow.slang +0 -8
  322. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/terrain_update.slang +0 -101
  323. ernie_renderer-0.1.0.dev309/ernie/kernel/raster/views.slang +0 -194
  324. ernie_renderer-0.1.0.dev309/ernie/python/CMakeLists.txt +0 -192
  325. ernie_renderer-0.1.0.dev309/ernie/python/app.cpp +0 -908
  326. ernie_renderer-0.1.0.dev309/ernie/python/bindings.h +0 -131
  327. ernie_renderer-0.1.0.dev309/ernie/python/demo.cpp +0 -364
  328. ernie_renderer-0.1.0.dev309/ernie/python/ernie/__init__.py +0 -186
  329. ernie_renderer-0.1.0.dev309/ernie/python/ernie/__main__.py +0 -47
  330. ernie_renderer-0.1.0.dev309/ernie/python/ernie/app.py +0 -42
  331. ernie_renderer-0.1.0.dev309/ernie/python/ernie/batch.py +0 -237
  332. ernie_renderer-0.1.0.dev309/ernie/python/ernie/demo.py +0 -612
  333. ernie_renderer-0.1.0.dev309/ernie/python/ernie/demos/__init__.py +0 -93
  334. ernie_renderer-0.1.0.dev309/ernie/python/ernie/demos/__main__.py +0 -9
  335. ernie_renderer-0.1.0.dev309/ernie/python/ernie/schema.py +0 -623
  336. ernie_renderer-0.1.0.dev309/ernie/python/module.cpp +0 -15
  337. ernie_renderer-0.1.0.dev309/ernie/python/render.cpp +0 -867
  338. ernie_renderer-0.1.0.dev309/ernie/python/scene.cpp +0 -2302
  339. ernie_renderer-0.1.0.dev309/ernie/python/scene_json.cpp +0 -95
  340. ernie_renderer-0.1.0.dev309/ernie/python/schema.cpp +0 -249
  341. ernie_renderer-0.1.0.dev309/ernie/python/stub_patterns.txt +0 -9
  342. ernie_renderer-0.1.0.dev309/ernie/python/stub_schema.py +0 -220
  343. ernie_renderer-0.1.0.dev309/ernie/python/tensor.cpp +0 -206
  344. ernie_renderer-0.1.0.dev309/ernie/raster/CMakeLists.txt +0 -24
  345. ernie_renderer-0.1.0.dev309/ernie/raster/atmosphere_luts.cpp +0 -370
  346. ernie_renderer-0.1.0.dev309/ernie/raster/atmosphere_luts.h +0 -149
  347. ernie_renderer-0.1.0.dev309/ernie/raster/delegate.cpp +0 -3117
  348. ernie_renderer-0.1.0.dev309/ernie/raster/delegate.h +0 -547
  349. ernie_renderer-0.1.0.dev309/ernie/raster/drawable.h +0 -250
  350. ernie_renderer-0.1.0.dev309/ernie/raster/ground_drawable.cpp +0 -243
  351. ernie_renderer-0.1.0.dev309/ernie/raster/ground_drawable.h +0 -134
  352. ernie_renderer-0.1.0.dev309/ernie/raster/material.cpp +0 -506
  353. ernie_renderer-0.1.0.dev309/ernie/raster/material.h +0 -228
  354. ernie_renderer-0.1.0.dev309/ernie/raster/mesh_drawable.cpp +0 -3372
  355. ernie_renderer-0.1.0.dev309/ernie/raster/mesh_drawable.h +0 -950
  356. ernie_renderer-0.1.0.dev309/ernie/raster/minimal_targets.cpp +0 -174
  357. ernie_renderer-0.1.0.dev309/ernie/raster/minimal_targets.h +0 -125
  358. ernie_renderer-0.1.0.dev309/ernie/raster/overlay_pass.cpp +0 -264
  359. ernie_renderer-0.1.0.dev309/ernie/raster/overlay_pass.h +0 -108
  360. ernie_renderer-0.1.0.dev309/ernie/raster/planet_drawable.cpp +0 -561
  361. ernie_renderer-0.1.0.dev309/ernie/raster/planet_drawable.h +0 -184
  362. ernie_renderer-0.1.0.dev309/ernie/raster/points_drawable.cpp +0 -858
  363. ernie_renderer-0.1.0.dev309/ernie/raster/points_drawable.h +0 -263
  364. ernie_renderer-0.1.0.dev309/ernie/raster/poisson_disk.cpp +0 -58
  365. ernie_renderer-0.1.0.dev309/ernie/raster/poisson_disk.h +0 -26
  366. ernie_renderer-0.1.0.dev309/ernie/raster/render_targets.cpp +0 -310
  367. ernie_renderer-0.1.0.dev309/ernie/raster/render_targets.h +0 -210
  368. ernie_renderer-0.1.0.dev309/ernie/raster/renderer.cpp +0 -5077
  369. ernie_renderer-0.1.0.dev309/ernie/raster/renderer.h +0 -1208
  370. ernie_renderer-0.1.0.dev309/ernie/raster/sensor_plan.cpp +0 -592
  371. ernie_renderer-0.1.0.dev309/ernie/raster/sensor_plan.h +0 -143
  372. ernie_renderer-0.1.0.dev309/ernie/raster/shadow_cascades.cpp +0 -158
  373. ernie_renderer-0.1.0.dev309/ernie/raster/shadow_cascades.h +0 -98
  374. ernie_renderer-0.1.0.dev309/ernie/raster/terrain_drawable.cpp +0 -1110
  375. ernie_renderer-0.1.0.dev309/ernie/raster/terrain_drawable.h +0 -413
  376. ernie_renderer-0.1.0.dev309/ernie/scene/CMakeLists.txt +0 -35
  377. ernie_renderer-0.1.0.dev309/ernie/scene/base_schemas.cpp +0 -43
  378. ernie_renderer-0.1.0.dev309/ernie/scene/base_schemas.h +0 -94
  379. ernie_renderer-0.1.0.dev309/ernie/scene/brdf.cpp +0 -280
  380. ernie_renderer-0.1.0.dev309/ernie/scene/brdf.h +0 -126
  381. ernie_renderer-0.1.0.dev309/ernie/scene/cahvore.cpp +0 -509
  382. ernie_renderer-0.1.0.dev309/ernie/scene/cahvore.h +0 -163
  383. ernie_renderer-0.1.0.dev309/ernie/scene/camera.cpp +0 -615
  384. ernie_renderer-0.1.0.dev309/ernie/scene/camera.h +0 -476
  385. ernie_renderer-0.1.0.dev309/ernie/scene/camera_schemas.cpp +0 -39
  386. ernie_renderer-0.1.0.dev309/ernie/scene/camera_schemas.h +0 -234
  387. ernie_renderer-0.1.0.dev309/ernie/scene/dem.cpp +0 -551
  388. ernie_renderer-0.1.0.dev309/ernie/scene/dem.h +0 -163
  389. ernie_renderer-0.1.0.dev309/ernie/scene/edit_history.cpp +0 -293
  390. ernie_renderer-0.1.0.dev309/ernie/scene/edit_history.h +0 -178
  391. ernie_renderer-0.1.0.dev309/ernie/scene/geometry_schemas.cpp +0 -76
  392. ernie_renderer-0.1.0.dev309/ernie/scene/geometry_schemas.h +0 -239
  393. ernie_renderer-0.1.0.dev309/ernie/scene/isd.cpp +0 -1539
  394. ernie_renderer-0.1.0.dev309/ernie/scene/isd.h +0 -532
  395. ernie_renderer-0.1.0.dev309/ernie/scene/light_pattern.cpp +0 -494
  396. ernie_renderer-0.1.0.dev309/ernie/scene/light_pattern.h +0 -168
  397. ernie_renderer-0.1.0.dev309/ernie/scene/light_schemas.cpp +0 -84
  398. ernie_renderer-0.1.0.dev309/ernie/scene/light_schemas.h +0 -421
  399. ernie_renderer-0.1.0.dev309/ernie/scene/material.h +0 -126
  400. ernie_renderer-0.1.0.dev309/ernie/scene/material_schemas.cpp +0 -24
  401. ernie_renderer-0.1.0.dev309/ernie/scene/material_schemas.h +0 -218
  402. ernie_renderer-0.1.0.dev309/ernie/scene/orbit_controller.cpp +0 -83
  403. ernie_renderer-0.1.0.dev309/ernie/scene/orbit_controller.h +0 -92
  404. ernie_renderer-0.1.0.dev309/ernie/scene/overlay.cpp +0 -394
  405. ernie_renderer-0.1.0.dev309/ernie/scene/overlay.h +0 -226
  406. ernie_renderer-0.1.0.dev309/ernie/scene/path.cpp +0 -100
  407. ernie_renderer-0.1.0.dev309/ernie/scene/path.h +0 -78
  408. ernie_renderer-0.1.0.dev309/ernie/scene/prim_type.cpp +0 -776
  409. ernie_renderer-0.1.0.dev309/ernie/scene/prim_type.h +0 -724
  410. ernie_renderer-0.1.0.dev309/ernie/scene/render_schemas.cpp +0 -59
  411. ernie_renderer-0.1.0.dev309/ernie/scene/render_schemas.h +0 -297
  412. ernie_renderer-0.1.0.dev309/ernie/scene/scene.cpp +0 -723
  413. ernie_renderer-0.1.0.dev309/ernie/scene/scene.h +0 -489
  414. ernie_renderer-0.1.0.dev309/ernie/scene/scene_json.cpp +0 -898
  415. ernie_renderer-0.1.0.dev309/ernie/scene/scene_json.h +0 -135
  416. ernie_renderer-0.1.0.dev309/ernie/scene/schema.cpp +0 -253
  417. ernie_renderer-0.1.0.dev309/ernie/scene/schema.h +0 -107
  418. ernie_renderer-0.1.0.dev309/ernie/scene/sensor_filters.cpp +0 -1015
  419. ernie_renderer-0.1.0.dev309/ernie/scene/sensor_filters.h +0 -385
  420. ernie_renderer-0.1.0.dev309/ernie/scene/stage_schemas.cpp +0 -11
  421. ernie_renderer-0.1.0.dev309/ernie/scene/stage_schemas.h +0 -98
  422. ernie_renderer-0.1.0.dev309/ernie/scene/terrain_schemas.cpp +0 -37
  423. ernie_renderer-0.1.0.dev309/ernie/scene/terrain_schemas.h +0 -195
  424. ernie_renderer-0.1.0.dev309/ernie/scene/tokens.h +0 -1033
  425. ernie_renderer-0.1.0.dev309/ernie/scene/value.h +0 -82
  426. ernie_renderer-0.1.0.dev309/ernie/scene/wide_view.cpp +0 -147
  427. ernie_renderer-0.1.0.dev309/ernie/scene/wide_view.h +0 -114
  428. ernie_renderer-0.1.0.dev309/ernie/scene/xform.cpp +0 -511
  429. ernie_renderer-0.1.0.dev309/ernie/scene/xform.h +0 -120
  430. ernie_renderer-0.1.0.dev309/ernie/session/CMakeLists.txt +0 -12
  431. ernie_renderer-0.1.0.dev309/ernie/session/backends.cpp +0 -32
  432. ernie_renderer-0.1.0.dev309/ernie/session/delegate.cpp +0 -100
  433. ernie_renderer-0.1.0.dev309/ernie/session/delegate.h +0 -354
  434. ernie_renderer-0.1.0.dev309/ernie/session/frame_params.cpp +0 -348
  435. ernie_renderer-0.1.0.dev309/ernie/session/frame_params.h +0 -743
  436. ernie_renderer-0.1.0.dev309/ernie/session/outputs.cpp +0 -389
  437. ernie_renderer-0.1.0.dev309/ernie/session/outputs.h +0 -235
  438. ernie_renderer-0.1.0.dev309/ernie/session/product_frame.h +0 -33
  439. ernie_renderer-0.1.0.dev309/ernie/session/renderer.cpp +0 -101
  440. ernie_renderer-0.1.0.dev309/ernie/session/renderer.h +0 -101
  441. ernie_renderer-0.1.0.dev309/ernie/session/resolve.cpp +0 -3674
  442. ernie_renderer-0.1.0.dev309/ernie/session/resolve.h +0 -634
  443. ernie_renderer-0.1.0.dev309/ernie/session/sampling.h +0 -59
  444. ernie_renderer-0.1.0.dev309/ernie/test/CMakeLists.txt +0 -209
  445. ernie_renderer-0.1.0.dev309/ernie/test/app_demo_gpu_test.cpp +0 -244
  446. ernie_renderer-0.1.0.dev309/ernie/test/app_demo_test.cpp +0 -68
  447. ernie_renderer-0.1.0.dev309/ernie/test/app_file_dialog_test.cpp +0 -188
  448. ernie_renderer-0.1.0.dev309/ernie/test/app_panel_test.cpp +0 -84
  449. ernie_renderer-0.1.0.dev309/ernie/test/app_prim_schemas_test.cpp +0 -240
  450. ernie_renderer-0.1.0.dev309/ernie/test/app_session_test.cpp +0 -345
  451. ernie_renderer-0.1.0.dev309/ernie/test/app_theme_test.cpp +0 -65
  452. ernie_renderer-0.1.0.dev309/ernie/test/app_viewer_gpu_test.cpp +0 -1058
  453. ernie_renderer-0.1.0.dev309/ernie/test/device_cuda_interop_test.cpp +0 -247
  454. ernie_renderer-0.1.0.dev309/ernie/test/device_frame_uploads_test.cpp +0 -116
  455. ernie_renderer-0.1.0.dev309/ernie/test/device_pipeline_test.cpp +0 -182
  456. ernie_renderer-0.1.0.dev309/ernie/test/device_shader_compiler_test.cpp +0 -114
  457. ernie_renderer-0.1.0.dev309/ernie/test/device_vulkan_context_test.cpp +0 -180
  458. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/cahvore/README.md +0 -3
  459. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/cahvore/m2020_camera_models.json +0 -262
  460. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/images/grey16.png +0 -0
  461. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/isd/README.md +0 -16
  462. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/isd/constVelocityLineScan.json +0 -169
  463. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/isd/ctxLineScan.json +0 -2516
  464. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/isd/dawnfc_radtan.json +0 -272
  465. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/isd/jitterFramer.json +0 -97
  466. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/isd/lroNacM1282557272RE.json +0 -1265
  467. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/isd/lroWacPushFrame.json +0 -13379
  468. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/isd/orbitalFramer.json +0 -92
  469. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/isd/orbitalLineScan.json +0 -241
  470. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/isd/orbitalPushFrame.json +0 -365
  471. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/isd/simpleFramerISD.json +0 -95
  472. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/isd/toughLroNacLineScan.json +0 -23408
  473. ernie_renderer-0.1.0.dev309/ernie/test/fixtures/scene_basic.json +0 -25
  474. ernie_renderer-0.1.0.dev309/ernie/test/geometry_cube_sphere_lod_test.cpp +0 -811
  475. ernie_renderer-0.1.0.dev309/ernie/test/geometry_frustum_test.cpp +0 -71
  476. ernie_renderer-0.1.0.dev309/ernie/test/geometry_lod_quadtree_test.cpp +0 -556
  477. ernie_renderer-0.1.0.dev309/ernie/test/geometry_mesh_data_test.cpp +0 -39
  478. ernie_renderer-0.1.0.dev309/ernie/test/geometry_primitives_test.cpp +0 -189
  479. ernie_renderer-0.1.0.dev309/ernie/test/install/CMakeLists.txt +0 -16
  480. ernie_renderer-0.1.0.dev309/ernie/test/install/consumer.cpp +0 -67
  481. ernie_renderer-0.1.0.dev309/ernie/test/install/run_install_test.cmake +0 -87
  482. ernie_renderer-0.1.0.dev309/ernie/test/python/conftest.py +0 -92
  483. ernie_renderer-0.1.0.dev309/ernie/test/python/test_app.py +0 -370
  484. ernie_renderer-0.1.0.dev309/ernie/test/python/test_batch.py +0 -231
  485. ernie_renderer-0.1.0.dev309/ernie/test/python/test_cahvore.py +0 -56
  486. ernie_renderer-0.1.0.dev309/ernie/test/python/test_cameras.py +0 -238
  487. ernie_renderer-0.1.0.dev309/ernie/test/python/test_cuda.py +0 -256
  488. ernie_renderer-0.1.0.dev309/ernie/test/python/test_demos.py +0 -360
  489. ernie_renderer-0.1.0.dev309/ernie/test/python/test_filters.py +0 -158
  490. ernie_renderer-0.1.0.dev309/ernie/test/python/test_isd.py +0 -121
  491. ernie_renderer-0.1.0.dev309/ernie/test/python/test_laser_pattern_array.py +0 -124
  492. ernie_renderer-0.1.0.dev309/ernie/test/python/test_map.py +0 -73
  493. ernie_renderer-0.1.0.dev309/ernie/test/python/test_materials.py +0 -262
  494. ernie_renderer-0.1.0.dev309/ernie/test/python/test_minimal.py +0 -208
  495. ernie_renderer-0.1.0.dev309/ernie/test/python/test_overlays.py +0 -77
  496. ernie_renderer-0.1.0.dev309/ernie/test/python/test_readme.py +0 -36
  497. ernie_renderer-0.1.0.dev309/ernie/test/python/test_render.py +0 -235
  498. ernie_renderer-0.1.0.dev309/ernie/test/python/test_scene.py +0 -280
  499. ernie_renderer-0.1.0.dev309/ernie/test/python/test_schema.py +0 -558
  500. ernie_renderer-0.1.0.dev309/ernie/test/python/test_schema_camera.py +0 -80
  501. ernie_renderer-0.1.0.dev309/ernie/test/python/test_schema_geometry.py +0 -119
  502. ernie_renderer-0.1.0.dev309/ernie/test/python/test_schema_material.py +0 -117
  503. ernie_renderer-0.1.0.dev309/ernie/test/python/test_schema_render.py +0 -172
  504. ernie_renderer-0.1.0.dev309/ernie/test/python/test_schema_terrain.py +0 -97
  505. ernie_renderer-0.1.0.dev309/ernie/test/python/test_stars.py +0 -72
  506. ernie_renderer-0.1.0.dev309/ernie/test/python/test_step.py +0 -366
  507. ernie_renderer-0.1.0.dev309/ernie/test/python/test_xform.py +0 -582
  508. ernie_renderer-0.1.0.dev309/ernie/test/python/test_xform_gpu.py +0 -565
  509. ernie_renderer-0.1.0.dev309/ernie/test/python/test_xform_gpu_cameras.py +0 -272
  510. ernie_renderer-0.1.0.dev309/ernie/test/python/test_xform_gpu_compose.py +0 -378
  511. ernie_renderer-0.1.0.dev309/ernie/test/python/test_xform_gpu_lights.py +0 -122
  512. ernie_renderer-0.1.0.dev309/ernie/test/python/test_xform_gpu_map.py +0 -118
  513. ernie_renderer-0.1.0.dev309/ernie/test/python/test_xform_gpu_points.py +0 -192
  514. ernie_renderer-0.1.0.dev309/ernie/test/raster_atmosphere_gpu_test.cpp +0 -1300
  515. ernie_renderer-0.1.0.dev309/ernie/test/raster_batch_gpu_test.cpp +0 -1093
  516. ernie_renderer-0.1.0.dev309/ernie/test/raster_culling_gpu_test.cpp +0 -500
  517. ernie_renderer-0.1.0.dev309/ernie/test/raster_delegate_gpu_test.cpp +0 -878
  518. ernie_renderer-0.1.0.dev309/ernie/test/raster_delegate_test.cpp +0 -198
  519. ernie_renderer-0.1.0.dev309/ernie/test/raster_gpu_meshes_gpu_test.cpp +0 -193
  520. ernie_renderer-0.1.0.dev309/ernie/test/raster_gpu_terrain_gpu_test.cpp +0 -218
  521. ernie_renderer-0.1.0.dev309/ernie/test/raster_hex_tiling_gpu_test.cpp +0 -230
  522. ernie_renderer-0.1.0.dev309/ernie/test/raster_lens_rays_gpu_test.cpp +0 -162
  523. ernie_renderer-0.1.0.dev309/ernie/test/raster_lights_gpu_test.cpp +0 -2142
  524. ernie_renderer-0.1.0.dev309/ernie/test/raster_mesh_drawable_test.cpp +0 -529
  525. ernie_renderer-0.1.0.dev309/ernie/test/raster_motion_gpu_test.cpp +0 -685
  526. ernie_renderer-0.1.0.dev309/ernie/test/raster_overlays_gpu_test.cpp +0 -286
  527. ernie_renderer-0.1.0.dev309/ernie/test/raster_planet_gpu_test.cpp +0 -209
  528. ernie_renderer-0.1.0.dev309/ernie/test/raster_points_gpu_test.cpp +0 -232
  529. ernie_renderer-0.1.0.dev309/ernie/test/raster_poisson_disk_test.cpp +0 -54
  530. ernie_renderer-0.1.0.dev309/ernie/test/raster_products_gpu_test.cpp +0 -1529
  531. ernie_renderer-0.1.0.dev309/ernie/test/raster_sensor_filters_gpu_test.cpp +0 -263
  532. ernie_renderer-0.1.0.dev309/ernie/test/raster_sensor_plan_test.cpp +0 -213
  533. ernie_renderer-0.1.0.dev309/ernie/test/raster_shadow_cascades_test.cpp +0 -263
  534. ernie_renderer-0.1.0.dev309/ernie/test/raster_standard_filters_gpu_test.cpp +0 -1504
  535. ernie_renderer-0.1.0.dev309/ernie/test/raster_terrain_drawable_test.cpp +0 -795
  536. ernie_renderer-0.1.0.dev309/ernie/test/raster_textures_gpu_test.cpp +0 -337
  537. ernie_renderer-0.1.0.dev309/ernie/test/raster_zero_copy_gpu_test.cpp +0 -221
  538. ernie_renderer-0.1.0.dev309/ernie/test/scene_brdf_test.cpp +0 -116
  539. ernie_renderer-0.1.0.dev309/ernie/test/scene_brdf_vulkan_test.cpp +0 -661
  540. ernie_renderer-0.1.0.dev309/ernie/test/scene_cahvore_test.cpp +0 -231
  541. ernie_renderer-0.1.0.dev309/ernie/test/scene_camera_schemas_test.cpp +0 -254
  542. ernie_renderer-0.1.0.dev309/ernie/test/scene_camera_test.cpp +0 -442
  543. ernie_renderer-0.1.0.dev309/ernie/test/scene_dem_test.cpp +0 -234
  544. ernie_renderer-0.1.0.dev309/ernie/test/scene_edit_history_test.cpp +0 -139
  545. ernie_renderer-0.1.0.dev309/ernie/test/scene_geometry_schemas_test.cpp +0 -300
  546. ernie_renderer-0.1.0.dev309/ernie/test/scene_isd_test.cpp +0 -674
  547. ernie_renderer-0.1.0.dev309/ernie/test/scene_json_test.cpp +0 -730
  548. ernie_renderer-0.1.0.dev309/ernie/test/scene_light_pattern_test.cpp +0 -90
  549. ernie_renderer-0.1.0.dev309/ernie/test/scene_material_schemas_test.cpp +0 -198
  550. ernie_renderer-0.1.0.dev309/ernie/test/scene_orbit_controller_test.cpp +0 -199
  551. ernie_renderer-0.1.0.dev309/ernie/test/scene_overlay_test.cpp +0 -151
  552. ernie_renderer-0.1.0.dev309/ernie/test/scene_path_test.cpp +0 -52
  553. ernie_renderer-0.1.0.dev309/ernie/test/scene_prim_type_test.cpp +0 -415
  554. ernie_renderer-0.1.0.dev309/ernie/test/scene_render_schemas_test.cpp +0 -316
  555. ernie_renderer-0.1.0.dev309/ernie/test/scene_scene_test.cpp +0 -412
  556. ernie_renderer-0.1.0.dev309/ernie/test/scene_schema_test.cpp +0 -236
  557. ernie_renderer-0.1.0.dev309/ernie/test/scene_sensor_filters_test.cpp +0 -240
  558. ernie_renderer-0.1.0.dev309/ernie/test/scene_stage_test.cpp +0 -83
  559. ernie_renderer-0.1.0.dev309/ernie/test/scene_terrain_schemas_test.cpp +0 -163
  560. ernie_renderer-0.1.0.dev309/ernie/test/scene_wide_view_test.cpp +0 -202
  561. ernie_renderer-0.1.0.dev309/ernie/test/scene_xform_test.cpp +0 -1102
  562. ernie_renderer-0.1.0.dev309/ernie/test/session_delegate_test.cpp +0 -162
  563. ernie_renderer-0.1.0.dev309/ernie/test/session_frame_params_test.cpp +0 -313
  564. ernie_renderer-0.1.0.dev309/ernie/test/session_gpu_xform_test.cpp +0 -550
  565. ernie_renderer-0.1.0.dev309/ernie/test/session_lights_test.cpp +0 -1226
  566. ernie_renderer-0.1.0.dev309/ernie/test/session_resolve_test.cpp +0 -957
  567. ernie_renderer-0.1.0.dev309/ernie/test/session_sampling_test.cpp +0 -53
  568. ernie_renderer-0.1.0.dev309/ernie/test/support/brdf_reference.h +0 -210
  569. ernie_renderer-0.1.0.dev309/ernie/test/support/delegate_scenes.cpp +0 -198
  570. ernie_renderer-0.1.0.dev309/ernie/test/support/delegate_scenes.h +0 -87
  571. ernie_renderer-0.1.0.dev309/ernie/test/support/terrain_harness.h +0 -155
  572. ernie_renderer-0.1.0.dev309/ernie/test/support/test_raster.h +0 -100
  573. ernie_renderer-0.1.0.dev309/ernie/test/support/vulkan_fixture.h +0 -58
  574. ernie_renderer-0.1.0.dev309/ernie/test/util_astronomy_test.cpp +0 -76
  575. ernie_renderer-0.1.0.dev309/ernie/test/util_atmosphere_test.cpp +0 -291
  576. ernie_renderer-0.1.0.dev309/ernie/test/util_ies_test.cpp +0 -220
  577. ernie_renderer-0.1.0.dev309/ernie/test/util_image_test.cpp +0 -307
  578. ernie_renderer-0.1.0.dev309/ernie/test/util_reflectance_library_test.cpp +0 -52
  579. ernie_renderer-0.1.0.dev309/ernie/test/util_scattering_test.cpp +0 -317
  580. ernie_renderer-0.1.0.dev309/ernie/test/util_solar_test.cpp +0 -46
  581. ernie_renderer-0.1.0.dev309/ernie/test/util_spectrum_test.cpp +0 -160
  582. ernie_renderer-0.1.0.dev309/ernie/test/util_tensor_test.cpp +0 -260
  583. ernie_renderer-0.1.0.dev309/ernie/util/CMakeLists.txt +0 -21
  584. ernie_renderer-0.1.0.dev309/ernie/util/astronomy.cpp +0 -160
  585. ernie_renderer-0.1.0.dev309/ernie/util/astronomy.h +0 -97
  586. ernie_renderer-0.1.0.dev309/ernie/util/atmosphere.cpp +0 -537
  587. ernie_renderer-0.1.0.dev309/ernie/util/atmosphere.h +0 -291
  588. ernie_renderer-0.1.0.dev309/ernie/util/ies.cpp +0 -350
  589. ernie_renderer-0.1.0.dev309/ernie/util/ies.h +0 -108
  590. ernie_renderer-0.1.0.dev309/ernie/util/image.cpp +0 -254
  591. ernie_renderer-0.1.0.dev309/ernie/util/image.h +0 -104
  592. ernie_renderer-0.1.0.dev309/ernie/util/least_squares.h +0 -87
  593. ernie_renderer-0.1.0.dev309/ernie/util/profile.h +0 -49
  594. ernie_renderer-0.1.0.dev309/ernie/util/profiler.cpp +0 -159
  595. ernie_renderer-0.1.0.dev309/ernie/util/profiler.h +0 -94
  596. ernie_renderer-0.1.0.dev309/ernie/util/raster_checks.h +0 -40
  597. ernie_renderer-0.1.0.dev309/ernie/util/raster_view.h +0 -46
  598. ernie_renderer-0.1.0.dev309/ernie/util/reflectance_library.cpp +0 -51
  599. ernie_renderer-0.1.0.dev309/ernie/util/reflectance_library.h +0 -49
  600. ernie_renderer-0.1.0.dev309/ernie/util/reflectance_table.h +0 -5596
  601. ernie_renderer-0.1.0.dev309/ernie/util/scattering.cpp +0 -456
  602. ernie_renderer-0.1.0.dev309/ernie/util/scattering.h +0 -260
  603. ernie_renderer-0.1.0.dev309/ernie/util/shader_source.h +0 -15
  604. ernie_renderer-0.1.0.dev309/ernie/util/solar.cpp +0 -36
  605. ernie_renderer-0.1.0.dev309/ernie/util/solar.h +0 -32
  606. ernie_renderer-0.1.0.dev309/ernie/util/solar_table.h +0 -3069
  607. ernie_renderer-0.1.0.dev309/ernie/util/spectrum.cpp +0 -412
  608. ernie_renderer-0.1.0.dev309/ernie/util/spectrum.h +0 -195
  609. ernie_renderer-0.1.0.dev309/ernie/util/tensor.cpp +0 -283
  610. ernie_renderer-0.1.0.dev309/ernie/util/tensor.h +0 -195
  611. ernie_renderer-0.1.0.dev309/mkdocs.yml +0 -136
  612. ernie_renderer-0.1.0.dev309/pyproject.toml +0 -176
  613. ernie_renderer-0.1.0.dev309/third_party/README.md +0 -60
  614. ernie_renderer-0.1.0.dev309/third_party/cameramodelutilsjs/LICENSE +0 -201
  615. ernie_renderer-0.1.0.dev309/third_party/dlpack/LICENSE +0 -201
  616. ernie_renderer-0.1.0.dev309/third_party/dlpack/include/dlpack/dlpack.h +0 -647
  617. ernie_renderer-0.1.0.dev309/third_party/stb/LICENSE +0 -37
  618. ernie_renderer-0.1.0.dev309/third_party/stb/stb.cpp +0 -5
  619. ernie_renderer-0.1.0.dev309/third_party/stb/stb_easy_font.h +0 -305
  620. ernie_renderer-0.1.0.dev309/third_party/stb/stb_image.h +0 -7988
  621. ernie_renderer-0.1.0.dev309/third_party/stb/stb_image_write.h +0 -1724
  622. ernie_renderer-0.1.0.dev309/tools/reflectance_library.py +0 -249
  623. ernie_renderer-0.1.0.dev309/tools/solar_spectrum.py +0 -108
  624. {ernie_renderer-0.1.0.dev309 → ernie_renderer-0.2.0.dev5}/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  BasedOnStyle: LLVM
2
2
  IndentWidth: 4
3
- ColumnLimit: 70
3
+ ColumnLimit: 100
4
4
  PointerAlignment: Left
5
5
  ReferenceAlignment: Left
6
6
  BreakBeforeBraces: Attach
@@ -12,7 +12,6 @@ Checks: >
12
12
  readability-else-after-return,
13
13
  readability-redundant-*,
14
14
  -bugprone-easily-swappable-parameters
15
-
16
15
  WarningsAsErrors: ''
17
- HeaderFilterRegex: '.*/ernie/[a-z_]+/[^/]+\\.h$'
16
+ HeaderFilterRegex: '.*/ernie/[a-z_/]+\.h$'
18
17
  FormatStyle: file
@@ -0,0 +1,6 @@
1
+ .git
2
+ build
3
+ dist
4
+ .deps
5
+ .venv
6
+ docs/requirements
@@ -0,0 +1,4 @@
1
+ line_length: 100
2
+ indent: 4
3
+ definitions: [cmake]
4
+ warn_about_unknown_commands: false
@@ -0,0 +1,2 @@
1
+ * text=auto eol=lf
2
+ *.sh text eol=lf
@@ -1,12 +1,5 @@
1
1
  #!/usr/bin/env bash
2
2
  # SPDX-License-Identifier: BSD-3-Clause
3
- #
4
- # Mesa's lavapipe, the software Vulkan driver, on a Windows runner:
5
- # mesa-dist-win's build of it and LunarG's Vulkan loader, each checked
6
- # against its digest. The driver is registered where the loader looks
7
- # for drivers, as the loader ignores VK_DRIVER_FILES in an elevated
8
- # process, as the runner's are. The loader's directory goes on PATH
9
- # (GITHUB_PATH) for later steps.
10
3
  set -euo pipefail
11
4
 
12
5
  # 26.2.4 or later: earlier releases free llvmpipe's memory on Windows
@@ -0,0 +1,375 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ tags: ["v*"]
7
+ pull_request:
8
+ workflow_dispatch:
9
+
10
+ permissions:
11
+ contents: read
12
+
13
+ concurrency:
14
+ group: ${{ github.workflow }}-${{ github.ref }}
15
+ cancel-in-progress: true
16
+
17
+ jobs:
18
+ # The version's pre-release suffix: .devN on main (N commits since the last release tag), none on
19
+ # release tags (which must match CMakeLists.txt) or pull requests.
20
+ version:
21
+ runs-on: ubuntu-24.04
22
+ timeout-minutes: 5
23
+ outputs:
24
+ suffix: ${{ steps.version.outputs.suffix }}
25
+ steps:
26
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
27
+ with:
28
+ fetch-depth: 0
29
+ - id: version
30
+ run: |
31
+ project=$(grep -m 1 -oP '^\s*VERSION \K[0-9]+\.[0-9]+\.[0-9]+' CMakeLists.txt)
32
+ suffix=""
33
+ if [[ "$GITHUB_REF" == refs/tags/v* ]]; then
34
+ if [[ "${GITHUB_REF_NAME#v}" != "$project" ]]; then
35
+ echo "::error::Tag $GITHUB_REF_NAME does not match CMakeLists.txt's version $project"
36
+ exit 1
37
+ fi
38
+ elif [[ "$GITHUB_EVENT_NAME" == push && "$GITHUB_REF" == refs/heads/main ]]; then
39
+ if last=$(git describe --tags --abbrev=0 --match 'v*' 2>/dev/null); then
40
+ suffix=".dev$(git rev-list --count "$last..HEAD")"
41
+ else
42
+ suffix=".dev$(git rev-list --count HEAD)"
43
+ fi
44
+ fi
45
+ echo "suffix=$suffix" >> "$GITHUB_OUTPUT"
46
+ echo "Version $project$suffix"
47
+
48
+ lint:
49
+ runs-on: ubuntu-24.04
50
+ timeout-minutes: 15
51
+ steps:
52
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
53
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
54
+ with:
55
+ python-version: "3.12"
56
+ - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
57
+ with:
58
+ path: ~/.cache/pre-commit
59
+ key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
60
+ - run: python -m pip install pre-commit
61
+ - run: pre-commit run --all-files --show-diff-on-failure
62
+ - name: Lint workflows
63
+ run: docker run --rm -v "$PWD:/repo" -w /repo rhysd/actionlint:1.7.12 -color
64
+
65
+ build:
66
+ name: build (${{ matrix.os }})
67
+ needs: version
68
+ runs-on: ${{ matrix.os }}
69
+ timeout-minutes: 60
70
+ strategy:
71
+ fail-fast: false
72
+ matrix:
73
+ os: [ubuntu-24.04, windows-2025, macos-15]
74
+ steps:
75
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
76
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
77
+ with:
78
+ python-version: "3.12"
79
+ - run: python -m pip install nanobind ninja
80
+ # MSVC on the path for the Ninja generator.
81
+ - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
82
+ if: runner.os == 'Windows'
83
+ # Fetched dependencies' sources, keyed on their pins. Compiled objects are not cached.
84
+ - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
85
+ with:
86
+ path: |
87
+ .deps/*-src
88
+ .deps/*-subbuild
89
+ key: deps-${{ runner.os }}-${{ hashFiles('cmake/third_party/**') }}
90
+ - name: Configure
91
+ shell: bash
92
+ run: >
93
+ cmake --preset ci
94
+ "-DERNIE_VERSION_SUFFIX=${{ needs.version.outputs.suffix }}"
95
+ "-DPython_EXECUTABLE=$(python -c 'import sys; print(sys.executable)')"
96
+ -DERNIE_TEST_PYTHON=python
97
+ - name: Build
98
+ run: cmake --build --preset ci --parallel 4
99
+ # The build tree without objects, for this platform's test job; tar keeps file modes.
100
+ - name: Pack the build tree
101
+ shell: bash
102
+ run: tar --exclude='*.o' --exclude='*.obj' -cf build-ci.tar build/ci
103
+ - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
104
+ with:
105
+ name: build-${{ matrix.os }}
106
+ path: build-ci.tar
107
+ retention-days: 3
108
+
109
+ # Tests on Mesa's lavapipe, the software Vulkan driver, on every platform.
110
+ test:
111
+ name: test (${{ matrix.os }})
112
+ needs: build
113
+ runs-on: ${{ matrix.os }}
114
+ timeout-minutes: 30
115
+ strategy:
116
+ fail-fast: false
117
+ matrix:
118
+ os: [ubuntu-24.04, windows-2025, macos-15]
119
+ env:
120
+ ERNIE_TEST_REQUIRE_VULKAN: "1"
121
+ steps:
122
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
123
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
124
+ with:
125
+ python-version: "3.12"
126
+ - run: python -m pip install pytest
127
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
128
+ with:
129
+ name: build-${{ matrix.os }}
130
+ - name: Unpack the build tree
131
+ shell: bash
132
+ run: tar -xf build-ci.tar
133
+ - name: Install lavapipe
134
+ if: runner.os == 'Linux'
135
+ run: |
136
+ sudo apt-get update
137
+ sudo apt-get install -y mesa-vulkan-drivers libvulkan1
138
+ icd=$(find /usr/share/vulkan/icd.d -name 'lvp_icd*.json' | head -n1)
139
+ echo "VK_DRIVER_FILES=$icd" >> "$GITHUB_ENV"
140
+ echo "VK_ICD_FILENAMES=$icd" >> "$GITHUB_ENV"
141
+ - name: Install lavapipe
142
+ if: runner.os == 'Windows'
143
+ shell: bash
144
+ run: .github/scripts/install-lavapipe-windows.sh
145
+ - name: Install lavapipe
146
+ if: runner.os == 'macOS'
147
+ run: |
148
+ brew install mesa vulkan-loader
149
+ prefix=$(brew --prefix)
150
+ icd=$(find "$prefix/share/vulkan/icd.d" -name 'lvp_icd*.json' | head -n1)
151
+ {
152
+ echo "VK_DRIVER_FILES=$icd"
153
+ echo "VK_ICD_FILENAMES=$icd"
154
+ echo "DYLD_FALLBACK_LIBRARY_PATH=$prefix/lib"
155
+ } >> "$GITHUB_ENV"
156
+ - name: Test
157
+ run: ctest --preset ci -j4
158
+
159
+ wheel:
160
+ name: wheel (${{ matrix.platform }})
161
+ needs: version
162
+ runs-on: ${{ matrix.runner }}
163
+ timeout-minutes: 45
164
+ strategy:
165
+ fail-fast: false
166
+ matrix:
167
+ include:
168
+ - { platform: linux-x86_64, runner: ubuntu-24.04 }
169
+ - { platform: linux-aarch64, runner: ubuntu-24.04-arm }
170
+ - { platform: windows-amd64, runner: windows-2025 }
171
+ - { platform: macos-arm64, runner: macos-15 }
172
+ steps:
173
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
174
+ - name: Version
175
+ shell: bash
176
+ run: >
177
+ sed -i.bak 's/set(ERNIE_VERSION_SUFFIX ""/set(ERNIE_VERSION_SUFFIX "${{ needs.version.outputs.suffix }}"/'
178
+ CMakeLists.txt
179
+ - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
180
+ if: runner.os == 'Windows'
181
+ - uses: pypa/cibuildwheel@b3395e271a35f73dad77f21802abe9b986dfe299 # v4.3.1
182
+ with:
183
+ output-dir: wheelhouse
184
+ - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
185
+ with:
186
+ name: wheel-${{ matrix.platform }}
187
+ path: wheelhouse/*.whl
188
+
189
+ # The sdist, then a wheel built from it and imported, as pip does for platforms without wheels.
190
+ sdist:
191
+ needs: version
192
+ runs-on: ubuntu-24.04
193
+ timeout-minutes: 30
194
+ steps:
195
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
196
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
197
+ with:
198
+ python-version: "3.12"
199
+ - name: Version
200
+ run: >
201
+ sed -i 's/set(ERNIE_VERSION_SUFFIX ""/set(ERNIE_VERSION_SUFFIX "${{ needs.version.outputs.suffix }}"/'
202
+ CMakeLists.txt
203
+ - run: python -m pip install build
204
+ - run: python -m build --sdist
205
+ - name: Install from the sdist
206
+ run: |
207
+ python -m pip install dist/*.tar.gz
208
+ cd "$RUNNER_TEMP" && python -c "import ernie; print(ernie.__version__)"
209
+ - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
210
+ with:
211
+ name: sdist
212
+ path: dist/*.tar.gz
213
+
214
+ # DEB, RPM and TGZ of the ernie program, built on manylinux_2_34 so they run on glibc 2.34 or later.
215
+ packages:
216
+ name: packages (${{ matrix.arch }})
217
+ needs: version
218
+ runs-on: ${{ matrix.runner }}
219
+ timeout-minutes: 30
220
+ strategy:
221
+ fail-fast: false
222
+ matrix:
223
+ include:
224
+ - { arch: x86_64, runner: ubuntu-24.04 }
225
+ - { arch: aarch64, runner: ubuntu-24.04-arm }
226
+ container: quay.io/pypa/manylinux_2_34_${{ matrix.arch }}
227
+ steps:
228
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
229
+ - name: Version
230
+ run: >
231
+ sed -i 's/set(ERNIE_VERSION_SUFFIX ""/set(ERNIE_VERSION_SUFFIX "${{ needs.version.outputs.suffix }}"/'
232
+ CMakeLists.txt
233
+ - name: Build tools
234
+ run: |
235
+ dnf install -y -q rpm-build
236
+ command -v ninja >/dev/null || pipx install -q ninja
237
+ - name: Build
238
+ run: |
239
+ cmake --preset package
240
+ cmake --build --preset package --parallel 4
241
+ cd build/package && cpack -G "DEB;RPM;TGZ"
242
+ - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
243
+ with:
244
+ name: packages-linux-${{ matrix.arch }}
245
+ path: |
246
+ build/package/packages/*.deb
247
+ build/package/packages/*.rpm
248
+ build/package/packages/*.tar.gz
249
+
250
+ # Each package installed on a clean distribution, where the program must find lavapipe.
251
+ package-test:
252
+ name: package-test (${{ matrix.image }}, ${{ matrix.arch }})
253
+ needs: packages
254
+ runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
255
+ timeout-minutes: 15
256
+ strategy:
257
+ fail-fast: false
258
+ matrix:
259
+ arch: [x86_64, aarch64]
260
+ image: ["ubuntu:22.04", "ubuntu:24.04", "debian:12", "rockylinux/rockylinux:9"]
261
+ container: ${{ matrix.image }}
262
+ steps:
263
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
264
+ with:
265
+ name: packages-linux-${{ matrix.arch }}
266
+ - name: Install
267
+ if: ${{ !startsWith(matrix.image, 'rockylinux') }}
268
+ run: |
269
+ apt-get update
270
+ apt-get install -y --no-install-recommends ./*.deb mesa-vulkan-drivers
271
+ - name: Install
272
+ if: ${{ startsWith(matrix.image, 'rockylinux') }}
273
+ run: dnf install -y ./*.rpm
274
+ # Rocky 9 has no lavapipe for aarch64, so there the program is only run, not given a device.
275
+ - name: Install lavapipe
276
+ if: ${{ startsWith(matrix.image, 'rockylinux') && matrix.arch == 'x86_64' }}
277
+ run: dnf install -y mesa-vulkan-drivers
278
+ - name: Run
279
+ run: ernie --version
280
+ - name: List devices
281
+ if: ${{ !(startsWith(matrix.image, 'rockylinux') && matrix.arch == 'aarch64') }}
282
+ run: ernie --devices | grep -i llvmpipe
283
+
284
+ # The ernie program's image, built from source; pushed to GHCR from main (dev) and release tags.
285
+ docker:
286
+ needs: [version, lint, test, package-test]
287
+ runs-on: ubuntu-24.04
288
+ timeout-minutes: 30
289
+ permissions:
290
+ contents: read
291
+ packages: write
292
+ steps:
293
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
294
+ - name: Build
295
+ run: docker build -t ernie:test .
296
+ - name: Smoke test
297
+ run: |
298
+ docker run --rm ernie:test --version
299
+ docker run --rm ernie:test --devices | grep -i llvmpipe
300
+ - name: Push
301
+ if: github.event_name == 'push'
302
+ env:
303
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
304
+ run: |
305
+ image=ghcr.io/${GITHUB_REPOSITORY,,}
306
+ echo "$GH_TOKEN" | docker login ghcr.io -u "$GITHUB_ACTOR" --password-stdin
307
+ if [[ "$GITHUB_REF" == refs/tags/v* ]]; then
308
+ version=${GITHUB_REF_NAME#v}
309
+ tags=("$version" "${version%.*}" latest)
310
+ else
311
+ tags=(dev)
312
+ fi
313
+ for tag in "${tags[@]}"; do
314
+ docker tag ernie:test "$image:$tag"
315
+ docker push "$image:$tag"
316
+ done
317
+
318
+ # Wheels and the sdist to PyPI by Trusted Publishing (no stored token): X.Y.Z.devN from main,
319
+ # X.Y.Z from release tags, once every platform's build, tests and packages pass.
320
+ pypi:
321
+ needs: [lint, test, wheel, sdist, package-test]
322
+ if: >
323
+ github.event_name == 'push' &&
324
+ (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v'))
325
+ runs-on: ubuntu-24.04
326
+ timeout-minutes: 10
327
+ environment:
328
+ name: pypi
329
+ url: https://pypi.org/project/ernie-renderer/
330
+ permissions:
331
+ id-token: write
332
+ steps:
333
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
334
+ with:
335
+ pattern: wheel-*
336
+ merge-multiple: true
337
+ path: dist
338
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
339
+ with:
340
+ name: sdist
341
+ path: dist
342
+ - uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
343
+
344
+ # A GitHub release for each v* tag, with every wheel, the sdist, the packages and their checksums.
345
+ release:
346
+ needs: [lint, test, wheel, sdist, package-test, docker]
347
+ if: startsWith(github.ref, 'refs/tags/v')
348
+ runs-on: ubuntu-24.04
349
+ timeout-minutes: 10
350
+ permissions:
351
+ contents: write
352
+ steps:
353
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
354
+ with:
355
+ pattern: "wheel-*"
356
+ merge-multiple: true
357
+ path: assets
358
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
359
+ with:
360
+ pattern: "sdist"
361
+ merge-multiple: true
362
+ path: assets
363
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
364
+ with:
365
+ pattern: "packages-*"
366
+ merge-multiple: true
367
+ path: assets
368
+ - name: Checksums
369
+ run: cd assets && sha256sum -- * > SHA256SUMS
370
+ - name: Release
371
+ env:
372
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
373
+ run: >
374
+ gh release create "$GITHUB_REF_NAME" assets/*
375
+ --repo "$GITHUB_REPOSITORY" --title "Ernie ${GITHUB_REF_NAME#v}" --generate-notes
@@ -0,0 +1,12 @@
1
+ # Local design documents
2
+ docs/requirements/
3
+
4
+ # Build output and fetched dependencies
5
+ build/
6
+ dist/
7
+ .deps/
8
+ *.egg-info/
9
+ __pycache__/
10
+ .venv/
11
+ .pytest_cache/
12
+ .ruff_cache/
@@ -0,0 +1,40 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v6.0.0
4
+ hooks:
5
+ - id: trailing-whitespace
6
+ - id: end-of-file-fixer
7
+ - id: check-added-large-files
8
+ - id: check-merge-conflict
9
+ - id: check-case-conflict
10
+ - id: check-yaml
11
+ - id: mixed-line-ending
12
+ args: ["--fix=lf"]
13
+
14
+ - repo: https://github.com/pre-commit/mirrors-clang-format
15
+ rev: v23.1.3
16
+ hooks:
17
+ - id: clang-format
18
+ types_or: [c++, c]
19
+
20
+ - repo: https://github.com/astral-sh/ruff-pre-commit
21
+ rev: v0.17.1
22
+ hooks:
23
+ - id: ruff-check
24
+ args: [--fix]
25
+ - id: ruff-format
26
+
27
+ - repo: https://github.com/BlankSpruce/gersemi-pre-commit
28
+ rev: 0.29.2
29
+ hooks:
30
+ - id: gersemi
31
+
32
+ # Every source file of Ernie's own starts with its license line.
33
+ - repo: local
34
+ hooks:
35
+ - id: spdx-license
36
+ name: SPDX license line
37
+ language: pygrep
38
+ entry: "SPDX-License-Identifier: BSD-3-Clause"
39
+ args: [--negate]
40
+ files: (\.(cpp|h|slang|py|cmake|sh)|(^|/)CMakeLists\.txt)$
@@ -0,0 +1,81 @@
1
+ # SPDX-License-Identifier: BSD-3-Clause
2
+ cmake_minimum_required(VERSION 3.21)
3
+
4
+ project(
5
+ Ernie
6
+ VERSION 0.2.0
7
+ DESCRIPTION
8
+ "Efficient Renderer for Natural and Interplanetary Environments: a spectral Vulkan ray tracer"
9
+ LANGUAGES C CXX
10
+ )
11
+
12
+ # Pre-release suffix such as .dev12, written by CI.
13
+ set(ERNIE_VERSION_SUFFIX ".dev5" CACHE STRING "Pre-release suffix of Ernie's version")
14
+ set(ERNIE_VERSION "${PROJECT_VERSION}${ERNIE_VERSION_SUFFIX}")
15
+
16
+ option(ERNIE_BUILD_TESTS "Build Ernie's tests" OFF)
17
+ option(ERNIE_BUILD_PYTHON "Build Ernie's Python module" OFF)
18
+ option(ERNIE_BUILD_APP "Build the ernie program" ON)
19
+ option(ERNIE_WARNINGS_AS_ERRORS "Treat compiler warnings as errors" OFF)
20
+ option(ERNIE_ASSERTS "Keep assertions in optimised builds" OFF)
21
+
22
+ get_property(ernie_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
23
+ if(PROJECT_IS_TOP_LEVEL AND NOT ernie_multi_config AND NOT CMAKE_BUILD_TYPE)
24
+ set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Build type" FORCE)
25
+ endif()
26
+
27
+ set(CMAKE_CXX_STANDARD 20)
28
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
29
+ set(CMAKE_CXX_EXTENSIONS OFF)
30
+ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
31
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
32
+ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
33
+ if(ERNIE_BUILD_PYTHON)
34
+ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
35
+ endif()
36
+
37
+ include(cmake/third_party/vulkan_headers.cmake)
38
+ include(cmake/third_party/volk.cmake)
39
+
40
+ add_library(ernie_build_options INTERFACE)
41
+ if(MSVC)
42
+ target_compile_options(ernie_build_options INTERFACE /W4 /permissive- /Zc:__cplusplus /utf-8)
43
+ # The CRT's "unsafe function" deprecations (getenv, fopen) would fail warnings-as-errors builds.
44
+ target_compile_definitions(
45
+ ernie_build_options
46
+ INTERFACE NOMINMAX WIN32_LEAN_AND_MEAN _CRT_SECURE_NO_WARNINGS
47
+ )
48
+ else()
49
+ target_compile_options(
50
+ ernie_build_options
51
+ INTERFACE
52
+ -Wall
53
+ -Wextra
54
+ -Wpedantic
55
+ -Wshadow
56
+ -Wconversion
57
+ -Wsign-conversion
58
+ # Designated initializers leave Vulkan structs' other fields zero by design.
59
+ -Wno-missing-field-initializers
60
+ )
61
+ endif()
62
+ if(ERNIE_WARNINGS_AS_ERRORS)
63
+ target_compile_options(ernie_build_options INTERFACE $<IF:$<CXX_COMPILER_ID:MSVC>,/WX,-Werror>)
64
+ endif()
65
+ if(ERNIE_ASSERTS)
66
+ target_compile_options(
67
+ ernie_build_options
68
+ INTERFACE $<IF:$<CXX_COMPILER_ID:MSVC>,/UNDEBUG,-UNDEBUG>
69
+ )
70
+ endif()
71
+
72
+ add_subdirectory(ernie)
73
+
74
+ if(ERNIE_BUILD_TESTS)
75
+ enable_testing()
76
+ add_subdirectory(ernie/test)
77
+ endif()
78
+
79
+ if(PROJECT_IS_TOP_LEVEL AND NOT SKBUILD)
80
+ include(cmake/ErniePackaging.cmake)
81
+ endif()
@@ -0,0 +1,81 @@
1
+ {
2
+ "version": 3,
3
+ "cmakeMinimumRequired": {
4
+ "major": 3,
5
+ "minor": 21,
6
+ "patch": 0
7
+ },
8
+ "configurePresets": [
9
+ {
10
+ "name": "dev",
11
+ "displayName": "Development",
12
+ "description": "Everything built, with tests, in build/dev",
13
+ "generator": "Ninja",
14
+ "binaryDir": "${sourceDir}/build/dev",
15
+ "cacheVariables": {
16
+ "CMAKE_BUILD_TYPE": "RelWithDebInfo",
17
+ "ERNIE_BUILD_TESTS": "ON",
18
+ "ERNIE_BUILD_PYTHON": "ON",
19
+ "ERNIE_BUILD_APP": "ON"
20
+ }
21
+ },
22
+ {
23
+ "name": "ci",
24
+ "displayName": "CI",
25
+ "description": "Release with assertions and warnings as errors, as CI builds it, in build/ci",
26
+ "inherits": "dev",
27
+ "binaryDir": "${sourceDir}/build/ci",
28
+ "cacheVariables": {
29
+ "CMAKE_BUILD_TYPE": "Release",
30
+ "ERNIE_ASSERTS": "ON",
31
+ "ERNIE_WARNINGS_AS_ERRORS": "ON",
32
+ "FETCHCONTENT_BASE_DIR": "${sourceDir}/.deps"
33
+ }
34
+ },
35
+ {
36
+ "name": "package",
37
+ "displayName": "Packages",
38
+ "description": "Release build of the ernie program for DEB, RPM and TGZ packages, in build/package",
39
+ "generator": "Ninja",
40
+ "binaryDir": "${sourceDir}/build/package",
41
+ "cacheVariables": {
42
+ "CMAKE_BUILD_TYPE": "Release",
43
+ "CMAKE_INSTALL_PREFIX": "/usr",
44
+ "ERNIE_BUILD_APP": "ON",
45
+ "ERNIE_BUILD_TESTS": "OFF",
46
+ "ERNIE_BUILD_PYTHON": "OFF",
47
+ "FETCHCONTENT_BASE_DIR": "${sourceDir}/.deps"
48
+ }
49
+ }
50
+ ],
51
+ "buildPresets": [
52
+ {
53
+ "name": "dev",
54
+ "configurePreset": "dev"
55
+ },
56
+ {
57
+ "name": "ci",
58
+ "configurePreset": "ci"
59
+ },
60
+ {
61
+ "name": "package",
62
+ "configurePreset": "package"
63
+ }
64
+ ],
65
+ "testPresets": [
66
+ {
67
+ "name": "dev",
68
+ "configurePreset": "dev",
69
+ "output": {
70
+ "outputOnFailure": true
71
+ }
72
+ },
73
+ {
74
+ "name": "ci",
75
+ "configurePreset": "ci",
76
+ "output": {
77
+ "outputOnFailure": true
78
+ }
79
+ }
80
+ ]
81
+ }
@@ -0,0 +1,22 @@
1
+ # SPDX-License-Identifier: BSD-3-Clause
2
+ FROM ubuntu:24.04 AS build
3
+ ARG DEBIAN_FRONTEND=noninteractive
4
+ RUN apt-get update \
5
+ && apt-get install -y --no-install-recommends ca-certificates cmake g++ git ninja-build \
6
+ && rm -rf /var/lib/apt/lists/*
7
+ WORKDIR /src
8
+ COPY . .
9
+ RUN cmake -S . -B /build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/ernie \
10
+ && cmake --build /build \
11
+ && cmake --install /build --component app
12
+
13
+ FROM ubuntu:24.04
14
+ ARG DEBIAN_FRONTEND=noninteractive
15
+ RUN apt-get update \
16
+ && apt-get install -y --no-install-recommends libvulkan1 mesa-vulkan-drivers \
17
+ && rm -rf /var/lib/apt/lists/*
18
+ COPY --from=build /opt/ernie/bin/ernie /usr/local/bin/ernie
19
+ ENV NVIDIA_DRIVER_CAPABILITIES=graphics,compute,utility
20
+ WORKDIR /work
21
+ ENTRYPOINT ["ernie"]
22
+ CMD ["--help"]