@woosh/meep-engine 2.109.0 → 2.109.2

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.
Files changed (311) hide show
  1. package/build/meep.cjs +150 -199
  2. package/build/meep.min.js +1 -1
  3. package/build/meep.module.js +150 -199
  4. package/package.json +1 -1
  5. package/src/core/binary/BitSet.d.ts +6 -0
  6. package/src/core/binary/BitSet.d.ts.map +1 -1
  7. package/src/core/binary/BitSet.js +14 -42
  8. package/src/core/binary/align_32.d.ts +7 -0
  9. package/src/core/binary/align_32.d.ts.map +1 -0
  10. package/src/core/binary/align_32.js +8 -0
  11. package/src/core/binary/align_32.spec.d.ts +2 -0
  12. package/src/core/binary/align_32.spec.d.ts.map +1 -0
  13. package/src/core/binary/align_32.spec.js +11 -0
  14. package/src/core/binary/align_4.js +2 -1
  15. package/src/core/binary/ctz32.d.ts.map +1 -1
  16. package/src/core/binary/ctz32.js +12 -11
  17. package/src/core/binary/lsb_32.d.ts +9 -0
  18. package/src/core/binary/lsb_32.d.ts.map +1 -0
  19. package/src/core/binary/lsb_32.js +12 -0
  20. package/src/core/binary/msb_32.d.ts +2 -0
  21. package/src/core/binary/msb_32.d.ts.map +1 -0
  22. package/src/core/binary/msb_32.js +20 -0
  23. package/src/core/binary/msb_lut_de_bruijn.d.ts +7 -0
  24. package/src/core/binary/msb_lut_de_bruijn.d.ts.map +1 -0
  25. package/src/core/binary/msb_lut_de_bruijn.js +9 -0
  26. package/src/core/binary/reinterpret_int32_as_float32.d.ts +7 -0
  27. package/src/core/binary/reinterpret_int32_as_float32.d.ts.map +1 -0
  28. package/src/core/binary/reinterpret_int32_as_float32.js +14 -0
  29. package/src/core/binary/reverse_bits_uint32.d.ts +8 -0
  30. package/src/core/binary/reverse_bits_uint32.d.ts.map +1 -0
  31. package/src/core/binary/reverse_bits_uint32.js +17 -0
  32. package/src/core/binary/reverse_bits_uint32.spec.d.ts +2 -0
  33. package/src/core/binary/reverse_bits_uint32.spec.d.ts.map +1 -0
  34. package/src/core/binary/reverse_bits_uint32.spec.js +18 -0
  35. package/src/core/bvh2/bvh3/BVH.d.ts.map +1 -1
  36. package/src/core/bvh2/bvh3/BVH.js +13 -18
  37. package/src/core/bvh2/bvh3/ebvh_build_for_geometry_incremental.d.ts.map +1 -1
  38. package/src/core/bvh2/bvh3/ebvh_build_for_geometry_incremental.js +3 -1
  39. package/src/core/bvh2/bvh3/ebvh_build_for_geometry_morton.d.ts.map +1 -1
  40. package/src/core/bvh2/bvh3/ebvh_build_for_geometry_morton.js +6 -7
  41. package/src/core/bvh2/bvh3/ebvh_build_hierarchy.d.ts.map +1 -1
  42. package/src/core/bvh2/bvh3/ebvh_build_hierarchy.js +4 -0
  43. package/src/core/bvh2/bvh3/query/backtracking/bvh_backtracking_query_leaves_ray.d.ts +16 -0
  44. package/src/core/bvh2/bvh3/query/backtracking/bvh_backtracking_query_leaves_ray.d.ts.map +1 -0
  45. package/src/core/bvh2/bvh3/query/backtracking/bvh_backtracking_query_leaves_ray.js +130 -0
  46. package/src/core/bvh2/bvh3/query/cache/BVH_QUERY_CACHE_SIZE.d.ts +2 -0
  47. package/src/core/bvh2/bvh3/query/cache/BVH_QUERY_CACHE_SIZE.d.ts.map +1 -0
  48. package/src/core/bvh2/bvh3/query/cache/BVH_QUERY_CACHE_SIZE.js +1 -0
  49. package/src/core/bvh2/bvh3/query/cache/bvh_query_cache_hash_v3.d.ts +9 -0
  50. package/src/core/bvh2/bvh3/query/cache/bvh_query_cache_hash_v3.d.ts.map +1 -0
  51. package/src/core/bvh2/bvh3/query/cache/bvh_query_cache_hash_v3.js +31 -0
  52. package/src/core/collection/array/array_quick_sort_by_lookup_map.d.ts +9 -0
  53. package/src/core/collection/array/array_quick_sort_by_lookup_map.d.ts.map +1 -0
  54. package/src/core/collection/array/array_quick_sort_by_lookup_map.js +79 -0
  55. package/src/core/collection/array/array_quick_sort_by_lookup_uint.d.ts +8 -0
  56. package/src/core/collection/array/array_quick_sort_by_lookup_uint.d.ts.map +1 -0
  57. package/src/core/collection/array/{array_quick_sort_by_lookup.js → array_quick_sort_by_lookup_uint.js} +1 -1
  58. package/src/core/collection/array/array_shuffle.js +1 -1
  59. package/src/core/collection/array/array_swap_one.d.ts.map +1 -1
  60. package/src/core/collection/array/array_swap_one.js +6 -0
  61. package/src/core/events/signal/Signal.d.ts.map +1 -1
  62. package/src/core/events/signal/Signal.js +10 -10
  63. package/src/core/geom/2d/compute_triangle_area_2d.d.ts.map +1 -1
  64. package/src/core/geom/2d/compute_triangle_area_2d.js +5 -3
  65. package/src/core/geom/3d/Ray3.d.ts +6 -0
  66. package/src/core/geom/3d/Ray3.d.ts.map +1 -1
  67. package/src/core/geom/3d/Ray3.js +24 -0
  68. package/src/core/geom/3d/aabb/aabb3_compute_distance_above_plane_min.d.ts +16 -0
  69. package/src/core/geom/3d/aabb/aabb3_compute_distance_above_plane_min.d.ts.map +1 -0
  70. package/src/core/geom/3d/aabb/aabb3_compute_distance_above_plane_min.js +29 -0
  71. package/src/core/geom/3d/aabb/aabb3_from_v3_array_transformed.d.ts +2 -2
  72. package/src/core/geom/3d/aabb/aabb3_from_v3_array_transformed.d.ts.map +1 -1
  73. package/src/core/geom/3d/aabb/aabb3_from_v3_array_transformed.js +6 -6
  74. package/src/core/geom/3d/aabb/aabb3_overlaps_ray_segment.d.ts +11 -0
  75. package/src/core/geom/3d/aabb/aabb3_overlaps_ray_segment.d.ts.map +1 -0
  76. package/src/core/geom/3d/aabb/aabb3_overlaps_ray_segment.js +61 -0
  77. package/src/core/geom/3d/eulerAnglesFromMatrix.d.ts +2 -2
  78. package/src/core/geom/3d/eulerAnglesFromMatrix.d.ts.map +1 -1
  79. package/src/core/geom/3d/eulerAnglesFromMatrix.js +28 -25
  80. package/src/core/geom/3d/morton/v3_morton_encode_bounded.d.ts +2 -2
  81. package/src/core/geom/3d/morton/v3_morton_encode_bounded.d.ts.map +1 -1
  82. package/src/core/geom/3d/morton/v3_morton_encode_bounded.js +1 -1
  83. package/src/core/geom/3d/normal/octahedron/decode_octahedron_to_unit.d.ts +2 -2
  84. package/src/core/geom/3d/normal/octahedron/decode_octahedron_to_unit.d.ts.map +1 -1
  85. package/src/core/geom/3d/normal/octahedron/decode_octahedron_to_unit.js +1 -1
  86. package/src/core/geom/3d/ray/ray3_shift_origin_along_direction.js +2 -2
  87. package/src/core/geom/3d/sphere/harmonics/sh3_convolve_with_cosine_kernel.js +2 -1
  88. package/src/core/geom/3d/sphere/harmonics/sh3_vector_accumulate.d.ts +12 -0
  89. package/src/core/geom/3d/sphere/harmonics/sh3_vector_accumulate.d.ts.map +1 -0
  90. package/src/core/geom/3d/sphere/harmonics/sh3_vector_accumulate.js +40 -0
  91. package/src/core/geom/3d/sphere/harmonics/sh3_vector_accumulate.spec.d.ts +2 -0
  92. package/src/core/geom/3d/sphere/harmonics/sh3_vector_accumulate.spec.d.ts.map +1 -0
  93. package/src/core/geom/3d/sphere/harmonics/sh3_vector_accumulate.spec.js +27 -0
  94. package/src/core/geom/3d/sphere/sphere_intersects_ray.js +1 -1
  95. package/src/core/geom/3d/tetrahedra/tetrahedron_compute_circumsphere.d.ts.map +1 -1
  96. package/src/core/geom/3d/tetrahedra/tetrahedron_compute_circumsphere.js +24 -188
  97. package/src/core/geom/3d/tetrahedra/triangle/prototype.js +1 -1
  98. package/src/core/geom/3d/tetrahedra/visualize_tetrahedral_mesh.d.ts +11 -0
  99. package/src/core/geom/3d/tetrahedra/visualize_tetrahedral_mesh.d.ts.map +1 -0
  100. package/src/core/geom/3d/tetrahedra/visualize_tetrahedral_mesh.js +42 -0
  101. package/src/core/geom/3d/topology/samples/sampleFloodFill.js +2 -2
  102. package/src/core/geom/3d/topology/tm_face_area.js +2 -2
  103. package/src/core/geom/3d/triangle/{computeTriangleSurfaceArea.d.ts → compute_triangle_area_3d.d.ts} +2 -2
  104. package/src/core/geom/3d/triangle/compute_triangle_area_3d.d.ts.map +1 -0
  105. package/src/core/geom/3d/triangle/{computeTriangleSurfaceArea.js → compute_triangle_area_3d.js} +2 -4
  106. package/src/core/geom/Quaternion.d.ts.map +1 -1
  107. package/src/core/geom/Quaternion.js +13 -102
  108. package/src/core/geom/Quaternion.spec.js +2 -2
  109. package/src/core/geom/Vector1.d.ts.map +1 -1
  110. package/src/core/geom/Vector1.js +14 -6
  111. package/src/core/geom/vec/vector_copy.d.ts +10 -0
  112. package/src/core/geom/vec/vector_copy.d.ts.map +1 -0
  113. package/src/core/geom/vec/vector_copy.js +13 -0
  114. package/src/core/{math/vector_nd_dot.d.ts → geom/vec/vector_dot.d.ts} +2 -2
  115. package/src/core/geom/vec/vector_dot.d.ts.map +1 -0
  116. package/src/core/{math/vector_nd_dot.js → geom/vec/vector_dot.js} +1 -1
  117. package/src/core/{math/vector_nd_normalize.d.ts → geom/vec/vector_normalize.d.ts} +2 -2
  118. package/src/core/geom/vec/vector_normalize.d.ts.map +1 -0
  119. package/src/core/{math/vector_nd_normalize.js → geom/vec/vector_normalize.js} +1 -1
  120. package/src/core/geom/vec/vector_normalize.spec.d.ts +2 -0
  121. package/src/core/geom/vec/vector_normalize.spec.d.ts.map +1 -0
  122. package/src/core/{math/vector_nd_normalize.spec.js → geom/vec/vector_normalize.spec.js} +3 -3
  123. package/src/core/geom/vec/vector_scale_array.d.ts +11 -0
  124. package/src/core/geom/vec/vector_scale_array.d.ts.map +1 -0
  125. package/src/core/geom/vec/vector_scale_array.js +31 -0
  126. package/src/core/geom/vec3/v3_array_displace_in_direction.d.ts +14 -0
  127. package/src/core/geom/vec3/v3_array_displace_in_direction.d.ts.map +1 -0
  128. package/src/core/geom/vec3/{v3_shift_along_direction.js → v3_array_displace_in_direction.js} +1 -1
  129. package/src/core/geom/vec3/v3_displace_in_direction.d.ts +7 -7
  130. package/src/core/geom/vec3/v3_displace_in_direction.d.ts.map +1 -1
  131. package/src/core/geom/vec3/v3_displace_in_direction.js +20 -17
  132. package/src/core/geom/vec3/v3_displace_in_direction.spec.d.ts +2 -0
  133. package/src/core/geom/vec3/v3_displace_in_direction.spec.d.ts.map +1 -0
  134. package/src/core/geom/vec3/v3_displace_in_direction.spec.js +80 -0
  135. package/src/core/geom/vec3/v3_dot_array_array.js +2 -0
  136. package/src/core/geom/vec4/v4_length.d.ts +10 -0
  137. package/src/core/geom/vec4/v4_length.d.ts.map +1 -0
  138. package/src/core/geom/vec4/v4_length.js +13 -0
  139. package/src/core/geom/vec4/v4_length_sqr.js +2 -1
  140. package/src/core/graph/eigen/matrix_eigenvalues_in_place.spec.js +31 -1
  141. package/src/core/math/FLT_EPSILON_64.d.ts +6 -0
  142. package/src/core/math/FLT_EPSILON_64.d.ts.map +1 -0
  143. package/src/core/math/FLT_EPSILON_64.js +5 -0
  144. package/src/core/math/gaussian.d.ts +2 -2
  145. package/src/core/math/gaussian.js +2 -2
  146. package/src/core/math/linalg/README.md +1 -0
  147. package/src/core/math/linalg/lu_factor_linear_system.d.ts +13 -0
  148. package/src/core/math/linalg/lu_factor_linear_system.d.ts.map +1 -0
  149. package/src/core/math/linalg/lu_factor_linear_system.js +112 -0
  150. package/src/core/math/linalg/lu_solve_linear_system.d.ts +14 -0
  151. package/src/core/math/linalg/lu_solve_linear_system.d.ts.map +1 -0
  152. package/src/core/math/linalg/lu_solve_linear_system.js +51 -0
  153. package/src/core/math/linalg/solve_linear_system.d.ts +14 -0
  154. package/src/core/math/linalg/solve_linear_system.d.ts.map +1 -0
  155. package/src/core/math/linalg/solve_linear_system.js +52 -0
  156. package/src/core/math/linalg/solve_linear_system.spec.d.ts +2 -0
  157. package/src/core/math/linalg/solve_linear_system.spec.d.ts.map +1 -0
  158. package/src/core/math/linalg/solve_linear_system.spec.js +70 -0
  159. package/src/core/math/linalg/solve_linear_system_GEPP_2x2.d.ts +10 -0
  160. package/src/core/math/linalg/solve_linear_system_GEPP_2x2.d.ts.map +1 -0
  161. package/src/core/math/linalg/solve_linear_system_GEPP_2x2.js +91 -0
  162. package/src/core/math/solveQuadratic.d.ts.map +1 -1
  163. package/src/core/math/solveQuadratic.js +2 -0
  164. package/src/core/math/statistics/gaussian_amplitude.d.ts +8 -0
  165. package/src/core/math/statistics/gaussian_amplitude.d.ts.map +1 -0
  166. package/src/core/math/statistics/gaussian_amplitude.js +13 -0
  167. package/src/core/math/statistics/halton_sequence.js +3 -3
  168. package/src/core/math/statistics/halton_sequence.spec.js +18 -0
  169. package/src/core/math/statistics/hammersley_sequence.d.ts +9 -0
  170. package/src/core/math/statistics/hammersley_sequence.d.ts.map +1 -0
  171. package/src/core/math/statistics/hammersley_sequence.js +25 -0
  172. package/src/core/math/statistics/hammersley_sequence_2d.d.ts +9 -0
  173. package/src/core/math/statistics/hammersley_sequence_2d.d.ts.map +1 -0
  174. package/src/core/math/statistics/hammersley_sequence_2d.js +17 -0
  175. package/src/core/math/statistics/radical_inverse_VdC_base_2.d.ts +8 -0
  176. package/src/core/math/statistics/radical_inverse_VdC_base_2.d.ts.map +1 -0
  177. package/src/core/math/statistics/radical_inverse_VdC_base_2.js +15 -0
  178. package/src/core/math/statistics/radical_inverse_VdC_base_2.spec.d.ts +2 -0
  179. package/src/core/math/statistics/radical_inverse_VdC_base_2.spec.d.ts.map +1 -0
  180. package/src/core/math/statistics/radical_inverse_VdC_base_2.spec.js +9 -0
  181. package/src/core/model/node-graph/node/NodeInstance.d.ts.map +1 -1
  182. package/src/core/model/node-graph/node/NodeInstance.js +44 -12
  183. package/src/core/model/node-graph/node/NodeInstance.spec.d.ts +2 -0
  184. package/src/core/model/node-graph/node/NodeInstance.spec.d.ts.map +1 -0
  185. package/src/core/model/node-graph/node/NodeInstance.spec.js +82 -0
  186. package/src/core/model/node-graph/node/NodeInstancePortReference.d.ts.map +1 -1
  187. package/src/core/model/node-graph/node/NodeInstancePortReference.js +9 -0
  188. package/src/core/model/node-graph/node/NodeInstancePortReference.spec.js +20 -0
  189. package/src/core/model/node-graph/node/Port.d.ts.map +1 -1
  190. package/src/core/model/node-graph/node/Port.js +5 -12
  191. package/src/core/model/node-graph/node/PortDirection.d.ts.map +1 -1
  192. package/src/core/model/node-graph/node/PortDirection.js +7 -1
  193. package/src/engine/asset/CORS/CrossOriginConfig.d.ts.map +1 -1
  194. package/src/engine/asset/CORS/CrossOriginConfig.js +6 -4
  195. package/src/engine/graphics/geometry/computeMeshSurfaceArea.js +2 -2
  196. package/src/engine/graphics/impostors/octahedral/grid/OctahedralUvEncoder.d.ts.map +1 -1
  197. package/src/engine/graphics/impostors/octahedral/grid/OctahedralUvEncoder.js +33 -3
  198. package/src/engine/graphics/impostors/octahedral/prototypeBaker.js +9 -7
  199. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_INFERNO.d.ts +6 -0
  200. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_INFERNO.d.ts.map +1 -0
  201. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_INFERNO.js +18 -0
  202. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_TURBO.d.ts +6 -0
  203. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_TURBO.d.ts.map +1 -0
  204. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_TURBO.js +266 -0
  205. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_VIRIDIS.d.ts +7 -0
  206. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_VIRIDIS.d.ts.map +1 -0
  207. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_VIRIDIS.js +19 -0
  208. package/src/engine/graphics/sh3/SH3VisualisationMaterial.js +9 -9
  209. package/src/engine/graphics/sh3/fromCubeRenderTarget.d.ts.map +1 -1
  210. package/src/engine/graphics/sh3/fromCubeRenderTarget.js +14 -17
  211. package/src/engine/graphics/sh3/gi/material/MaterialTransformer.d.ts.map +1 -1
  212. package/src/engine/graphics/sh3/gi/material/MaterialTransformer.js +0 -2
  213. package/src/engine/graphics/sh3/lpv/LightProbeVolume.d.ts +7 -29
  214. package/src/engine/graphics/sh3/lpv/LightProbeVolume.d.ts.map +1 -1
  215. package/src/engine/graphics/sh3/lpv/LightProbeVolume.js +52 -164
  216. package/src/engine/graphics/sh3/lpv/LightProbeVolumeBaker.d.ts +13 -0
  217. package/src/engine/graphics/sh3/lpv/LightProbeVolumeBaker.d.ts.map +1 -0
  218. package/src/engine/graphics/sh3/lpv/LightProbeVolumeBaker.js +63 -0
  219. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.d.ts +1 -0
  220. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.d.ts.map +1 -1
  221. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.js +33 -16
  222. package/src/engine/graphics/sh3/lpv/build_probes_for_scene.d.ts.map +1 -1
  223. package/src/engine/graphics/sh3/lpv/build_probes_for_scene.js +4 -29
  224. package/src/engine/graphics/sh3/lpv/{LightProbeVolumeSerializationAdapter.d.ts → serialization/LightProbeVolumeSerializationAdapter.d.ts} +2 -2
  225. package/src/engine/graphics/sh3/lpv/serialization/LightProbeVolumeSerializationAdapter.d.ts.map +1 -0
  226. package/src/engine/graphics/sh3/lpv/{LightProbeVolumeSerializationAdapter.js → serialization/LightProbeVolumeSerializationAdapter.js} +2 -2
  227. package/src/engine/graphics/sh3/lpv/sh3_bake_depth.d.ts +13 -0
  228. package/src/engine/graphics/sh3/lpv/sh3_bake_depth.d.ts.map +1 -0
  229. package/src/engine/graphics/sh3/lpv/sh3_bake_depth.js +71 -0
  230. package/src/engine/graphics/sh3/lpv/worker/lpv_build_worker.d.ts +2 -0
  231. package/src/engine/graphics/sh3/lpv/worker/lpv_build_worker.d.ts.map +1 -0
  232. package/src/engine/graphics/sh3/lpv/worker/lpv_build_worker.js +38 -0
  233. package/src/engine/graphics/sh3/path_tracer/BufferedGeometryBVH.d.ts +1 -7
  234. package/src/engine/graphics/sh3/path_tracer/BufferedGeometryBVH.d.ts.map +1 -1
  235. package/src/engine/graphics/sh3/path_tracer/BufferedGeometryBVH.js +58 -147
  236. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts +13 -9
  237. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts.map +1 -1
  238. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.js +74 -54
  239. package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts +23 -5
  240. package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts.map +1 -1
  241. package/src/engine/graphics/sh3/path_tracer/PathTracedScene.js +211 -59
  242. package/src/engine/graphics/sh3/path_tracer/PathTracer.js +1 -1
  243. package/src/engine/graphics/sh3/path_tracer/build_bvh_nodes_distances_along_ray.d.ts +15 -0
  244. package/src/engine/graphics/sh3/path_tracer/build_bvh_nodes_distances_along_ray.d.ts.map +1 -0
  245. package/src/engine/graphics/sh3/path_tracer/build_bvh_nodes_distances_along_ray.js +46 -0
  246. package/src/engine/graphics/sh3/path_tracer/build_bvh_nodes_distances_sqr_to_point.d.ts +14 -0
  247. package/src/engine/graphics/sh3/path_tracer/build_bvh_nodes_distances_sqr_to_point.d.ts.map +1 -0
  248. package/src/engine/graphics/sh3/path_tracer/build_bvh_nodes_distances_sqr_to_point.js +43 -0
  249. package/src/engine/graphics/sh3/path_tracer/geometry/compute_triangle_group_aabb3.d.ts.map +1 -0
  250. package/src/engine/graphics/sh3/path_tracer/{compute_triangle_group_aabb3.js → geometry/compute_triangle_group_aabb3.js} +2 -2
  251. package/src/engine/graphics/sh3/path_tracer/geometry/construct_ray_hit_from_geometry.d.ts +12 -0
  252. package/src/engine/graphics/sh3/path_tracer/geometry/construct_ray_hit_from_geometry.d.ts.map +1 -0
  253. package/src/engine/graphics/sh3/path_tracer/geometry/construct_ray_hit_from_geometry.js +72 -0
  254. package/src/engine/graphics/sh3/path_tracer/geometry/sample_triangle_attribute.d.ts.map +1 -0
  255. package/src/engine/graphics/sh3/path_tracer/geometry/sort_triangles_by_distance_to_point.d.ts +13 -0
  256. package/src/engine/graphics/sh3/path_tracer/geometry/sort_triangles_by_distance_to_point.d.ts.map +1 -0
  257. package/src/engine/graphics/sh3/path_tracer/geometry/sort_triangles_by_distance_to_point.js +48 -0
  258. package/src/engine/graphics/sh3/path_tracer/material/StandardMaterial.d.ts +1 -0
  259. package/src/engine/graphics/sh3/path_tracer/material/StandardMaterial.d.ts.map +1 -1
  260. package/src/engine/graphics/sh3/path_tracer/material/StandardMaterial.js +4 -0
  261. package/src/engine/graphics/sh3/path_tracer/material/StandardTexture.d.ts +1 -0
  262. package/src/engine/graphics/sh3/path_tracer/material/StandardTexture.d.ts.map +1 -1
  263. package/src/engine/graphics/sh3/path_tracer/material/StandardTexture.js +8 -5
  264. package/src/engine/graphics/sh3/path_tracer/prototypePathTracer.js +24 -18
  265. package/src/engine/graphics/sh3/path_tracer/ray_hit_apply_transform.d.ts +2 -2
  266. package/src/engine/graphics/sh3/path_tracer/ray_hit_apply_transform.d.ts.map +1 -1
  267. package/src/engine/graphics/sh3/path_tracer/ray_hit_apply_transform.js +1 -1
  268. package/src/engine/graphics/sh3/path_tracer/sampling/getBiasedNormalSample.d.ts.map +1 -0
  269. package/src/engine/graphics/sh3/path_tracer/{getBiasedNormalSample.js → sampling/getBiasedNormalSample.js} +1 -1
  270. package/src/engine/graphics/sh3/path_tracer/sampling/random_in_hemisphere.d.ts.map +1 -0
  271. package/src/engine/graphics/sh3/path_tracer/{random_in_hemisphere.js → sampling/random_in_hemisphere.js} +1 -1
  272. package/src/engine/graphics/sh3/path_tracer/sort_bvh_nodes_by_distance_to_point.d.ts +12 -0
  273. package/src/engine/graphics/sh3/path_tracer/sort_bvh_nodes_by_distance_to_point.d.ts.map +1 -0
  274. package/src/engine/graphics/sh3/path_tracer/sort_bvh_nodes_by_distance_to_point.js +46 -0
  275. package/src/engine/graphics/sh3/path_tracer/texture/sample_material.js +2 -2
  276. package/src/engine/graphics/sh3/path_tracer/three_object_to_path_traced_scene.d.ts +7 -0
  277. package/src/engine/graphics/sh3/path_tracer/three_object_to_path_traced_scene.d.ts.map +1 -0
  278. package/src/engine/graphics/sh3/path_tracer/three_object_to_path_traced_scene.js +69 -0
  279. package/src/engine/graphics/sh3/prototypeSH3Probe.js +45 -7
  280. package/src/engine/graphics/sh3/visualise_spherical_harmonic_sphere.d.ts +11 -1
  281. package/src/engine/graphics/sh3/visualise_spherical_harmonic_sphere.d.ts.map +1 -1
  282. package/src/engine/graphics/sh3/visualise_spherical_harmonic_sphere.js +33 -16
  283. package/src/engine/graphics/texture/formatToChannelCount.d.ts.map +1 -1
  284. package/src/engine/graphics/texture/formatToChannelCount.js +14 -1
  285. package/src/engine/graphics/three/three_object_replace_materials.d.ts +7 -0
  286. package/src/engine/graphics/three/three_object_replace_materials.d.ts.map +1 -0
  287. package/src/engine/graphics/three/three_object_replace_materials.js +13 -0
  288. package/src/engine/sound/material/detector/terrain/TerrainSoundMaterialSurfaceDetector.d.ts.map +1 -1
  289. package/src/engine/sound/material/detector/terrain/TerrainSoundMaterialSurfaceDetector.js +6 -6
  290. package/src/core/collection/array/array_quick_sort_by_lookup.d.ts +0 -8
  291. package/src/core/collection/array/array_quick_sort_by_lookup.d.ts.map +0 -1
  292. package/src/core/geom/3d/triangle/computeTriangleSurfaceArea.d.ts.map +0 -1
  293. package/src/core/geom/vec3/v3_shift_along_direction.d.ts +0 -14
  294. package/src/core/geom/vec3/v3_shift_along_direction.d.ts.map +0 -1
  295. package/src/core/math/vector_nd_dot.d.ts.map +0 -1
  296. package/src/core/math/vector_nd_normalize.d.ts.map +0 -1
  297. package/src/core/math/vector_nd_normalize.spec.d.ts +0 -2
  298. package/src/core/math/vector_nd_normalize.spec.d.ts.map +0 -1
  299. package/src/engine/graphics/filter/FlipArrayViaCanvas.d.ts +0 -2
  300. package/src/engine/graphics/filter/FlipArrayViaCanvas.d.ts.map +0 -1
  301. package/src/engine/graphics/filter/FlipArrayViaCanvas.js +0 -13
  302. package/src/engine/graphics/sh3/lpv/LightProbeVolumeSerializationAdapter.d.ts.map +0 -1
  303. package/src/engine/graphics/sh3/path_tracer/compute_triangle_group_aabb3.d.ts.map +0 -1
  304. package/src/engine/graphics/sh3/path_tracer/getBiasedNormalSample.d.ts.map +0 -1
  305. package/src/engine/graphics/sh3/path_tracer/random_in_hemisphere.d.ts.map +0 -1
  306. package/src/engine/graphics/sh3/path_tracer/sample_triangle_attribute.d.ts.map +0 -1
  307. /package/src/engine/graphics/sh3/path_tracer/{compute_triangle_group_aabb3.d.ts → geometry/compute_triangle_group_aabb3.d.ts} +0 -0
  308. /package/src/engine/graphics/sh3/path_tracer/{sample_triangle_attribute.d.ts → geometry/sample_triangle_attribute.d.ts} +0 -0
  309. /package/src/engine/graphics/sh3/path_tracer/{sample_triangle_attribute.js → geometry/sample_triangle_attribute.js} +0 -0
  310. /package/src/engine/graphics/sh3/path_tracer/{getBiasedNormalSample.d.ts → sampling/getBiasedNormalSample.d.ts} +0 -0
  311. /package/src/engine/graphics/sh3/path_tracer/{random_in_hemisphere.d.ts → sampling/random_in_hemisphere.d.ts} +0 -0
