ernie-renderer 0.1.0.dev266__tar.gz → 0.2.0.dev3__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 (596) hide show
  1. {ernie_renderer-0.1.0.dev266 → ernie_renderer-0.2.0.dev3}/.clang-format +1 -1
  2. {ernie_renderer-0.1.0.dev266 → ernie_renderer-0.2.0.dev3}/.clang-tidy +1 -2
  3. ernie_renderer-0.2.0.dev3/.dockerignore +6 -0
  4. ernie_renderer-0.2.0.dev3/.gersemirc +4 -0
  5. ernie_renderer-0.2.0.dev3/.gitattributes +2 -0
  6. {ernie_renderer-0.1.0.dev266 → ernie_renderer-0.2.0.dev3}/.github/scripts/install-lavapipe-windows.sh +0 -7
  7. ernie_renderer-0.2.0.dev3/.github/workflows/ci.yml +366 -0
  8. ernie_renderer-0.2.0.dev3/.gitignore +12 -0
  9. ernie_renderer-0.2.0.dev3/.pre-commit-config.yaml +40 -0
  10. ernie_renderer-0.2.0.dev3/CMakeLists.txt +81 -0
  11. ernie_renderer-0.2.0.dev3/CMakePresets.json +81 -0
  12. ernie_renderer-0.2.0.dev3/Dockerfile +22 -0
  13. ernie_renderer-0.2.0.dev3/PKG-INFO +230 -0
  14. ernie_renderer-0.2.0.dev3/README.md +215 -0
  15. ernie_renderer-0.2.0.dev3/cmake/ErniePackaging.cmake +36 -0
  16. ernie_renderer-0.2.0.dev3/cmake/ErnieTesting.cmake +28 -0
  17. {ernie_renderer-0.1.0.dev266 → ernie_renderer-0.2.0.dev3}/cmake/third_party/googletest.cmake +5 -6
  18. ernie_renderer-0.2.0.dev3/cmake/third_party/nanobind.cmake +34 -0
  19. ernie_renderer-0.2.0.dev3/cmake/third_party/volk.cmake +20 -0
  20. {ernie_renderer-0.1.0.dev266 → ernie_renderer-0.2.0.dev3}/cmake/third_party/vulkan_headers.cmake +10 -5
  21. ernie_renderer-0.2.0.dev3/ernie/CMakeLists.txt +21 -0
  22. ernie_renderer-0.2.0.dev3/ernie/app/CMakeLists.txt +5 -0
  23. ernie_renderer-0.2.0.dev3/ernie/app/main.cpp +44 -0
  24. ernie_renderer-0.2.0.dev3/ernie/core/CMakeLists.txt +5 -0
  25. ernie_renderer-0.2.0.dev3/ernie/core/version.cpp +12 -0
  26. ernie_renderer-0.2.0.dev3/ernie/core/version.h +14 -0
  27. ernie_renderer-0.2.0.dev3/ernie/device/CMakeLists.txt +3 -0
  28. ernie_renderer-0.2.0.dev3/ernie/device/vulkan_devices.cpp +131 -0
  29. ernie_renderer-0.2.0.dev3/ernie/device/vulkan_devices.h +40 -0
  30. ernie_renderer-0.2.0.dev3/ernie/graph/CMakeLists.txt +3 -0
  31. ernie_renderer-0.2.0.dev3/ernie/io/CMakeLists.txt +3 -0
  32. ernie_renderer-0.2.0.dev3/ernie/physics/CMakeLists.txt +3 -0
  33. ernie_renderer-0.2.0.dev3/ernie/python/CMakeLists.txt +21 -0
  34. ernie_renderer-0.2.0.dev3/ernie/python/ernie/__init__.py +6 -0
  35. ernie_renderer-0.2.0.dev3/ernie/python/module.cpp +33 -0
  36. ernie_renderer-0.2.0.dev3/ernie/render/CMakeLists.txt +3 -0
  37. ernie_renderer-0.2.0.dev3/ernie/scene/CMakeLists.txt +3 -0
  38. ernie_renderer-0.2.0.dev3/ernie/test/CMakeLists.txt +29 -0
  39. ernie_renderer-0.2.0.dev3/ernie/test/core/version_test.cpp +14 -0
  40. ernie_renderer-0.2.0.dev3/ernie/test/device/vulkan_devices_test.cpp +42 -0
  41. ernie_renderer-0.2.0.dev3/ernie/test/python/test_package.py +15 -0
  42. ernie_renderer-0.2.0.dev3/pyproject.toml +71 -0
  43. ernie_renderer-0.1.0.dev266/.cmake-format.yaml +0 -11
  44. ernie_renderer-0.1.0.dev266/.gitattributes +0 -23
  45. ernie_renderer-0.1.0.dev266/.github/ISSUE_TEMPLATE/bug_report.yml +0 -58
  46. ernie_renderer-0.1.0.dev266/.github/ISSUE_TEMPLATE/feature_request.yml +0 -21
  47. ernie_renderer-0.1.0.dev266/.github/dependabot.yml +0 -14
  48. ernie_renderer-0.1.0.dev266/.github/pull_request_template.md +0 -11
  49. ernie_renderer-0.1.0.dev266/.github/scripts/ci_metrics.py +0 -166
  50. ernie_renderer-0.1.0.dev266/.github/scripts/debug-windows.sh +0 -36
  51. ernie_renderer-0.1.0.dev266/.github/workflows/ci-metrics.yml +0 -46
  52. ernie_renderer-0.1.0.dev266/.github/workflows/ci.yml +0 -588
  53. ernie_renderer-0.1.0.dev266/.gitignore +0 -17
  54. ernie_renderer-0.1.0.dev266/.pre-commit-config.yaml +0 -77
  55. ernie_renderer-0.1.0.dev266/CITATION.cff +0 -20
  56. ernie_renderer-0.1.0.dev266/CMakeLists.txt +0 -153
  57. ernie_renderer-0.1.0.dev266/CMakePresets.json +0 -46
  58. ernie_renderer-0.1.0.dev266/CONTRIBUTING.md +0 -93
  59. ernie_renderer-0.1.0.dev266/PKG-INFO +0 -273
  60. ernie_renderer-0.1.0.dev266/README.md +0 -238
  61. ernie_renderer-0.1.0.dev266/cmake/EmbedShaders.cmake +0 -22
  62. ernie_renderer-0.1.0.dev266/cmake/ErnieCPackOptions.cmake +0 -6
  63. ernie_renderer-0.1.0.dev266/cmake/ErnieConfig.cmake.in +0 -8
  64. ernie_renderer-0.1.0.dev266/cmake/ErnieInstall.cmake +0 -212
  65. ernie_renderer-0.1.0.dev266/cmake/ErnieLicenses.cmake +0 -116
  66. ernie_renderer-0.1.0.dev266/cmake/ErniePackaging.cmake +0 -140
  67. ernie_renderer-0.1.0.dev266/cmake/ErnieTesting.cmake +0 -52
  68. ernie_renderer-0.1.0.dev266/cmake/cppcheck/ernie.cfg +0 -12
  69. ernie_renderer-0.1.0.dev266/cmake/ernie_exports.map +0 -24
  70. ernie_renderer-0.1.0.dev266/cmake/third_party/curl.cmake +0 -51
  71. ernie_renderer-0.1.0.dev266/cmake/third_party/dear_imgui/CMakeLists.txt +0 -28
  72. ernie_renderer-0.1.0.dev266/cmake/third_party/dear_imgui.cmake +0 -19
  73. ernie_renderer-0.1.0.dev266/cmake/third_party/dlpack.cmake +0 -5
  74. ernie_renderer-0.1.0.dev266/cmake/third_party/embed_file.cmake +0 -14
  75. ernie_renderer-0.1.0.dev266/cmake/third_party/glfw.cmake +0 -29
  76. ernie_renderer-0.1.0.dev266/cmake/third_party/glm.cmake +0 -23
  77. ernie_renderer-0.1.0.dev266/cmake/third_party/gui_fonts.cmake +0 -66
  78. ernie_renderer-0.1.0.dev266/cmake/third_party/imguizmo.cmake +0 -21
  79. ernie_renderer-0.1.0.dev266/cmake/third_party/implot.cmake +0 -21
  80. ernie_renderer-0.1.0.dev266/cmake/third_party/json.cmake +0 -19
  81. ernie_renderer-0.1.0.dev266/cmake/third_party/meshoptimizer.cmake +0 -23
  82. ernie_renderer-0.1.0.dev266/cmake/third_party/moltenvk.cmake +0 -31
  83. ernie_renderer-0.1.0.dev266/cmake/third_party/nanobind.cmake +0 -30
  84. ernie_renderer-0.1.0.dev266/cmake/third_party/openexr.cmake +0 -44
  85. ernie_renderer-0.1.0.dev266/cmake/third_party/slang.cmake +0 -93
  86. ernie_renderer-0.1.0.dev266/cmake/third_party/stb.cmake +0 -10
  87. ernie_renderer-0.1.0.dev266/cmake/third_party/tracy.cmake +0 -40
  88. ernie_renderer-0.1.0.dev266/cmake/third_party/vma/vma.cpp +0 -4
  89. ernie_renderer-0.1.0.dev266/cmake/third_party/vma.cmake +0 -27
  90. ernie_renderer-0.1.0.dev266/cmake/third_party/volk.cmake +0 -28
  91. ernie_renderer-0.1.0.dev266/demos/CMakeLists.txt +0 -62
  92. ernie_renderer-0.1.0.dev266/demos/atmosphere/earth.cpp +0 -191
  93. ernie_renderer-0.1.0.dev266/demos/atmosphere/earth.py +0 -167
  94. ernie_renderer-0.1.0.dev266/demos/atmosphere/mars.cpp +0 -235
  95. ernie_renderer-0.1.0.dev266/demos/atmosphere/mars.py +0 -213
  96. ernie_renderer-0.1.0.dev266/demos/batched/batch_camera.cpp +0 -456
  97. ernie_renderer-0.1.0.dev266/demos/batched/batch_camera.py +0 -314
  98. ernie_renderer-0.1.0.dev266/demos/cameras/floating_origin.cpp +0 -212
  99. ernie_renderer-0.1.0.dev266/demos/cameras/floating_origin.py +0 -171
  100. ernie_renderer-0.1.0.dev266/demos/cameras/lroc.cpp +0 -844
  101. ernie_renderer-0.1.0.dev266/demos/cameras/lroc.py +0 -840
  102. ernie_renderer-0.1.0.dev266/demos/interop/zero_copy_image.py +0 -140
  103. ernie_renderer-0.1.0.dev266/demos/lighting/cornell_box.cpp +0 -324
  104. ernie_renderer-0.1.0.dev266/demos/lighting/cornell_box.py +0 -374
  105. ernie_renderer-0.1.0.dev266/demos/lighting/illuminants.cpp +0 -254
  106. ernie_renderer-0.1.0.dev266/demos/lighting/illuminants.py +0 -268
  107. ernie_renderer-0.1.0.dev266/demos/main.cpp +0 -23
  108. ernie_renderer-0.1.0.dev266/demos/util.cpp +0 -326
  109. ernie_renderer-0.1.0.dev266/demos/util.h +0 -75
  110. ernie_renderer-0.1.0.dev266/demos/viewer/custom_panel.cpp +0 -208
  111. ernie_renderer-0.1.0.dev266/demos/viewer/custom_panel.py +0 -172
  112. ernie_renderer-0.1.0.dev266/demos/viewer/log_array.cpp +0 -144
  113. ernie_renderer-0.1.0.dev266/demos/viewer/log_array.py +0 -122
  114. ernie_renderer-0.1.0.dev266/demos/viewer/log_image.cpp +0 -164
  115. ernie_renderer-0.1.0.dev266/demos/viewer/log_image.py +0 -147
  116. ernie_renderer-0.1.0.dev266/demos/viewer/log_scalar.cpp +0 -119
  117. ernie_renderer-0.1.0.dev266/demos/viewer/log_scalar.py +0 -109
  118. ernie_renderer-0.1.0.dev266/docs/Makefile +0 -16
  119. ernie_renderer-0.1.0.dev266/docs/README.md +0 -10
  120. ernie_renderer-0.1.0.dev266/docs/api/cpp.md +0 -15
  121. ernie_renderer-0.1.0.dev266/docs/api/python/app.md +0 -7
  122. ernie_renderer-0.1.0.dev266/docs/api/python/astronomy.md +0 -15
  123. ernie_renderer-0.1.0.dev266/docs/api/python/batch.md +0 -7
  124. ernie_renderer-0.1.0.dev266/docs/api/python/cameras.md +0 -21
  125. ernie_renderer-0.1.0.dev266/docs/api/python/demo.md +0 -7
  126. ernie_renderer-0.1.0.dev266/docs/api/python/rendering.md +0 -23
  127. ernie_renderer-0.1.0.dev266/docs/api/python/scene.md +0 -25
  128. ernie_renderer-0.1.0.dev266/docs/api/python/schemas.md +0 -103
  129. ernie_renderer-0.1.0.dev266/docs/api/python/tokens.md +0 -8
  130. ernie_renderer-0.1.0.dev266/docs/concepts/cameras.md +0 -1
  131. ernie_renderer-0.1.0.dev266/docs/concepts/lighting.md +0 -1
  132. ernie_renderer-0.1.0.dev266/docs/concepts/materials.md +0 -1
  133. ernie_renderer-0.1.0.dev266/docs/concepts/scene.md +0 -1
  134. ernie_renderer-0.1.0.dev266/docs/concepts/sensor-filters.md +0 -1
  135. ernie_renderer-0.1.0.dev266/docs/concepts/shadows.md +0 -1
  136. ernie_renderer-0.1.0.dev266/docs/concepts/spectral.md +0 -1
  137. ernie_renderer-0.1.0.dev266/docs/concepts/star-fields.md +0 -1
  138. ernie_renderer-0.1.0.dev266/docs/concepts/terrain.md +0 -18
  139. ernie_renderer-0.1.0.dev266/docs/concepts/transforms.md +0 -1
  140. ernie_renderer-0.1.0.dev266/docs/css/extra.css +0 -9
  141. ernie_renderer-0.1.0.dev266/docs/extending/custom-aovs.md +0 -1
  142. ernie_renderer-0.1.0.dev266/docs/extending/custom-brdfs.md +0 -1
  143. ernie_renderer-0.1.0.dev266/docs/extending/custom-lenses.md +0 -1
  144. ernie_renderer-0.1.0.dev266/docs/extending/custom-panels.md +0 -1
  145. ernie_renderer-0.1.0.dev266/docs/extending/custom-render-delegates.md +0 -1
  146. ernie_renderer-0.1.0.dev266/docs/extending/custom-sensor-filters.md +0 -1
  147. ernie_renderer-0.1.0.dev266/docs/extending/custom-spectra.md +0 -1
  148. ernie_renderer-0.1.0.dev266/docs/extending/custom-star-catalogs.md +0 -1
  149. ernie_renderer-0.1.0.dev266/docs/extending/debug-draw.md +0 -1
  150. ernie_renderer-0.1.0.dev266/docs/extending/frame-callbacks.md +0 -1
  151. ernie_renderer-0.1.0.dev266/docs/extending/index.md +0 -1
  152. ernie_renderer-0.1.0.dev266/docs/getting-started/demos.md +0 -144
  153. ernie_renderer-0.1.0.dev266/docs/getting-started/installation.md +0 -1
  154. ernie_renderer-0.1.0.dev266/docs/getting-started/quickstart.md +0 -1
  155. ernie_renderer-0.1.0.dev266/docs/getting-started/viewer.md +0 -1
  156. ernie_renderer-0.1.0.dev266/docs/guides/batched-rendering.md +0 -1
  157. ernie_renderer-0.1.0.dev266/docs/guides/gpu-interop.md +0 -1
  158. ernie_renderer-0.1.0.dev266/docs/guides/scenes.md +0 -497
  159. ernie_renderer-0.1.0.dev266/docs/index.md +0 -1
  160. ernie_renderer-0.1.0.dev266/docs/js/sidebar.js +0 -29
  161. ernie_renderer-0.1.0.dev266/docs/requirements.txt +0 -11
  162. ernie_renderer-0.1.0.dev266/ernie/CMakeLists.txt +0 -62
  163. ernie_renderer-0.1.0.dev266/ernie/app/CMakeLists.txt +0 -56
  164. ernie_renderer-0.1.0.dev266/ernie/app/app.h +0 -35
  165. ernie_renderer-0.1.0.dev266/ernie/app/builtin_panels.h +0 -42
  166. ernie_renderer-0.1.0.dev266/ernie/app/camera_panel.cpp +0 -188
  167. ernie_renderer-0.1.0.dev266/ernie/app/cli.cpp +0 -174
  168. ernie_renderer-0.1.0.dev266/ernie/app/cli.h +0 -37
  169. ernie_renderer-0.1.0.dev266/ernie/app/create.cpp +0 -284
  170. ernie_renderer-0.1.0.dev266/ernie/app/create.h +0 -58
  171. ernie_renderer-0.1.0.dev266/ernie/app/demo.cpp +0 -861
  172. ernie_renderer-0.1.0.dev266/ernie/app/demo.h +0 -378
  173. ernie_renderer-0.1.0.dev266/ernie/app/file_dialog.cpp +0 -491
  174. ernie_renderer-0.1.0.dev266/ernie/app/file_dialog.h +0 -197
  175. ernie_renderer-0.1.0.dev266/ernie/app/icons.h +0 -50
  176. ernie_renderer-0.1.0.dev266/ernie/app/log_panel.cpp +0 -82
  177. ernie_renderer-0.1.0.dev266/ernie/app/logs.cpp +0 -701
  178. ernie_renderer-0.1.0.dev266/ernie/app/logs.h +0 -140
  179. ernie_renderer-0.1.0.dev266/ernie/app/main.cpp +0 -15
  180. ernie_renderer-0.1.0.dev266/ernie/app/panel.cpp +0 -351
  181. ernie_renderer-0.1.0.dev266/ernie/app/panel.h +0 -138
  182. ernie_renderer-0.1.0.dev266/ernie/app/prim_icons.cpp +0 -300
  183. ernie_renderer-0.1.0.dev266/ernie/app/prim_icons.h +0 -30
  184. ernie_renderer-0.1.0.dev266/ernie/app/prim_schemas.cpp +0 -361
  185. ernie_renderer-0.1.0.dev266/ernie/app/prim_schemas.h +0 -40
  186. ernie_renderer-0.1.0.dev266/ernie/app/profiler_panel.cpp +0 -480
  187. ernie_renderer-0.1.0.dev266/ernie/app/properties_panel.cpp +0 -493
  188. ernie_renderer-0.1.0.dev266/ernie/app/property_fields.cpp +0 -695
  189. ernie_renderer-0.1.0.dev266/ernie/app/property_fields.h +0 -105
  190. ernie_renderer-0.1.0.dev266/ernie/app/session.cpp +0 -219
  191. ernie_renderer-0.1.0.dev266/ernie/app/session.h +0 -88
  192. ernie_renderer-0.1.0.dev266/ernie/app/settings_panel.cpp +0 -231
  193. ernie_renderer-0.1.0.dev266/ernie/app/stage_panel.cpp +0 -626
  194. ernie_renderer-0.1.0.dev266/ernie/app/theme.cpp +0 -154
  195. ernie_renderer-0.1.0.dev266/ernie/app/theme.h +0 -70
  196. ernie_renderer-0.1.0.dev266/ernie/app/viewer.cpp +0 -4105
  197. ernie_renderer-0.1.0.dev266/ernie/app/viewer.h +0 -701
  198. ernie_renderer-0.1.0.dev266/ernie/device/CMakeLists.txt +0 -34
  199. ernie_renderer-0.1.0.dev266/ernie/device/buffer.cpp +0 -204
  200. ernie_renderer-0.1.0.dev266/ernie/device/buffer.h +0 -112
  201. ernie_renderer-0.1.0.dev266/ernie/device/compute_interop.cpp +0 -21
  202. ernie_renderer-0.1.0.dev266/ernie/device/compute_interop.h +0 -212
  203. ernie_renderer-0.1.0.dev266/ernie/device/cuda_interop.cpp +0 -1073
  204. ernie_renderer-0.1.0.dev266/ernie/device/cuda_interop.h +0 -96
  205. ernie_renderer-0.1.0.dev266/ernie/device/frame_uploads.cpp +0 -156
  206. ernie_renderer-0.1.0.dev266/ernie/device/frame_uploads.h +0 -93
  207. ernie_renderer-0.1.0.dev266/ernie/device/gpu_profile.h +0 -71
  208. ernie_renderer-0.1.0.dev266/ernie/device/gpu_timer.cpp +0 -113
  209. ernie_renderer-0.1.0.dev266/ernie/device/gpu_timer.h +0 -64
  210. ernie_renderer-0.1.0.dev266/ernie/device/image.cpp +0 -378
  211. ernie_renderer-0.1.0.dev266/ernie/device/image.h +0 -213
  212. ernie_renderer-0.1.0.dev266/ernie/device/offscreen_target.cpp +0 -81
  213. ernie_renderer-0.1.0.dev266/ernie/device/offscreen_target.h +0 -76
  214. ernie_renderer-0.1.0.dev266/ernie/device/pipeline.cpp +0 -400
  215. ernie_renderer-0.1.0.dev266/ernie/device/pipeline.h +0 -216
  216. ernie_renderer-0.1.0.dev266/ernie/device/shader_compiler.cpp +0 -135
  217. ernie_renderer-0.1.0.dev266/ernie/device/shader_compiler.h +0 -54
  218. ernie_renderer-0.1.0.dev266/ernie/device/swapchain.cpp +0 -205
  219. ernie_renderer-0.1.0.dev266/ernie/device/swapchain.h +0 -108
  220. ernie_renderer-0.1.0.dev266/ernie/device/vulkan_context.cpp +0 -948
  221. ernie_renderer-0.1.0.dev266/ernie/device/vulkan_context.h +0 -334
  222. ernie_renderer-0.1.0.dev266/ernie/geometry/CMakeLists.txt +0 -11
  223. ernie_renderer-0.1.0.dev266/ernie/geometry/cube_sphere_lod.cpp +0 -417
  224. ernie_renderer-0.1.0.dev266/ernie/geometry/cube_sphere_lod.h +0 -264
  225. ernie_renderer-0.1.0.dev266/ernie/geometry/frustum.cpp +0 -35
  226. ernie_renderer-0.1.0.dev266/ernie/geometry/frustum.h +0 -38
  227. ernie_renderer-0.1.0.dev266/ernie/geometry/lod_quadtree.cpp +0 -332
  228. ernie_renderer-0.1.0.dev266/ernie/geometry/lod_quadtree.h +0 -233
  229. ernie_renderer-0.1.0.dev266/ernie/geometry/mesh_data.cpp +0 -73
  230. ernie_renderer-0.1.0.dev266/ernie/geometry/mesh_data.h +0 -58
  231. ernie_renderer-0.1.0.dev266/ernie/geometry/primitives.cpp +0 -288
  232. ernie_renderer-0.1.0.dev266/ernie/geometry/primitives.h +0 -68
  233. ernie_renderer-0.1.0.dev266/ernie/kernel/CMakeLists.txt +0 -95
  234. ernie_renderer-0.1.0.dev266/ernie/kernel/closure/brdf.slang +0 -196
  235. ernie_renderer-0.1.0.dev266/ernie/kernel/closure/hapke.slang +0 -94
  236. ernie_renderer-0.1.0.dev266/ernie/kernel/closure/lambert.slang +0 -9
  237. ernie_renderer-0.1.0.dev266/ernie/kernel/closure/lommel_seeliger.slang +0 -13
  238. ernie_renderer-0.1.0.dev266/ernie/kernel/closure/lunar_lambert.slang +0 -14
  239. ernie_renderer-0.1.0.dev266/ernie/kernel/closure/oren_nayar.slang +0 -22
  240. ernie_renderer-0.1.0.dev266/ernie/kernel/closure/preview_surface.slang +0 -173
  241. ernie_renderer-0.1.0.dev266/ernie/kernel/embedded_shaders.h +0 -126
  242. ernie_renderer-0.1.0.dev266/ernie/kernel/film/cube_faces.slang +0 -58
  243. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_bayer.slang +0 -37
  244. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_blooming.slang +0 -43
  245. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_color_matrix.slang +0 -30
  246. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_compand.slang +0 -23
  247. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_compand_lookup.slang +0 -41
  248. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_compand_table.slang +0 -38
  249. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_dark_current.slang +0 -30
  250. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_defect_pixels.slang +0 -27
  251. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_defocus.slang +0 -63
  252. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_demosaic.slang +0 -97
  253. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_detector_pattern.slang +0 -30
  254. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_flare.slang +0 -118
  255. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_glare.slang +0 -38
  256. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_jpeg.slang +0 -95
  257. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_lag.slang +0 -22
  258. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_measured_qe.slang +0 -34
  259. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_psf.slang +0 -214
  260. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_readout_taps.slang +0 -34
  261. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_smear.slang +0 -32
  262. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_spectral_transmission.slang +0 -18
  263. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_stray_light.slang +0 -116
  264. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_tdi.slang +0 -42
  265. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_temporal_average.slang +0 -23
  266. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_tone_curve.slang +0 -21
  267. ernie_renderer-0.1.0.dev266/ernie/kernel/film/filter_white_balance.slang +0 -20
  268. ernie_renderer-0.1.0.dev266/ernie/kernel/film/lens.slang +0 -164
  269. ernie_renderer-0.1.0.dev266/ernie/kernel/film/pyramid.slang +0 -41
  270. ernie_renderer-0.1.0.dev266/ernie/kernel/film/sensor.slang +0 -1193
  271. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/atmosphere.slang +0 -454
  272. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/atmosphere_luts.slang +0 -262
  273. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/cull.slang +0 -362
  274. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/depth_range.slang +0 -50
  275. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/frame.slang +0 -314
  276. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/ground.slang +0 -163
  277. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/hzb.slang +0 -46
  278. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/instance_anchors.slang +0 -86
  279. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/instance_compose.slang +0 -204
  280. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/light_views.slang +0 -189
  281. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/mesh.slang +0 -516
  282. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/mesh_normals.slang +0 -56
  283. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/meter.slang +0 -48
  284. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/minimal_resolve.slang +0 -119
  285. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/motion.slang +0 -112
  286. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/motion_vectors.slang +0 -51
  287. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/overlay.slang +0 -277
  288. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/planet.slang +0 -182
  289. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/planet_color.slang +0 -118
  290. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/planet_shadow.slang +0 -8
  291. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/points.slang +0 -222
  292. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/present.slang +0 -196
  293. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/projection_pinhole.slang +0 -35
  294. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/projection_pushbroom.slang +0 -138
  295. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/shading.slang +0 -1843
  296. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/surface.slang +0 -311
  297. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/terrain.slang +0 -105
  298. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/terrain_color.slang +0 -90
  299. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/terrain_horizon.slang +0 -167
  300. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/terrain_shadow.slang +0 -8
  301. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/terrain_update.slang +0 -101
  302. ernie_renderer-0.1.0.dev266/ernie/kernel/raster/views.slang +0 -194
  303. ernie_renderer-0.1.0.dev266/ernie/python/CMakeLists.txt +0 -192
  304. ernie_renderer-0.1.0.dev266/ernie/python/app.cpp +0 -876
  305. ernie_renderer-0.1.0.dev266/ernie/python/bindings.h +0 -119
  306. ernie_renderer-0.1.0.dev266/ernie/python/demo.cpp +0 -364
  307. ernie_renderer-0.1.0.dev266/ernie/python/ernie/__init__.py +0 -180
  308. ernie_renderer-0.1.0.dev266/ernie/python/ernie/__main__.py +0 -47
  309. ernie_renderer-0.1.0.dev266/ernie/python/ernie/app.py +0 -42
  310. ernie_renderer-0.1.0.dev266/ernie/python/ernie/batch.py +0 -237
  311. ernie_renderer-0.1.0.dev266/ernie/python/ernie/demo.py +0 -674
  312. ernie_renderer-0.1.0.dev266/ernie/python/ernie/demos/__init__.py +0 -83
  313. ernie_renderer-0.1.0.dev266/ernie/python/ernie/demos/__main__.py +0 -9
  314. ernie_renderer-0.1.0.dev266/ernie/python/ernie/schema.py +0 -623
  315. ernie_renderer-0.1.0.dev266/ernie/python/module.cpp +0 -15
  316. ernie_renderer-0.1.0.dev266/ernie/python/render.cpp +0 -853
  317. ernie_renderer-0.1.0.dev266/ernie/python/scene.cpp +0 -2221
  318. ernie_renderer-0.1.0.dev266/ernie/python/scene_json.cpp +0 -95
  319. ernie_renderer-0.1.0.dev266/ernie/python/schema.cpp +0 -249
  320. ernie_renderer-0.1.0.dev266/ernie/python/stub_patterns.txt +0 -9
  321. ernie_renderer-0.1.0.dev266/ernie/python/stub_schema.py +0 -218
  322. ernie_renderer-0.1.0.dev266/ernie/python/tensor.cpp +0 -206
  323. ernie_renderer-0.1.0.dev266/ernie/raster/CMakeLists.txt +0 -24
  324. ernie_renderer-0.1.0.dev266/ernie/raster/atmosphere_luts.cpp +0 -320
  325. ernie_renderer-0.1.0.dev266/ernie/raster/atmosphere_luts.h +0 -130
  326. ernie_renderer-0.1.0.dev266/ernie/raster/delegate.cpp +0 -3063
  327. ernie_renderer-0.1.0.dev266/ernie/raster/delegate.h +0 -539
  328. ernie_renderer-0.1.0.dev266/ernie/raster/drawable.h +0 -250
  329. ernie_renderer-0.1.0.dev266/ernie/raster/ground_drawable.cpp +0 -243
  330. ernie_renderer-0.1.0.dev266/ernie/raster/ground_drawable.h +0 -134
  331. ernie_renderer-0.1.0.dev266/ernie/raster/material.cpp +0 -506
  332. ernie_renderer-0.1.0.dev266/ernie/raster/material.h +0 -228
  333. ernie_renderer-0.1.0.dev266/ernie/raster/mesh_drawable.cpp +0 -3350
  334. ernie_renderer-0.1.0.dev266/ernie/raster/mesh_drawable.h +0 -945
  335. ernie_renderer-0.1.0.dev266/ernie/raster/minimal_targets.cpp +0 -174
  336. ernie_renderer-0.1.0.dev266/ernie/raster/minimal_targets.h +0 -125
  337. ernie_renderer-0.1.0.dev266/ernie/raster/overlay_pass.cpp +0 -264
  338. ernie_renderer-0.1.0.dev266/ernie/raster/overlay_pass.h +0 -108
  339. ernie_renderer-0.1.0.dev266/ernie/raster/planet_drawable.cpp +0 -561
  340. ernie_renderer-0.1.0.dev266/ernie/raster/planet_drawable.h +0 -184
  341. ernie_renderer-0.1.0.dev266/ernie/raster/points_drawable.cpp +0 -858
  342. ernie_renderer-0.1.0.dev266/ernie/raster/points_drawable.h +0 -263
  343. ernie_renderer-0.1.0.dev266/ernie/raster/poisson_disk.cpp +0 -58
  344. ernie_renderer-0.1.0.dev266/ernie/raster/poisson_disk.h +0 -26
  345. ernie_renderer-0.1.0.dev266/ernie/raster/render_targets.cpp +0 -310
  346. ernie_renderer-0.1.0.dev266/ernie/raster/render_targets.h +0 -210
  347. ernie_renderer-0.1.0.dev266/ernie/raster/renderer.cpp +0 -4737
  348. ernie_renderer-0.1.0.dev266/ernie/raster/renderer.h +0 -1133
  349. ernie_renderer-0.1.0.dev266/ernie/raster/sensor_plan.cpp +0 -592
  350. ernie_renderer-0.1.0.dev266/ernie/raster/sensor_plan.h +0 -143
  351. ernie_renderer-0.1.0.dev266/ernie/raster/shadow_cascades.cpp +0 -158
  352. ernie_renderer-0.1.0.dev266/ernie/raster/shadow_cascades.h +0 -95
  353. ernie_renderer-0.1.0.dev266/ernie/raster/terrain_drawable.cpp +0 -1110
  354. ernie_renderer-0.1.0.dev266/ernie/raster/terrain_drawable.h +0 -413
  355. ernie_renderer-0.1.0.dev266/ernie/scene/CMakeLists.txt +0 -35
  356. ernie_renderer-0.1.0.dev266/ernie/scene/base_schemas.cpp +0 -43
  357. ernie_renderer-0.1.0.dev266/ernie/scene/base_schemas.h +0 -94
  358. ernie_renderer-0.1.0.dev266/ernie/scene/brdf.cpp +0 -280
  359. ernie_renderer-0.1.0.dev266/ernie/scene/brdf.h +0 -126
  360. ernie_renderer-0.1.0.dev266/ernie/scene/cahvore.cpp +0 -509
  361. ernie_renderer-0.1.0.dev266/ernie/scene/cahvore.h +0 -163
  362. ernie_renderer-0.1.0.dev266/ernie/scene/camera.cpp +0 -615
  363. ernie_renderer-0.1.0.dev266/ernie/scene/camera.h +0 -476
  364. ernie_renderer-0.1.0.dev266/ernie/scene/camera_schemas.cpp +0 -39
  365. ernie_renderer-0.1.0.dev266/ernie/scene/camera_schemas.h +0 -234
  366. ernie_renderer-0.1.0.dev266/ernie/scene/dem.cpp +0 -375
  367. ernie_renderer-0.1.0.dev266/ernie/scene/dem.h +0 -109
  368. ernie_renderer-0.1.0.dev266/ernie/scene/edit_history.cpp +0 -293
  369. ernie_renderer-0.1.0.dev266/ernie/scene/edit_history.h +0 -178
  370. ernie_renderer-0.1.0.dev266/ernie/scene/geometry_schemas.cpp +0 -76
  371. ernie_renderer-0.1.0.dev266/ernie/scene/geometry_schemas.h +0 -239
  372. ernie_renderer-0.1.0.dev266/ernie/scene/isd.cpp +0 -1539
  373. ernie_renderer-0.1.0.dev266/ernie/scene/isd.h +0 -532
  374. ernie_renderer-0.1.0.dev266/ernie/scene/light_pattern.cpp +0 -450
  375. ernie_renderer-0.1.0.dev266/ernie/scene/light_pattern.h +0 -157
  376. ernie_renderer-0.1.0.dev266/ernie/scene/light_schemas.cpp +0 -84
  377. ernie_renderer-0.1.0.dev266/ernie/scene/light_schemas.h +0 -393
  378. ernie_renderer-0.1.0.dev266/ernie/scene/material.h +0 -126
  379. ernie_renderer-0.1.0.dev266/ernie/scene/material_schemas.cpp +0 -24
  380. ernie_renderer-0.1.0.dev266/ernie/scene/material_schemas.h +0 -207
  381. ernie_renderer-0.1.0.dev266/ernie/scene/orbit_controller.cpp +0 -83
  382. ernie_renderer-0.1.0.dev266/ernie/scene/orbit_controller.h +0 -92
  383. ernie_renderer-0.1.0.dev266/ernie/scene/overlay.cpp +0 -394
  384. ernie_renderer-0.1.0.dev266/ernie/scene/overlay.h +0 -226
  385. ernie_renderer-0.1.0.dev266/ernie/scene/path.cpp +0 -100
  386. ernie_renderer-0.1.0.dev266/ernie/scene/path.h +0 -78
  387. ernie_renderer-0.1.0.dev266/ernie/scene/prim_type.cpp +0 -776
  388. ernie_renderer-0.1.0.dev266/ernie/scene/prim_type.h +0 -724
  389. ernie_renderer-0.1.0.dev266/ernie/scene/render_schemas.cpp +0 -59
  390. ernie_renderer-0.1.0.dev266/ernie/scene/render_schemas.h +0 -297
  391. ernie_renderer-0.1.0.dev266/ernie/scene/scene.cpp +0 -723
  392. ernie_renderer-0.1.0.dev266/ernie/scene/scene.h +0 -489
  393. ernie_renderer-0.1.0.dev266/ernie/scene/scene_json.cpp +0 -898
  394. ernie_renderer-0.1.0.dev266/ernie/scene/scene_json.h +0 -135
  395. ernie_renderer-0.1.0.dev266/ernie/scene/schema.cpp +0 -253
  396. ernie_renderer-0.1.0.dev266/ernie/scene/schema.h +0 -107
  397. ernie_renderer-0.1.0.dev266/ernie/scene/sensor_filters.cpp +0 -1015
  398. ernie_renderer-0.1.0.dev266/ernie/scene/sensor_filters.h +0 -385
  399. ernie_renderer-0.1.0.dev266/ernie/scene/stage_schemas.cpp +0 -11
  400. ernie_renderer-0.1.0.dev266/ernie/scene/stage_schemas.h +0 -98
  401. ernie_renderer-0.1.0.dev266/ernie/scene/terrain_schemas.cpp +0 -30
  402. ernie_renderer-0.1.0.dev266/ernie/scene/terrain_schemas.h +0 -164
  403. ernie_renderer-0.1.0.dev266/ernie/scene/tokens.h +0 -983
  404. ernie_renderer-0.1.0.dev266/ernie/scene/value.h +0 -82
  405. ernie_renderer-0.1.0.dev266/ernie/scene/wide_view.cpp +0 -147
  406. ernie_renderer-0.1.0.dev266/ernie/scene/wide_view.h +0 -114
  407. ernie_renderer-0.1.0.dev266/ernie/scene/xform.cpp +0 -511
  408. ernie_renderer-0.1.0.dev266/ernie/scene/xform.h +0 -120
  409. ernie_renderer-0.1.0.dev266/ernie/session/CMakeLists.txt +0 -12
  410. ernie_renderer-0.1.0.dev266/ernie/session/backends.cpp +0 -32
  411. ernie_renderer-0.1.0.dev266/ernie/session/delegate.cpp +0 -100
  412. ernie_renderer-0.1.0.dev266/ernie/session/delegate.h +0 -349
  413. ernie_renderer-0.1.0.dev266/ernie/session/frame_params.cpp +0 -271
  414. ernie_renderer-0.1.0.dev266/ernie/session/frame_params.h +0 -687
  415. ernie_renderer-0.1.0.dev266/ernie/session/outputs.cpp +0 -389
  416. ernie_renderer-0.1.0.dev266/ernie/session/outputs.h +0 -235
  417. ernie_renderer-0.1.0.dev266/ernie/session/product_frame.h +0 -33
  418. ernie_renderer-0.1.0.dev266/ernie/session/renderer.cpp +0 -101
  419. ernie_renderer-0.1.0.dev266/ernie/session/renderer.h +0 -101
  420. ernie_renderer-0.1.0.dev266/ernie/session/resolve.cpp +0 -3510
  421. ernie_renderer-0.1.0.dev266/ernie/session/resolve.h +0 -604
  422. ernie_renderer-0.1.0.dev266/ernie/session/sampling.h +0 -59
  423. ernie_renderer-0.1.0.dev266/ernie/test/CMakeLists.txt +0 -159
  424. ernie_renderer-0.1.0.dev266/ernie/test/app_demo_gpu_test.cpp +0 -244
  425. ernie_renderer-0.1.0.dev266/ernie/test/app_demo_test.cpp +0 -68
  426. ernie_renderer-0.1.0.dev266/ernie/test/app_file_dialog_test.cpp +0 -188
  427. ernie_renderer-0.1.0.dev266/ernie/test/app_panel_test.cpp +0 -84
  428. ernie_renderer-0.1.0.dev266/ernie/test/app_prim_schemas_test.cpp +0 -212
  429. ernie_renderer-0.1.0.dev266/ernie/test/app_session_test.cpp +0 -301
  430. ernie_renderer-0.1.0.dev266/ernie/test/app_theme_test.cpp +0 -65
  431. ernie_renderer-0.1.0.dev266/ernie/test/app_viewer_gpu_test.cpp +0 -1038
  432. ernie_renderer-0.1.0.dev266/ernie/test/device_cuda_interop_test.cpp +0 -215
  433. ernie_renderer-0.1.0.dev266/ernie/test/device_frame_uploads_test.cpp +0 -116
  434. ernie_renderer-0.1.0.dev266/ernie/test/device_pipeline_test.cpp +0 -182
  435. ernie_renderer-0.1.0.dev266/ernie/test/device_shader_compiler_test.cpp +0 -114
  436. ernie_renderer-0.1.0.dev266/ernie/test/device_vulkan_context_test.cpp +0 -180
  437. ernie_renderer-0.1.0.dev266/ernie/test/fixtures/cahvore/README.md +0 -3
  438. ernie_renderer-0.1.0.dev266/ernie/test/fixtures/cahvore/m2020_camera_models.json +0 -262
  439. ernie_renderer-0.1.0.dev266/ernie/test/fixtures/images/grey16.png +0 -0
  440. ernie_renderer-0.1.0.dev266/ernie/test/fixtures/isd/README.md +0 -12
  441. ernie_renderer-0.1.0.dev266/ernie/test/fixtures/isd/constVelocityLineScan.json +0 -169
  442. ernie_renderer-0.1.0.dev266/ernie/test/fixtures/isd/ctxLineScan.json +0 -2516
  443. ernie_renderer-0.1.0.dev266/ernie/test/fixtures/isd/dawnfc_radtan.json +0 -272
  444. ernie_renderer-0.1.0.dev266/ernie/test/fixtures/isd/jitterFramer.json +0 -97
  445. ernie_renderer-0.1.0.dev266/ernie/test/fixtures/isd/lroWacPushFrame.json +0 -13379
  446. ernie_renderer-0.1.0.dev266/ernie/test/fixtures/isd/orbitalFramer.json +0 -92
  447. ernie_renderer-0.1.0.dev266/ernie/test/fixtures/isd/orbitalLineScan.json +0 -241
  448. ernie_renderer-0.1.0.dev266/ernie/test/fixtures/isd/orbitalPushFrame.json +0 -365
  449. ernie_renderer-0.1.0.dev266/ernie/test/fixtures/isd/simpleFramerISD.json +0 -95
  450. ernie_renderer-0.1.0.dev266/ernie/test/fixtures/isd/toughLroNacLineScan.json +0 -23408
  451. ernie_renderer-0.1.0.dev266/ernie/test/fixtures/scene_basic.json +0 -25
  452. ernie_renderer-0.1.0.dev266/ernie/test/geometry_cube_sphere_lod_test.cpp +0 -811
  453. ernie_renderer-0.1.0.dev266/ernie/test/geometry_frustum_test.cpp +0 -71
  454. ernie_renderer-0.1.0.dev266/ernie/test/geometry_lod_quadtree_test.cpp +0 -556
  455. ernie_renderer-0.1.0.dev266/ernie/test/geometry_mesh_data_test.cpp +0 -39
  456. ernie_renderer-0.1.0.dev266/ernie/test/geometry_primitives_test.cpp +0 -189
  457. ernie_renderer-0.1.0.dev266/ernie/test/install/CMakeLists.txt +0 -16
  458. ernie_renderer-0.1.0.dev266/ernie/test/install/consumer.cpp +0 -67
  459. ernie_renderer-0.1.0.dev266/ernie/test/install/run_install_test.cmake +0 -87
  460. ernie_renderer-0.1.0.dev266/ernie/test/python/conftest.py +0 -92
  461. ernie_renderer-0.1.0.dev266/ernie/test/python/test_app.py +0 -370
  462. ernie_renderer-0.1.0.dev266/ernie/test/python/test_batch.py +0 -231
  463. ernie_renderer-0.1.0.dev266/ernie/test/python/test_cahvore.py +0 -56
  464. ernie_renderer-0.1.0.dev266/ernie/test/python/test_cameras.py +0 -148
  465. ernie_renderer-0.1.0.dev266/ernie/test/python/test_cuda.py +0 -256
  466. ernie_renderer-0.1.0.dev266/ernie/test/python/test_demos.py +0 -372
  467. ernie_renderer-0.1.0.dev266/ernie/test/python/test_filters.py +0 -158
  468. ernie_renderer-0.1.0.dev266/ernie/test/python/test_isd.py +0 -121
  469. ernie_renderer-0.1.0.dev266/ernie/test/python/test_map.py +0 -73
  470. ernie_renderer-0.1.0.dev266/ernie/test/python/test_materials.py +0 -262
  471. ernie_renderer-0.1.0.dev266/ernie/test/python/test_minimal.py +0 -208
  472. ernie_renderer-0.1.0.dev266/ernie/test/python/test_overlays.py +0 -77
  473. ernie_renderer-0.1.0.dev266/ernie/test/python/test_readme.py +0 -36
  474. ernie_renderer-0.1.0.dev266/ernie/test/python/test_render.py +0 -235
  475. ernie_renderer-0.1.0.dev266/ernie/test/python/test_scene.py +0 -280
  476. ernie_renderer-0.1.0.dev266/ernie/test/python/test_schema.py +0 -558
  477. ernie_renderer-0.1.0.dev266/ernie/test/python/test_schema_camera.py +0 -80
  478. ernie_renderer-0.1.0.dev266/ernie/test/python/test_schema_geometry.py +0 -119
  479. ernie_renderer-0.1.0.dev266/ernie/test/python/test_schema_material.py +0 -117
  480. ernie_renderer-0.1.0.dev266/ernie/test/python/test_schema_render.py +0 -172
  481. ernie_renderer-0.1.0.dev266/ernie/test/python/test_schema_terrain.py +0 -84
  482. ernie_renderer-0.1.0.dev266/ernie/test/python/test_stars.py +0 -72
  483. ernie_renderer-0.1.0.dev266/ernie/test/python/test_step.py +0 -366
  484. ernie_renderer-0.1.0.dev266/ernie/test/python/test_xform.py +0 -582
  485. ernie_renderer-0.1.0.dev266/ernie/test/python/test_xform_gpu.py +0 -565
  486. ernie_renderer-0.1.0.dev266/ernie/test/python/test_xform_gpu_cameras.py +0 -272
  487. ernie_renderer-0.1.0.dev266/ernie/test/python/test_xform_gpu_compose.py +0 -378
  488. ernie_renderer-0.1.0.dev266/ernie/test/python/test_xform_gpu_lights.py +0 -122
  489. ernie_renderer-0.1.0.dev266/ernie/test/python/test_xform_gpu_map.py +0 -118
  490. ernie_renderer-0.1.0.dev266/ernie/test/python/test_xform_gpu_points.py +0 -192
  491. ernie_renderer-0.1.0.dev266/ernie/test/raster_atmosphere_gpu_test.cpp +0 -880
  492. ernie_renderer-0.1.0.dev266/ernie/test/raster_batch_gpu_test.cpp +0 -1093
  493. ernie_renderer-0.1.0.dev266/ernie/test/raster_culling_gpu_test.cpp +0 -496
  494. ernie_renderer-0.1.0.dev266/ernie/test/raster_delegate_gpu_test.cpp +0 -878
  495. ernie_renderer-0.1.0.dev266/ernie/test/raster_delegate_test.cpp +0 -198
  496. ernie_renderer-0.1.0.dev266/ernie/test/raster_gpu_meshes_gpu_test.cpp +0 -193
  497. ernie_renderer-0.1.0.dev266/ernie/test/raster_gpu_terrain_gpu_test.cpp +0 -218
  498. ernie_renderer-0.1.0.dev266/ernie/test/raster_hex_tiling_gpu_test.cpp +0 -230
  499. ernie_renderer-0.1.0.dev266/ernie/test/raster_lens_rays_gpu_test.cpp +0 -162
  500. ernie_renderer-0.1.0.dev266/ernie/test/raster_lights_gpu_test.cpp +0 -1958
  501. ernie_renderer-0.1.0.dev266/ernie/test/raster_mesh_drawable_test.cpp +0 -529
  502. ernie_renderer-0.1.0.dev266/ernie/test/raster_motion_gpu_test.cpp +0 -685
  503. ernie_renderer-0.1.0.dev266/ernie/test/raster_overlays_gpu_test.cpp +0 -286
  504. ernie_renderer-0.1.0.dev266/ernie/test/raster_planet_gpu_test.cpp +0 -209
  505. ernie_renderer-0.1.0.dev266/ernie/test/raster_points_gpu_test.cpp +0 -232
  506. ernie_renderer-0.1.0.dev266/ernie/test/raster_poisson_disk_test.cpp +0 -54
  507. ernie_renderer-0.1.0.dev266/ernie/test/raster_products_gpu_test.cpp +0 -1529
  508. ernie_renderer-0.1.0.dev266/ernie/test/raster_sensor_filters_gpu_test.cpp +0 -263
  509. ernie_renderer-0.1.0.dev266/ernie/test/raster_sensor_plan_test.cpp +0 -213
  510. ernie_renderer-0.1.0.dev266/ernie/test/raster_shadow_cascades_test.cpp +0 -263
  511. ernie_renderer-0.1.0.dev266/ernie/test/raster_standard_filters_gpu_test.cpp +0 -1504
  512. ernie_renderer-0.1.0.dev266/ernie/test/raster_terrain_drawable_test.cpp +0 -795
  513. ernie_renderer-0.1.0.dev266/ernie/test/raster_textures_gpu_test.cpp +0 -337
  514. ernie_renderer-0.1.0.dev266/ernie/test/raster_zero_copy_gpu_test.cpp +0 -221
  515. ernie_renderer-0.1.0.dev266/ernie/test/scene_brdf_test.cpp +0 -116
  516. ernie_renderer-0.1.0.dev266/ernie/test/scene_brdf_vulkan_test.cpp +0 -661
  517. ernie_renderer-0.1.0.dev266/ernie/test/scene_cahvore_test.cpp +0 -231
  518. ernie_renderer-0.1.0.dev266/ernie/test/scene_camera_schemas_test.cpp +0 -254
  519. ernie_renderer-0.1.0.dev266/ernie/test/scene_camera_test.cpp +0 -442
  520. ernie_renderer-0.1.0.dev266/ernie/test/scene_dem_test.cpp +0 -128
  521. ernie_renderer-0.1.0.dev266/ernie/test/scene_edit_history_test.cpp +0 -139
  522. ernie_renderer-0.1.0.dev266/ernie/test/scene_geometry_schemas_test.cpp +0 -300
  523. ernie_renderer-0.1.0.dev266/ernie/test/scene_isd_test.cpp +0 -674
  524. ernie_renderer-0.1.0.dev266/ernie/test/scene_json_test.cpp +0 -730
  525. ernie_renderer-0.1.0.dev266/ernie/test/scene_light_pattern_test.cpp +0 -90
  526. ernie_renderer-0.1.0.dev266/ernie/test/scene_material_schemas_test.cpp +0 -198
  527. ernie_renderer-0.1.0.dev266/ernie/test/scene_orbit_controller_test.cpp +0 -199
  528. ernie_renderer-0.1.0.dev266/ernie/test/scene_overlay_test.cpp +0 -151
  529. ernie_renderer-0.1.0.dev266/ernie/test/scene_path_test.cpp +0 -52
  530. ernie_renderer-0.1.0.dev266/ernie/test/scene_prim_type_test.cpp +0 -415
  531. ernie_renderer-0.1.0.dev266/ernie/test/scene_render_schemas_test.cpp +0 -316
  532. ernie_renderer-0.1.0.dev266/ernie/test/scene_scene_test.cpp +0 -412
  533. ernie_renderer-0.1.0.dev266/ernie/test/scene_schema_test.cpp +0 -236
  534. ernie_renderer-0.1.0.dev266/ernie/test/scene_sensor_filters_test.cpp +0 -240
  535. ernie_renderer-0.1.0.dev266/ernie/test/scene_stage_test.cpp +0 -83
  536. ernie_renderer-0.1.0.dev266/ernie/test/scene_terrain_schemas_test.cpp +0 -156
  537. ernie_renderer-0.1.0.dev266/ernie/test/scene_wide_view_test.cpp +0 -202
  538. ernie_renderer-0.1.0.dev266/ernie/test/scene_xform_test.cpp +0 -1102
  539. ernie_renderer-0.1.0.dev266/ernie/test/session_delegate_test.cpp +0 -162
  540. ernie_renderer-0.1.0.dev266/ernie/test/session_frame_params_test.cpp +0 -254
  541. ernie_renderer-0.1.0.dev266/ernie/test/session_gpu_xform_test.cpp +0 -550
  542. ernie_renderer-0.1.0.dev266/ernie/test/session_lights_test.cpp +0 -1212
  543. ernie_renderer-0.1.0.dev266/ernie/test/session_resolve_test.cpp +0 -911
  544. ernie_renderer-0.1.0.dev266/ernie/test/session_sampling_test.cpp +0 -53
  545. ernie_renderer-0.1.0.dev266/ernie/test/support/brdf_reference.h +0 -210
  546. ernie_renderer-0.1.0.dev266/ernie/test/support/delegate_scenes.cpp +0 -198
  547. ernie_renderer-0.1.0.dev266/ernie/test/support/delegate_scenes.h +0 -87
  548. ernie_renderer-0.1.0.dev266/ernie/test/support/terrain_harness.h +0 -155
  549. ernie_renderer-0.1.0.dev266/ernie/test/support/test_raster.h +0 -100
  550. ernie_renderer-0.1.0.dev266/ernie/test/support/vulkan_fixture.h +0 -58
  551. ernie_renderer-0.1.0.dev266/ernie/test/util_astronomy_test.cpp +0 -76
  552. ernie_renderer-0.1.0.dev266/ernie/test/util_atmosphere_test.cpp +0 -291
  553. ernie_renderer-0.1.0.dev266/ernie/test/util_ies_test.cpp +0 -220
  554. ernie_renderer-0.1.0.dev266/ernie/test/util_image_test.cpp +0 -307
  555. ernie_renderer-0.1.0.dev266/ernie/test/util_scattering_test.cpp +0 -317
  556. ernie_renderer-0.1.0.dev266/ernie/test/util_solar_test.cpp +0 -46
  557. ernie_renderer-0.1.0.dev266/ernie/test/util_spectrum_test.cpp +0 -160
  558. ernie_renderer-0.1.0.dev266/ernie/test/util_tensor_test.cpp +0 -260
  559. ernie_renderer-0.1.0.dev266/ernie/util/CMakeLists.txt +0 -20
  560. ernie_renderer-0.1.0.dev266/ernie/util/astronomy.cpp +0 -160
  561. ernie_renderer-0.1.0.dev266/ernie/util/astronomy.h +0 -97
  562. ernie_renderer-0.1.0.dev266/ernie/util/atmosphere.cpp +0 -537
  563. ernie_renderer-0.1.0.dev266/ernie/util/atmosphere.h +0 -291
  564. ernie_renderer-0.1.0.dev266/ernie/util/ies.cpp +0 -350
  565. ernie_renderer-0.1.0.dev266/ernie/util/ies.h +0 -108
  566. ernie_renderer-0.1.0.dev266/ernie/util/image.cpp +0 -254
  567. ernie_renderer-0.1.0.dev266/ernie/util/image.h +0 -104
  568. ernie_renderer-0.1.0.dev266/ernie/util/least_squares.h +0 -87
  569. ernie_renderer-0.1.0.dev266/ernie/util/profile.h +0 -49
  570. ernie_renderer-0.1.0.dev266/ernie/util/profiler.cpp +0 -159
  571. ernie_renderer-0.1.0.dev266/ernie/util/profiler.h +0 -94
  572. ernie_renderer-0.1.0.dev266/ernie/util/raster_checks.h +0 -40
  573. ernie_renderer-0.1.0.dev266/ernie/util/raster_view.h +0 -46
  574. ernie_renderer-0.1.0.dev266/ernie/util/scattering.cpp +0 -456
  575. ernie_renderer-0.1.0.dev266/ernie/util/scattering.h +0 -260
  576. ernie_renderer-0.1.0.dev266/ernie/util/shader_source.h +0 -15
  577. ernie_renderer-0.1.0.dev266/ernie/util/solar.cpp +0 -36
  578. ernie_renderer-0.1.0.dev266/ernie/util/solar.h +0 -32
  579. ernie_renderer-0.1.0.dev266/ernie/util/solar_table.h +0 -3069
  580. ernie_renderer-0.1.0.dev266/ernie/util/spectrum.cpp +0 -412
  581. ernie_renderer-0.1.0.dev266/ernie/util/spectrum.h +0 -195
  582. ernie_renderer-0.1.0.dev266/ernie/util/tensor.cpp +0 -283
  583. ernie_renderer-0.1.0.dev266/ernie/util/tensor.h +0 -195
  584. ernie_renderer-0.1.0.dev266/mkdocs.yml +0 -136
  585. ernie_renderer-0.1.0.dev266/pyproject.toml +0 -176
  586. ernie_renderer-0.1.0.dev266/third_party/README.md +0 -60
  587. ernie_renderer-0.1.0.dev266/third_party/cameramodelutilsjs/LICENSE +0 -201
  588. ernie_renderer-0.1.0.dev266/third_party/dlpack/LICENSE +0 -201
  589. ernie_renderer-0.1.0.dev266/third_party/dlpack/include/dlpack/dlpack.h +0 -647
  590. ernie_renderer-0.1.0.dev266/third_party/stb/LICENSE +0 -37
  591. ernie_renderer-0.1.0.dev266/third_party/stb/stb.cpp +0 -5
  592. ernie_renderer-0.1.0.dev266/third_party/stb/stb_easy_font.h +0 -305
  593. ernie_renderer-0.1.0.dev266/third_party/stb/stb_image.h +0 -7988
  594. ernie_renderer-0.1.0.dev266/third_party/stb/stb_image_write.h +0 -1724
  595. ernie_renderer-0.1.0.dev266/tools/solar_spectrum.py +0 -108
  596. {ernie_renderer-0.1.0.dev266 → ernie_renderer-0.2.0.dev3}/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,366 @@
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
+ needs: version
217
+ runs-on: ubuntu-24.04
218
+ timeout-minutes: 30
219
+ container: quay.io/pypa/manylinux_2_34_x86_64
220
+ steps:
221
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
222
+ - name: Version
223
+ run: >
224
+ sed -i 's/set(ERNIE_VERSION_SUFFIX ""/set(ERNIE_VERSION_SUFFIX "${{ needs.version.outputs.suffix }}"/'
225
+ CMakeLists.txt
226
+ - name: Build tools
227
+ run: |
228
+ dnf install -y -q rpm-build
229
+ command -v ninja >/dev/null || pipx install -q ninja
230
+ - name: Build
231
+ run: |
232
+ cmake --preset package
233
+ cmake --build --preset package --parallel 4
234
+ cd build/package && cpack -G "DEB;RPM;TGZ"
235
+ - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
236
+ with:
237
+ name: packages-linux-x86_64
238
+ path: |
239
+ build/package/packages/*.deb
240
+ build/package/packages/*.rpm
241
+ build/package/packages/*.tar.gz
242
+
243
+ # Each package installed on a clean distribution, where the program must find lavapipe.
244
+ package-test:
245
+ name: package-test (${{ matrix.image }})
246
+ needs: packages
247
+ runs-on: ubuntu-24.04
248
+ timeout-minutes: 15
249
+ strategy:
250
+ fail-fast: false
251
+ matrix:
252
+ include:
253
+ - { image: "ubuntu:22.04", kind: deb }
254
+ - { image: "ubuntu:24.04", kind: deb }
255
+ - { image: "debian:12", kind: deb }
256
+ - { image: "rockylinux/rockylinux:9", kind: rpm }
257
+ container: ${{ matrix.image }}
258
+ steps:
259
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
260
+ with:
261
+ name: packages-linux-x86_64
262
+ - name: Install
263
+ if: matrix.kind == 'deb'
264
+ run: |
265
+ apt-get update
266
+ apt-get install -y --no-install-recommends ./*.deb mesa-vulkan-drivers
267
+ - name: Install
268
+ if: matrix.kind == 'rpm'
269
+ run: dnf install -y ./*.rpm mesa-vulkan-drivers
270
+ - name: Run
271
+ run: |
272
+ ernie --version
273
+ ernie --devices | grep -i llvmpipe
274
+
275
+ # The ernie program's image, built from source; pushed to GHCR from main (dev) and release tags.
276
+ docker:
277
+ needs: [version, lint, test, package-test]
278
+ runs-on: ubuntu-24.04
279
+ timeout-minutes: 30
280
+ permissions:
281
+ contents: read
282
+ packages: write
283
+ steps:
284
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
285
+ - name: Build
286
+ run: docker build -t ernie:test .
287
+ - name: Smoke test
288
+ run: |
289
+ docker run --rm ernie:test --version
290
+ docker run --rm ernie:test --devices | grep -i llvmpipe
291
+ - name: Push
292
+ if: github.event_name == 'push'
293
+ env:
294
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
295
+ run: |
296
+ image=ghcr.io/${GITHUB_REPOSITORY,,}
297
+ echo "$GH_TOKEN" | docker login ghcr.io -u "$GITHUB_ACTOR" --password-stdin
298
+ if [[ "$GITHUB_REF" == refs/tags/v* ]]; then
299
+ version=${GITHUB_REF_NAME#v}
300
+ tags=("$version" "${version%.*}" latest)
301
+ else
302
+ tags=(dev)
303
+ fi
304
+ for tag in "${tags[@]}"; do
305
+ docker tag ernie:test "$image:$tag"
306
+ docker push "$image:$tag"
307
+ done
308
+
309
+ # Wheels and the sdist to PyPI by Trusted Publishing (no stored token): X.Y.Z.devN from main,
310
+ # X.Y.Z from release tags, once every platform's build, tests and packages pass.
311
+ pypi:
312
+ needs: [lint, test, wheel, sdist, package-test]
313
+ if: >
314
+ github.event_name == 'push' &&
315
+ (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v'))
316
+ runs-on: ubuntu-24.04
317
+ timeout-minutes: 10
318
+ environment:
319
+ name: pypi
320
+ url: https://pypi.org/project/ernie-renderer/
321
+ permissions:
322
+ id-token: write
323
+ steps:
324
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
325
+ with:
326
+ pattern: wheel-*
327
+ merge-multiple: true
328
+ path: dist
329
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
330
+ with:
331
+ name: sdist
332
+ path: dist
333
+ - uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
334
+
335
+ # A GitHub release for each v* tag, with every wheel, the sdist, the packages and their checksums.
336
+ release:
337
+ needs: [lint, test, wheel, sdist, package-test, docker]
338
+ if: startsWith(github.ref, 'refs/tags/v')
339
+ runs-on: ubuntu-24.04
340
+ timeout-minutes: 10
341
+ permissions:
342
+ contents: write
343
+ steps:
344
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
345
+ with:
346
+ pattern: "wheel-*"
347
+ merge-multiple: true
348
+ path: assets
349
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
350
+ with:
351
+ pattern: "sdist"
352
+ merge-multiple: true
353
+ path: assets
354
+ - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
355
+ with:
356
+ pattern: "packages-*"
357
+ merge-multiple: true
358
+ path: assets
359
+ - name: Checksums
360
+ run: cd assets && sha256sum -- * > SHA256SUMS
361
+ - name: Release
362
+ env:
363
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
364
+ run: >
365
+ gh release create "$GITHUB_REF_NAME" assets/*
366
+ --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 ".dev3" 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"]