@@ -65,9 +65,9 @@ async function main(engine) {
65
65
  // console.profile('bake');
66
66
  const id = baker.bake({
67
67
  objects,
68
- frames: 24,
69
- resolution: 2048,
70
- type: ImpostorCaptureType.Hemisphere
68
+ frames: 12,
69
+ resolution: 1024,
70
+ type: ImpostorCaptureType.FullSphere
71
71
  });
72
72
  // console.profileEnd('bake');
73
73
 
@@ -76,15 +76,17 @@ async function main(engine) {
76
76
  const ctrl = makeImpostorAtlasPreview({
77
77
  impostor: id,
78
78
  renderer,
79
- mode: 'alpha'
79
+ mode: 'normal'
80
80
  });
81
81
 
82
+ ctrl.scale.setScalar(0.5);
83
+
82
84
  new Entity()
83
85
  .add(ViewportPosition.fromJSON({
84
86
  offset: new Vector2(0, 0)
85
87
  }))
86
88
  .add(GUIElement.fromView(ctrl))
87
- // .build(ecd);
89
+ .build(ecd);
88
90
 
89
91
  // build out preview scene with impostor and the original
90
92
  const t0 = Transform.fromJSON({
@@ -98,8 +100,8 @@ async function main(engine) {
98
100
  const entity_impostor = make_impostor_entity(id, t0);
99
101
  entity_impostor.build(ecd);
100
102
 
101
- // const entity_impostor_wireframe = make_impostor_wireframe(id, t0);
102
- // entity_impostor_wireframe.build(ecd);
103
+ const entity_impostor_wireframe = make_impostor_wireframe(id, t0);
104
+ entity_impostor_wireframe.build(ecd);
103
105
 
104
106
  const t1 = new Transform();
105
107
  t1.copy(t0);
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 11 value approximation of INFERNO colormap
3
+ */
4
+ export const RGB_LUT_INFERNO: ParameterLookupTable;
5
+ import { ParameterLookupTable } from "../ParameterLookupTable.js";
6
+ //# sourceMappingURL=RGB_LUT_INFERNO.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RGB_LUT_INFERNO.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_INFERNO.js"],"names":[],"mappings":"AAEA;;GAEG;AACH,mDAYG;qCAjBkC,4BAA4B"}
@@ -0,0 +1,18 @@
1
+ import { ParameterLookupTable } from "../ParameterLookupTable.js";
2
+
3
+ /**
4
+ * 11 value approximation of INFERNO colormap
5
+ */
6
+ export const RGB_LUT_INFERNO = ParameterLookupTable.from(3, [
7
+ 0, 0, 3,
8
+ 22, 11, 57,
9
+ 65, 9, 103,
10
+ 106, 23, 110,
11
+ 147, 37, 103,
12
+ 186, 54, 85,
13
+ 220, 80, 57,
14
+ 242, 117, 26,
15
+ 251, 164, 10,
16
+ 246, 213, 66,
17
+ 252, 254, 164
18
+ ]);
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @see https://blog.research.google/2019/08/turbo-improved-rainbow-colormap-for.html
3
+ */
4
+ export const RGB_LUT_TURBO: ParameterLookupTable;
5
+ import { ParameterLookupTable } from "../ParameterLookupTable.js";
6
+ //# sourceMappingURL=RGB_LUT_TURBO.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RGB_LUT_TURBO.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_TURBO.js"],"names":[],"mappings":"AAEA;;GAEG;AACH,iDAoQE;qCAzQmC,4BAA4B"}
@@ -0,0 +1,266 @@
1
+ import { ParameterLookupTable } from "../ParameterLookupTable.js";
2
+
3
+ /**
4
+ * @see https://blog.research.google/2019/08/turbo-improved-rainbow-colormap-for.html
5
+ */
6
+ export const RGB_LUT_TURBO = ParameterLookupTable.from(
7
+ 3,
8
+ [
9
+ 48, 18, 59,
10
+ 50, 21, 67,
11
+ 51, 24, 74,
12
+ 52, 27, 81,
13
+ 53, 30, 88,
14
+ 54, 33, 95,
15
+ 55, 36, 102,
16
+ 56, 39, 109,
17
+ 57, 42, 115,
18
+ 58, 45, 121,
19
+ 59, 47, 128,
20
+ 60, 50, 134,
21
+ 61, 53, 139,
22
+ 62, 56, 145,
23
+ 63, 59, 151,
24
+ 63, 62, 156,
25
+ 64, 64, 162,
26
+ 65, 67, 167,
27
+ 65, 70, 172,
28
+ 66, 73, 177,
29
+ 66, 75, 181,
30
+ 67, 78, 186,
31
+ 68, 81, 191,
32
+ 68, 84, 195,
33
+ 68, 86, 199,
34
+ 69, 89, 203,
35
+ 69, 92, 207,
36
+ 69, 94, 211,
37
+ 70, 97, 214,
38
+ 70, 100, 218,
39
+ 70, 102, 221,
40
+ 70, 105, 224,
41
+ 70, 107, 227,
42
+ 71, 110, 230,
43
+ 71, 113, 233,
44
+ 71, 115, 235,
45
+ 71, 118, 238,
46
+ 71, 120, 240,
47
+ 71, 123, 242,
48
+ 70, 125, 244,
49
+ 70, 128, 246,
50
+ 70, 130, 248,
51
+ 70, 133, 250,
52
+ 70, 135, 251,
53
+ 69, 138, 252,
54
+ 69, 140, 253,
55
+ 68, 143, 254,
56
+ 67, 145, 254,
57
+ 66, 148, 255,
58
+ 65, 150, 255,
59
+ 64, 153, 255,
60
+ 62, 155, 254,
61
+ 61, 158, 254,
62
+ 59, 160, 253,
63
+ 58, 163, 252,
64
+ 56, 165, 251,
65
+ 55, 168, 250,
66
+ 53, 171, 248,
67
+ 51, 173, 247,
68
+ 49, 175, 245,
69
+ 47, 178, 244,
70
+ 46, 180, 242,
71
+ 44, 183, 240,
72
+ 42, 185, 238,
73
+ 40, 188, 235,
74
+ 39, 190, 233,
75
+ 37, 192, 231,
76
+ 35, 195, 228,
77
+ 34, 197, 226,
78
+ 32, 199, 223,
79
+ 31, 201, 221,
80
+ 30, 203, 218,
81
+ 28, 205, 216,
82
+ 27, 208, 213,
83
+ 26, 210, 210,
84
+ 26, 212, 208,
85
+ 25, 213, 205,
86
+ 24, 215, 202,
87
+ 24, 217, 200,
88
+ 24, 219, 197,
89
+ 24, 221, 194,
90
+ 24, 222, 192,
91
+ 24, 224, 189,
92
+ 25, 226, 187,
93
+ 25, 227, 185,
94
+ 26, 228, 182,
95
+ 28, 230, 180,
96
+ 29, 231, 178,
97
+ 31, 233, 175,
98
+ 32, 234, 172,
99
+ 34, 235, 170,
100
+ 37, 236, 167,
101
+ 39, 238, 164,
102
+ 42, 239, 161,
103
+ 44, 240, 158,
104
+ 47, 241, 155,
105
+ 50, 242, 152,
106
+ 53, 243, 148,
107
+ 56, 244, 145,
108
+ 60, 245, 142,
109
+ 63, 246, 138,
110
+ 67, 247, 135,
111
+ 70, 248, 132,
112
+ 74, 248, 128,
113
+ 78, 249, 125,
114
+ 82, 250, 122,
115
+ 85, 250, 118,
116
+ 89, 251, 115,
117
+ 93, 252, 111,
118
+ 97, 252, 108,
119
+ 101, 253, 105,
120
+ 105, 253, 102,
121
+ 109, 254, 98,
122
+ 113, 254, 95,
123
+ 117, 254, 92,
124
+ 121, 254, 89,
125
+ 125, 255, 86,
126
+ 128, 255, 83,
127
+ 132, 255, 81,
128
+ 136, 255, 78,
129
+ 139, 255, 75,
130
+ 143, 255, 73,
131
+ 146, 255, 71,
132
+ 150, 254, 68,
133
+ 153, 254, 66,
134
+ 156, 254, 64,
135
+ 159, 253, 63,
136
+ 161, 253, 61,
137
+ 164, 252, 60,
138
+ 167, 252, 58,
139
+ 169, 251, 57,
140
+ 172, 251, 56,
141
+ 175, 250, 55,
142
+ 177, 249, 54,
143
+ 180, 248, 54,
144
+ 183, 247, 53,
145
+ 185, 246, 53,
146
+ 188, 245, 52,
147
+ 190, 244, 52,
148
+ 193, 243, 52,
149
+ 195, 241, 52,
150
+ 198, 240, 52,
151
+ 200, 239, 52,
152
+ 203, 237, 52,
153
+ 205, 236, 52,
154
+ 208, 234, 52,
155
+ 210, 233, 53,
156
+ 212, 231, 53,
157
+ 215, 229, 53,
158
+ 217, 228, 54,
159
+ 219, 226, 54,
160
+ 221, 224, 55,
161
+ 223, 223, 55,
162
+ 225, 221, 55,
163
+ 227, 219, 56,
164
+ 229, 217, 56,
165
+ 231, 215, 57,
166
+ 233, 213, 57,
167
+ 235, 211, 57,
168
+ 236, 209, 58,
169
+ 238, 207, 58,
170
+ 239, 205, 58,
171
+ 241, 203, 58,
172
+ 242, 201, 58,
173
+ 244, 199, 58,
174
+ 245, 197, 58,
175
+ 246, 195, 58,
176
+ 247, 193, 58,
177
+ 248, 190, 57,
178
+ 249, 188, 57,
179
+ 250, 186, 57,
180
+ 251, 184, 56,
181
+ 251, 182, 55,
182
+ 252, 179, 54,
183
+ 252, 177, 54,
184
+ 253, 174, 53,
185
+ 253, 172, 52,
186
+ 254, 169, 51,
187
+ 254, 167, 50,
188
+ 254, 164, 49,
189
+ 254, 161, 48,
190
+ 254, 158, 47,
191
+ 254, 155, 45,
192
+ 254, 153, 44,
193
+ 254, 150, 43,
194
+ 254, 147, 42,
195
+ 254, 144, 41,
196
+ 253, 141, 39,
197
+ 253, 138, 38,
198
+ 252, 135, 37,
199
+ 252, 132, 35,
200
+ 251, 129, 34,
201
+ 251, 126, 33,
202
+ 250, 123, 31,
203
+ 249, 120, 30,
204
+ 249, 117, 29,
205
+ 248, 114, 28,
206
+ 247, 111, 26,
207
+ 246, 108, 25,
208
+ 245, 105, 24,
209
+ 244, 102, 23,
210
+ 243, 99, 21,
211
+ 242, 96, 20,
212
+ 241, 93, 19,
213
+ 240, 91, 18,
214
+ 239, 88, 17,
215
+ 237, 85, 16,
216
+ 236, 83, 15,
217
+ 235, 80, 14,
218
+ 234, 78, 13,
219
+ 232, 75, 12,
220
+ 231, 73, 12,
221
+ 229, 71, 11,
222
+ 228, 69, 10,
223
+ 226, 67, 10,
224
+ 225, 65, 9,
225
+ 223, 63, 8,
226
+ 221, 61, 8,
227
+ 220, 59, 7,
228
+ 218, 57, 7,
229
+ 216, 55, 6,
230
+ 214, 53, 6,
231
+ 212, 51, 5,
232
+ 210, 49, 5,
233
+ 208, 47, 5,
234
+ 206, 45, 4,
235
+ 204, 43, 4,
236
+ 202, 42, 4,
237
+ 200, 40, 3,
238
+ 197, 38, 3,
239
+ 195, 37, 3,
240
+ 193, 35, 2,
241
+ 190, 33, 2,
242
+ 188, 32, 2,
243
+ 185, 30, 2,
244
+ 183, 29, 2,
245
+ 180, 27, 1,
246
+ 178, 26, 1,
247
+ 175, 24, 1,
248
+ 172, 23, 1,
249
+ 169, 22, 1,
250
+ 167, 20, 1,
251
+ 164, 19, 1,
252
+ 161, 18, 1,
253
+ 158, 16, 1,
254
+ 155, 15, 1,
255
+ 152, 14, 1,
256
+ 149, 13, 1,
257
+ 146, 11, 1,
258
+ 142, 10, 1,
259
+ 139, 9, 2,
260
+ 136, 8, 2,
261
+ 133, 7, 2,
262
+ 129, 6, 2,
263
+ 126, 5, 2,
264
+ 122, 4, 3
265
+ ]
266
+ );
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 11 value approximation of Viridis color map
3
+ * @see https://cran.r-project.org/web/packages/viridis/vignettes/intro-to-viridis.html#the-color-scales
4
+ */
5
+ export const RGB_LUT_VIRIDIS: ParameterLookupTable;
6
+ import { ParameterLookupTable } from "../ParameterLookupTable.js";
7
+ //# sourceMappingURL=RGB_LUT_VIRIDIS.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RGB_LUT_VIRIDIS.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_VIRIDIS.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,mDAYG;qCAlBkC,4BAA4B"}
@@ -0,0 +1,19 @@
1
+ import { ParameterLookupTable } from "../ParameterLookupTable.js";
2
+
3
+ /**
4
+ * 11 value approximation of Viridis color map
5
+ * @see https://cran.r-project.org/web/packages/viridis/vignettes/intro-to-viridis.html#the-color-scales
6
+ */
7
+ export const RGB_LUT_VIRIDIS = ParameterLookupTable.from(3, [
8
+ 68, 1, 84,
9
+ 72, 35, 116,
10
+ 64, 3, 135,
11
+ 52, 94, 141,
12
+ 41, 120, 142,
13
+ 32, 143, 140,
14
+ 34, 167, 132,
15
+ 66, 190, 113,
16
+ 121, 209, 81,
17
+ 186, 222, 39,
18
+ 253, 231, 36
19
+ ]);
@@ -26,19 +26,19 @@ vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {
26
26
  float x = normal.x, y = normal.y, z = normal.z;
27
27
 
28
28
  // band 0
29
- vec3 result = shCoefficients[ 0 ] * 0.886227;
29
+ vec3 result = shCoefficients[ 0 ] * 0.8862269254527579;
30
30
 
31
31
  // band 1
32
- result -= shCoefficients[ 1 ] * 2.0 * 0.511664 * y;
33
- result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;
34
- result -= shCoefficients[ 3 ] * 2.0 * 0.511664 * x;
32
+ result -= shCoefficients[ 1 ] * 1.0233267079464885 * y;
33
+ result += shCoefficients[ 2 ] * 1.0233267079464885 * z;
34
+ result -= shCoefficients[ 3 ] * 1.0233267079464885 * x;
35
35
 
36
36
  // band 2
37
- result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;
38
- result -= shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;
39
- result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );
40
- result -= shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;
41
- result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );
37
+ result += shCoefficients[ 4 ] * 0.8580855308097834 * x * y;
38
+ result -= shCoefficients[ 5 ] * 0.8580855308097834 * y * z;
39
+ result += shCoefficients[ 6 ] * ( 0.7431238683011272 * z * z - 0.24770795610037571 );
40
+ result -= shCoefficients[ 7 ] * 0.8580855308097834 * x * z;
41
+ result += shCoefficients[ 8 ] * 0.4290427654048917 * ( x * x - y * y );
42
42
 
43
43
  return result;
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fromCubeRenderTarget.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics/sh3/fromCubeRenderTarget.js"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,2CALW,UAAU,YACV,MAAM,aAAa,oBACnB,MAAM,qBAAqB,GAC1B,YAAY,CAuIvB"}
1
+ {"version":3,"file":"fromCubeRenderTarget.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics/sh3/fromCubeRenderTarget.js"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,2CALW,UAAU,YACV,MAAM,aAAa,oBACnB,MAAM,qBAAqB,GAC1B,YAAY,CAgIvB"}
@@ -1,7 +1,11 @@
1
1
  import { sh3_basis_at } from "../../../core/geom/3d/sphere/harmonics/sh3_basis_at.js";
2
2
  import { sh3_dering_optimize_positive } from "../../../core/geom/3d/sphere/harmonics/sh3_dering_optimize_positive.js";
3
+ import { sh3_vector_accumulate } from "../../../core/geom/3d/sphere/harmonics/sh3_vector_accumulate.js";
4
+ import { vector_scale_array } from "../../../core/geom/vec/vector_scale_array.js";
3
5
  import { v3_length_sqr } from "../../../core/geom/vec3/v3_length_sqr.js";
4
6
 
7
+ const scratch_color = new Float32Array(3);
8
+
5
9
  /**
6
10
  *
7
11
  * @param {Uint8Array} data
@@ -110,20 +114,17 @@ export function fromCubeRenderTarget(
110
114
  // 0.003921 constant value is 1/255, a conversion value from UINT8 to normalized float
111
115
  const weight_conv = weight * 0.00392156862745098;
112
116
 
113
- const color_r = data[i] * weight_conv;
114
- const color_g = data[i + 1] * weight_conv;
115
- const color_b = data[i + 2] * weight_conv;
117
+ scratch_color[0] = data[i] * weight_conv;
118
+ scratch_color[1] = data[i + 1] * weight_conv;
119
+ scratch_color[2] = data[i + 2] * weight_conv;
116
120
 
117
121
  // accumulate
118
- for (let j = 0; j < 9; j++) {
119
-
120
- const j3 = j * 3;
121
-
122
- coefficients[j3] += sh_basis[j] * color_r;
123
- coefficients[j3 + 1] += sh_basis[j] * color_g;
124
- coefficients[j3 + 2] += sh_basis[j] * color_b;
125
-
126
- }
122
+ sh3_vector_accumulate(
123
+ coefficients, 0,
124
+ sh_basis, 0,
125
+ scratch_color, 0,
126
+ 3
127
+ );
127
128
 
128
129
  }
129
130
 
@@ -132,11 +133,7 @@ export function fromCubeRenderTarget(
132
133
  // normalize
133
134
  const norm = (4 * Math.PI) / total_weight;
134
135
 
135
- for (let j = 0; j < 27; j++) {
136
-
137
- coefficients[j] *= norm;
138
-
139
- }
136
+ vector_scale_array(coefficients, 0, coefficients, 0, 27, norm);
140
137
 
141
138
  sh3_dering_optimize_positive(coefficients, 0, coefficients, 0, 3);
142
139
 
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialTransformer.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/sh3/gi/material/MaterialTransformer.js"],"names":[],"mappings":"AA0CA;IAsHI;;;OAGG;IACH,0CAMC;IAlBD;;;OAGG;IACH,2BAEC;IAdD;;;OAGG;IACH,wBAEC;IAsBD,sBAIC;IAED,sBA2CC;IAED,eAuCC;IAED,4BA2BC;;CACJ;4CA9R2C,0DAA0D"}
1
+ {"version":3,"file":"MaterialTransformer.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/sh3/gi/material/MaterialTransformer.js"],"names":[],"mappings":"AA0CA;IAoHI;;;OAGG;IACH,0CAMC;IAlBD;;;OAGG;IACH,2BAEC;IAdD;;;OAGG;IACH,wBAEC;IAsBD,sBAIC;IAED,sBA2CC;IAED,eAuCC;IAED,4BA2BC;;CACJ;4CA5R2C,0DAA0D"}
@@ -134,8 +134,6 @@ export class MaterialTransformer extends AbstractMaterialTransformer {
134
134
  #onBeforeCompile = (shader) => {
135
135
  Object.assign(shader.uniforms, this.#uniforms);
136
136
 
137
- console.log(this.#uniforms)
138
-
139
137
  shader.vertexShader = build_vertex_shader(shader.vertexShader);
140
138
  shader.fragmentShader = build_fragment_shader(shader.fragmentShader);
141
139
  };
@@ -1,17 +1,13 @@
1
1
  export class LightProbeVolume {
2
2
  get version(): number;
3
- __positions: any[];
4
- __mesh: TetrahedralMesh;
5
- __probe_data: any[];
6
- __length: number;
7
3
  clear(): void;
8
4
  /**
9
5
  *
10
6
  * @return {TetrahedralMesh}
11
7
  */
12
8
  get mesh(): TetrahedralMesh;
13
- get points(): any[];
14
- get harmonics(): any[];
9
+ get points(): number[];
10
+ get harmonics(): number[];
15
11
  set count(arg: number);
16
12
  get count(): number;
17
13
  /**
@@ -27,39 +23,21 @@ export class LightProbeVolume {
27
23
  * @param {number[]} source
28
24
  * @param {number} source_offset
29
25
  */
30
- white_probe(index: number, source: number[], source_offset: number): void;
26
+ write_probe(index: number, source: number[], source_offset: number): void;
31
27
  /**
32
28
  * Build tetrahedral mesh
33
29
  */
34
30
  build_mesh(): void;
35
- /**
36
- * Bake light probes
37
- * @returns {TaskGroup}
38
- * @param {EntityComponentDataset} ecd
39
- */
40
- bake(ecd: EntityComponentDataset): TaskGroup;
41
31
  /**
42
32
  *
43
- * @param {EntityComponentDataset} ecd
44
33
  * @param {number} size
45
34
  * @param {boolean} shadow
35
+ * @returns {EntityNode}
46
36
  */
47
- visualize_probes({ ecd, size, shadow }: EntityComponentDataset): void;
48
- /**
49
- *
50
- * @param {EntityComponentDataset} ecd
51
- * @param {string|number} color CSS color definition
52
- * @param {number} opacity
53
- */
54
- visualize_mesh({ ecd, color, opacity }: EntityComponentDataset): void;
55
- /**
56
- *
57
- * @param {EntityComponentDataset} ecd
58
- * @returns {TaskGroup}
59
- */
60
- build(ecd: EntityComponentDataset): TaskGroup;
37
+ visualize_probes({ size, shadow }: number): EntityNode;
38
+ incrementVersion(): void;
61
39
  #private;
62
40
  }
63
41
  import { TetrahedralMesh } from "../../../../core/geom/3d/tetrahedra/TetrahedralMesh.js";
64
- import TaskGroup from "../../../../core/process/task/TaskGroup.js";
42
+ import { EntityNode } from "../../../ecs/parent/EntityNode.js";
65
43
  //# sourceMappingURL=LightProbeVolume.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LightProbeVolume.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/sh3/lpv/LightProbeVolume.js"],"names":[],"mappings":"AA4DA;IAGI,sBAEC;IAGG,mBAAqB;IAErB,wBAAmC;IAEnC,oBAAsB;IAEtB,iBAAiB;IAGrB,cAQC;IAED;;;OAGG;IACH,4BAEC;IAED,oBAEC;IAED,uBAEC;IAMD,uBAEC;IAND,oBAEC;IAMD;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,KACN,MAAM,QAchB;IAED;;;;;OAKG;IACH,mBAJW,MAAM,UACN,MAAM,EAAE,iBACR,MAAM,QAIhB;IAED;;OAEG;IACH,mBAaC;IAGD;;;;OAIG;IACH,mCAHa,SAAS,CA8CrB;IAED;;;;;OAKG;IACH,sEAWC;IAED;;;;;OAKG;IACH,sEAkBC;IAED;;;;OAIG;IACH,oCAFa,SAAS,CAKrB;;CACJ;gCAhQ+B,wDAAwD;sBAClE,4CAA4C"}
1
+ {"version":3,"file":"LightProbeVolume.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/sh3/lpv/LightProbeVolume.js"],"names":[],"mappings":"AAUA;IAmBI,sBAEC;IAED,cAQC;IAED;;;OAGG;IACH,4BAEC;IAED,uBAEC;IAED,0BAEC;IAMD,uBAEC;IAND,oBAEC;IAMD;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,KACN,MAAM,QAgBhB;IAED;;;;;OAKG;IACH,mBAJW,MAAM,UACN,MAAM,EAAE,iBACR,MAAM,QAIhB;IAED;;OAEG;IACH,mBAaC;IAGD;;;;;OAKG;IACH,mCAJW,MAAM,GAEJ,UAAU,CAsBtB;IAGD,yBAEC;;CAEJ;gCAnJ+B,wDAAwD;2BAC7D,mCAAmC"}