@woosh/meep-engine 2.107.0 → 2.108.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.
- package/build/bundle-worker-image-decoder.js +1 -1
- package/build/meep.cjs +255 -172
- package/build/meep.min.js +1 -1
- package/build/meep.module.js +255 -173
- package/editor/tools/paint/TerrainHeightPaintTool.js +5 -5
- package/package.json +1 -1
- package/src/core/binary/float_to_uint8.d.ts +7 -0
- package/src/core/binary/float_to_uint8.d.ts.map +1 -0
- package/src/core/binary/{float2uint8.js → float_to_uint8.js} +1 -1
- package/src/core/binary/int32_to_binary_string.d.ts +3 -2
- package/src/core/binary/int32_to_binary_string.d.ts.map +1 -1
- package/src/core/binary/int32_to_binary_string.js +18 -14
- package/src/core/binary/split_by_3.spec.d.ts +2 -0
- package/src/core/binary/split_by_3.spec.d.ts.map +1 -0
- package/src/core/binary/split_by_3.spec.js +22 -0
- package/src/core/binary/to_half_float_uint16.d.ts.map +1 -1
- package/src/core/binary/to_half_float_uint16.js +7 -5
- package/src/core/binary/uint8_to_float.d.ts +7 -0
- package/src/core/binary/uint8_to_float.d.ts.map +1 -0
- package/src/core/binary/{uint82float.js → uint8_to_float.js} +1 -1
- package/src/core/binary/uint8_to_float.spec.d.ts +2 -0
- package/src/core/binary/uint8_to_float.spec.d.ts.map +1 -0
- package/src/core/binary/uint8_to_float.spec.js +7 -0
- package/src/core/codegen/codeToBlob.d.ts +8 -0
- package/src/core/codegen/codeToBlob.d.ts.map +1 -0
- package/src/core/codegen/codeToBlob.js +36 -0
- package/src/core/codegen/codeToURL.d.ts +8 -0
- package/src/core/codegen/codeToURL.d.ts.map +1 -0
- package/src/core/codegen/codeToURL.js +22 -0
- package/src/core/collection/array/array_shuffle.d.ts +8 -0
- package/src/core/collection/array/array_shuffle.d.ts.map +1 -0
- package/src/core/collection/array/array_shuffle.js +22 -0
- package/src/core/collection/array/array_shuffle.spec.d.ts +2 -0
- package/src/core/collection/array/array_shuffle.spec.d.ts.map +1 -0
- package/src/core/collection/array/{randomizeArrayElementOrder.spec.js → array_shuffle.spec.js} +4 -4
- package/src/core/collection/array/isArrayEqualStrict.d.ts.map +1 -1
- package/src/core/collection/array/isArrayEqualStrict.js +2 -2
- package/src/core/collection/array/iterator/ArrayIteratorRandom.js +2 -2
- package/src/core/collection/array/randomMultipleFromArray.js +2 -2
- package/src/core/color/Color.d.ts.map +1 -1
- package/src/core/color/Color.js +16 -11
- package/src/core/color/hsv/hsv2rgb.js +4 -4
- package/src/core/color/hsv/rgb2hsv.d.ts +3 -3
- package/src/core/color/hsv/rgb2hsv.d.ts.map +1 -1
- package/src/core/color/hsv/rgb2hsv.js +11 -18
- package/src/core/color/rgb2uint24.js +4 -4
- package/src/core/color/rgb_to_luminance.d.ts +9 -0
- package/src/core/color/rgb_to_luminance.d.ts.map +1 -0
- package/src/core/color/rgb_to_luminance.js +10 -0
- package/src/core/color/sRGB/linear_to_sRGB.d.ts +1 -0
- package/src/core/color/sRGB/linear_to_sRGB.d.ts.map +1 -1
- package/src/core/color/sRGB/linear_to_sRGB.js +4 -4
- package/src/core/geom/3d/aabb/AABB3.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/AABB3.js +4 -1
- package/src/core/geom/3d/aabb/aabb3_intersects_ray.js +3 -3
- package/src/core/geom/3d/shape/UnitSphereShape3D.d.ts.map +1 -1
- package/src/core/geom/3d/shape/UnitSphereShape3D.js +14 -14
- package/src/core/geom/3d/sphere/harmonics/README.md +16 -2
- package/src/core/geom/3d/sphere/harmonics/SH3_COEFFICIENTS.d.ts +6 -0
- package/src/core/geom/3d/sphere/harmonics/SH3_COEFFICIENTS.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/harmonics/SH3_COEFFICIENTS.js +17 -0
- package/src/core/geom/3d/sphere/harmonics/sh3_basis_at.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/harmonics/sh3_basis_at.js +21 -9
- package/src/core/geom/3d/sphere/harmonics/sh3_dering_optimize_positive.d.ts +3 -3
- package/src/core/geom/3d/sphere/harmonics/sh3_dering_optimize_positive.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/harmonics/sh3_dering_optimize_positive.js +35 -206
- package/src/core/geom/3d/sphere/harmonics/sh3_rotate.d.ts +8 -0
- package/src/core/geom/3d/sphere/harmonics/sh3_rotate.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/harmonics/sh3_rotate.js +29 -0
- package/src/core/geom/3d/sphere/harmonics/sh3_sample_by_direction.js +10 -10
- package/src/core/geom/3d/sphere/harmonics/sh_index.d.ts +8 -0
- package/src/core/geom/3d/sphere/harmonics/sh_index.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/harmonics/sh_index.js +9 -0
- package/src/core/geom/3d/sphere/harmonics/sh_rotate_band1.d.ts +8 -0
- package/src/core/geom/3d/sphere/harmonics/sh_rotate_band1.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/harmonics/sh_rotate_band1.js +44 -0
- package/src/core/geom/3d/sphere/harmonics/sh_rotate_band2.d.ts +8 -0
- package/src/core/geom/3d/sphere/harmonics/sh_rotate_band2.d.ts.map +1 -0
- package/src/core/geom/3d/sphere/harmonics/sh_rotate_band2.js +86 -0
- package/src/core/geom/3d/sphere/in_sphere3d_robust.d.ts.map +1 -1
- package/src/core/geom/3d/sphere/in_sphere3d_robust.js +2 -1
- package/src/core/geom/3d/tetrahedra/TetrahedralMesh.d.ts +20 -1
- package/src/core/geom/3d/tetrahedra/TetrahedralMesh.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/TetrahedralMesh.js +53 -7
- package/src/core/geom/3d/tetrahedra/TetrahedralMesh.spec.js +2 -2
- package/src/core/geom/3d/tetrahedra/build_tetrahedral_mesh_buffer_geometry.d.ts +1 -1
- package/src/core/geom/3d/tetrahedra/build_tetrahedral_mesh_buffer_geometry.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/build_tetrahedral_mesh_buffer_geometry.js +12 -7
- package/src/core/geom/3d/tetrahedra/delaunay/tetrahedral_mesh_build_from_grid.d.ts +13 -0
- package/src/core/geom/3d/tetrahedra/delaunay/tetrahedral_mesh_build_from_grid.d.ts.map +1 -0
- package/src/core/geom/3d/tetrahedra/delaunay/tetrahedral_mesh_build_from_grid.js +135 -0
- package/src/core/geom/3d/tetrahedra/prototypeTetrahedraBuilder.js +38 -24
- package/src/core/geom/3d/tetrahedra/{compute_circumsphere.d.ts → tetrahedron_compute_circumsphere.d.ts} +3 -5
- package/src/core/geom/3d/tetrahedra/tetrahedron_compute_circumsphere.d.ts.map +1 -0
- package/src/core/geom/3d/tetrahedra/{compute_circumsphere.js → tetrahedron_compute_circumsphere.js} +2 -4
- package/src/core/geom/3d/tetrahedra/tetrahedron_compute_signed_volume.d.ts.map +1 -1
- package/src/core/geom/3d/tetrahedra/tetrahedron_compute_signed_volume.js +3 -1
- package/src/core/geom/Vector3.d.ts.map +1 -1
- package/src/core/geom/Vector3.js +4 -3
- package/src/core/geom/mat3/m3_multiply_vec3.d.ts +8 -0
- package/src/core/geom/mat3/m3_multiply_vec3.d.ts.map +1 -0
- package/src/core/geom/mat3/m3_multiply_vec3.js +21 -0
- package/src/core/geom/random/randomPointInSphere.d.ts +1 -1
- package/src/core/geom/random/randomPointInSphere.js +2 -2
- package/src/core/geom/random/randomPointOnSphere.d.ts +3 -3
- package/src/core/geom/random/randomPointOnSphere.d.ts.map +1 -1
- package/src/core/geom/random/randomPointOnSphere.js +5 -9
- package/src/core/geom/vec2/v2_cross_product.d.ts +15 -0
- package/src/core/geom/vec2/v2_cross_product.d.ts.map +1 -0
- package/src/core/geom/vec2/v2_cross_product.js +21 -0
- package/src/core/geom/vec3/v3_slerp.d.ts +1 -0
- package/src/core/geom/vec3/v3_slerp.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_slerp.js +1 -0
- package/src/core/graph/MultiNode.d.ts +1 -1
- package/src/core/graph/MultiNode.js +1 -1
- package/src/core/graph/WeightedEdge.d.ts +6 -4
- package/src/core/graph/WeightedEdge.d.ts.map +1 -1
- package/src/core/graph/WeightedEdge.js +3 -0
- package/src/core/graph/coloring/colorizeGraph.js +19 -19
- package/src/core/graph/convert_graph_to_dot_string.d.ts +1 -1
- package/src/core/graph/convert_graph_to_dot_string.d.ts.map +1 -1
- package/src/core/graph/convert_graph_to_dot_string.js +10 -6
- package/src/core/graph/graph_compute_adjacency_matrix.d.ts +9 -0
- package/src/core/graph/graph_compute_adjacency_matrix.d.ts.map +1 -0
- package/src/core/graph/{graph_adjacency_matrix.js → graph_compute_adjacency_matrix.js} +1 -2
- package/src/core/graph/graph_compute_degree_matrix.d.ts +10 -0
- package/src/core/graph/graph_compute_degree_matrix.d.ts.map +1 -0
- package/src/core/graph/graph_compute_degree_matrix.js +23 -0
- package/src/core/graph/graph_compute_distance_matrix.d.ts +13 -0
- package/src/core/graph/graph_compute_distance_matrix.d.ts.map +1 -0
- package/src/core/graph/graph_compute_distance_matrix.js +103 -0
- package/src/core/graph/{graph_laplacian_matrix.d.ts → graph_compute_laplacian_matrix.d.ts} +2 -2
- package/src/core/graph/graph_compute_laplacian_matrix.d.ts.map +1 -0
- package/src/core/graph/{graph_laplacian_matrix.js → graph_compute_laplacian_matrix.js} +6 -6
- package/src/core/graph/graph_k_means_cluster.d.ts.map +1 -1
- package/src/core/graph/graph_k_means_cluster.js +4 -119
- package/src/core/graph/{coarsen_graph.d.ts → mn_graph_coarsen.d.ts} +2 -2
- package/src/core/graph/mn_graph_coarsen.d.ts.map +1 -0
- package/src/core/graph/{coarsen_graph.js → mn_graph_coarsen.js} +1 -1
- package/src/core/graph/mn_graph_coarsen.spec.d.ts +2 -0
- package/src/core/graph/mn_graph_coarsen.spec.d.ts.map +1 -0
- package/src/core/graph/{coarsen_graph.spec.js → mn_graph_coarsen.spec.js} +4 -4
- package/src/core/graph/mn_graph_collapse_weighted_edge.d.ts +1 -0
- package/src/core/graph/mn_graph_collapse_weighted_edge.d.ts.map +1 -1
- package/src/core/graph/mn_graph_collapse_weighted_edge.js +7 -1
- package/src/core/math/physics/brdf/brdf_burley.d.ts.map +1 -1
- package/src/core/math/physics/brdf/brdf_burley.js +9 -1
- package/src/core/math/physics/brdf/{D_GGX.d.ts → diffuse_GGX.d.ts} +2 -2
- package/src/core/math/physics/brdf/diffuse_GGX.d.ts.map +1 -0
- package/src/core/math/physics/brdf/{D_GGX.js → diffuse_GGX.js} +1 -1
- package/src/core/math/physics/brdf/fresnel_Schlick.d.ts +3 -0
- package/src/core/math/physics/brdf/fresnel_Schlick.d.ts.map +1 -0
- package/src/core/math/physics/brdf/fresnel_Schlick.js +3 -0
- package/src/core/math/physics/brdf/fresnel_Schlick_optimized.d.ts +9 -0
- package/src/core/math/physics/brdf/fresnel_Schlick_optimized.d.ts.map +1 -0
- package/src/core/math/physics/brdf/fresnel_Schlick_optimized.js +12 -0
- package/src/core/math/physics/brdf/fresnel_Schlick_original.d.ts +9 -0
- package/src/core/math/physics/brdf/fresnel_Schlick_original.d.ts.map +1 -0
- package/src/core/math/physics/brdf/fresnel_Schlick_original.js +10 -0
- package/src/core/math/physics/bsdf/bsdf_schlick.d.ts.map +1 -1
- package/src/core/math/physics/bsdf/bsdf_schlick.js +3 -11
- package/src/core/math/physics/ior_to_reflectivity.d.ts +7 -0
- package/src/core/math/physics/ior_to_reflectivity.d.ts.map +1 -0
- package/src/core/math/physics/ior_to_reflectivity.js +9 -0
- package/src/core/math/physics/pdf/README.md +1 -0
- package/src/core/math/physics/pdf/pdf_GGX.d.ts +16 -0
- package/src/core/math/physics/pdf/pdf_GGX.d.ts.map +1 -0
- package/src/core/math/physics/pdf/pdf_GGX.js +25 -0
- package/src/core/math/physics/reflectivity_to_ior.d.ts +7 -0
- package/src/core/math/physics/reflectivity_to_ior.d.ts.map +1 -0
- package/src/core/math/physics/reflectivity_to_ior.js +8 -0
- package/src/core/process/task/util/randomCountTask.js +3 -3
- package/src/core/process/worker/WorkerBuilder.d.ts.map +1 -1
- package/src/core/process/worker/WorkerBuilder.js +5 -35
- package/src/engine/EngineHarness.d.ts +10 -1
- package/src/engine/EngineHarness.d.ts.map +1 -1
- package/src/engine/EngineHarness.js +22 -11
- package/src/engine/asset/loaders/ArrayBufferLoader.d.ts.map +1 -1
- package/src/engine/asset/loaders/ArrayBufferLoader.js +17 -10
- package/src/engine/asset/loaders/image/png/PNGReader.d.ts +25 -11
- package/src/engine/asset/loaders/image/png/PNGReader.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/png/PNGReader.js +38 -24
- package/src/engine/asset/loaders/material/TextureAttachmensByMaterialType.d.ts.map +1 -1
- package/src/engine/asset/loaders/material/TextureAttachmensByMaterialType.js +5 -0
- package/src/engine/ecs/terrain/overlay/TerrainOverlay.js +4 -4
- package/src/engine/graphics/GraphicsEngine.js +1 -1
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +4 -0
- package/src/engine/graphics/ecs/light/LightSystem.d.ts.map +1 -1
- package/src/engine/graphics/ecs/light/LightSystem.js +2 -3
- package/src/engine/graphics/ecs/light/binding/three/ThreeLightBinding.d.ts +6 -0
- package/src/engine/graphics/ecs/light/binding/three/ThreeLightBinding.d.ts.map +1 -1
- package/src/engine/graphics/ecs/light/binding/three/ThreeLightBinding.js +22 -11
- package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts.map +1 -1
- package/src/engine/graphics/ecs/sprite/SpriteSystemPE.js +7 -7
- package/src/engine/graphics/impostors/octahedral/bake/prepare_bake_material.js +3 -3
- package/src/engine/graphics/render/forward_plus/model/DirectionalLight.d.ts.map +1 -1
- package/src/engine/graphics/render/forward_plus/model/DirectionalLight.js +25 -25
- package/src/engine/graphics/sh3/SH3VisualisationMaterial.d.ts.map +1 -1
- package/src/engine/graphics/sh3/SH3VisualisationMaterial.js +9 -6
- package/src/engine/graphics/sh3/fromCubeRenderTarget.d.ts +9 -0
- package/src/engine/graphics/sh3/fromCubeRenderTarget.d.ts.map +1 -0
- package/src/engine/graphics/sh3/fromCubeRenderTarget.js +145 -0
- package/src/engine/graphics/sh3/gi/tetrahedral_mesh_to_texture.d.ts +8 -0
- package/src/engine/graphics/sh3/gi/tetrahedral_mesh_to_texture.d.ts.map +1 -0
- package/src/engine/graphics/sh3/gi/tetrahedral_mesh_to_texture.js +51 -0
- package/src/engine/graphics/sh3/{LightProbeVolume.d.ts → lpv/LightProbeVolume.d.ts} +18 -7
- package/src/engine/graphics/sh3/lpv/LightProbeVolume.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpv/LightProbeVolume.js +340 -0
- package/src/engine/graphics/sh3/lpv/LightProbeVolumeSerializationAdapter.d.ts +18 -0
- package/src/engine/graphics/sh3/lpv/LightProbeVolumeSerializationAdapter.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpv/LightProbeVolumeSerializationAdapter.js +44 -0
- package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.d.ts +12 -0
- package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.js +122 -0
- package/src/engine/graphics/sh3/lpv/ProbeRenderer.d.ts +29 -0
- package/src/engine/graphics/sh3/lpv/ProbeRenderer.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpv/ProbeRenderer.js +35 -0
- package/src/engine/graphics/sh3/lpv/WebGLCubeProbeRenderer.d.ts +27 -0
- package/src/engine/graphics/sh3/lpv/WebGLCubeProbeRenderer.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpv/WebGLCubeProbeRenderer.js +158 -0
- package/src/engine/graphics/sh3/lpv/build_probes_for_scene.d.ts +11 -0
- package/src/engine/graphics/sh3/lpv/build_probes_for_scene.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpv/build_probes_for_scene.js +127 -0
- package/src/engine/graphics/sh3/lpv/probe_volume_to_textures.d.ts +12 -0
- package/src/engine/graphics/sh3/lpv/probe_volume_to_textures.d.ts.map +1 -0
- package/src/engine/graphics/sh3/lpv/probe_volume_to_textures.js +89 -0
- package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts +90 -0
- package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts.map +1 -0
- package/src/engine/graphics/sh3/path_tracer/PathTracedScene.js +352 -0
- package/src/engine/graphics/sh3/path_tracer/PathTracer.d.ts +5 -91
- package/src/engine/graphics/sh3/path_tracer/PathTracer.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracer.js +41 -477
- package/src/engine/graphics/sh3/path_tracer/make_one_vector3.d.ts +1 -0
- package/src/engine/graphics/sh3/path_tracer/make_one_vector3.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/make_one_vector3.js +6 -3
- package/src/engine/graphics/sh3/path_tracer/prototypePathTracer.js +38 -62
- package/src/engine/graphics/sh3/path_tracer/random_in_hemisphere.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/random_in_hemisphere.js +7 -1
- package/src/engine/graphics/sh3/path_tracer/sample_triangle_attribute.d.ts +2 -2
- package/src/engine/graphics/sh3/path_tracer/sample_triangle_attribute.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/sample_triangle_attribute.js +1 -1
- package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples.d.ts +10 -0
- package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples.d.ts.map +1 -0
- package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples.js +20 -0
- package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples_2d.d.ts +10 -0
- package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples_2d.d.ts.map +1 -0
- package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples_2d.js +31 -0
- package/src/engine/graphics/sh3/path_tracer/sampling/make_stratified_sample.d.ts +9 -0
- package/src/engine/graphics/sh3/path_tracer/sampling/make_stratified_sample.d.ts.map +1 -0
- package/src/engine/graphics/sh3/path_tracer/sampling/make_stratified_sample.js +21 -0
- package/src/engine/graphics/sh3/path_tracer/texture/SoftwareTextureCache.d.ts +3 -0
- package/src/engine/graphics/sh3/path_tracer/texture/SoftwareTextureCache.d.ts.map +1 -0
- package/src/engine/graphics/sh3/path_tracer/texture/SoftwareTextureCache.js +3 -0
- package/src/engine/graphics/sh3/path_tracer/texture/apply_texture_clamping_to_coordinate.d.ts.map +1 -0
- package/src/engine/graphics/sh3/path_tracer/{apply_texture_clamping_to_coordinate.js → texture/apply_texture_clamping_to_coordinate.js} +2 -2
- package/src/engine/graphics/sh3/path_tracer/texture/sample_material.d.ts +11 -0
- package/src/engine/graphics/sh3/path_tracer/texture/sample_material.d.ts.map +1 -0
- package/src/engine/graphics/sh3/path_tracer/texture/sample_material.js +86 -0
- package/src/engine/graphics/sh3/path_tracer/texture/sample_texture.d.ts +10 -0
- package/src/engine/graphics/sh3/path_tracer/texture/sample_texture.d.ts.map +1 -0
- package/src/engine/graphics/sh3/path_tracer/texture/sample_texture.js +55 -0
- package/src/engine/graphics/sh3/path_tracer/vec3_uint8_to_float.js +4 -4
- package/src/engine/graphics/sh3/prototypeSH3Probe.js +145 -185
- package/src/engine/graphics/sh3/sky/hosek/sky_hosek_compute_irradiance_by_direction.d.ts +5 -5
- package/src/engine/graphics/sh3/sky/hosek/sky_hosek_compute_irradiance_by_direction.d.ts.map +1 -1
- package/src/engine/graphics/sh3/sky/hosek/sky_hosek_compute_irradiance_by_direction.js +8 -8
- package/src/engine/graphics/sh3/visualise_spherical_harmonic_sphere.d.ts +13 -0
- package/src/engine/graphics/sh3/visualise_spherical_harmonic_sphere.d.ts.map +1 -0
- package/src/engine/graphics/sh3/visualise_spherical_harmonic_sphere.js +54 -0
- package/src/engine/graphics/texture/AttributeDataTexture.d.ts +2 -2
- package/src/engine/graphics/texture/AttributeDataTexture.d.ts.map +1 -1
- package/src/engine/graphics/texture/AttributeDataTexture.js +11 -11
- package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/Sampler2D.js +2 -2
- package/src/engine/input/ecs/systems/InputControllerSystem.js +1 -1
- package/src/engine/network/convertPathToURL.d.ts +3 -1
- package/src/engine/network/convertPathToURL.d.ts.map +1 -1
- package/src/engine/network/convertPathToURL.js +68 -51
- package/src/engine/physics/fluid/SliceVisualiser.d.ts.map +1 -1
- package/src/engine/physics/fluid/SliceVisualiser.js +4 -4
- package/src/generation/filtering/numeric/CellFilterCache.d.ts.map +1 -1
- package/src/generation/filtering/numeric/CellFilterCache.js +1 -0
- package/src/view/elements/ColorPickerView.d.ts.map +1 -1
- package/src/view/elements/ColorPickerView.js +7 -7
- package/src/core/binary/float2uint8.d.ts +0 -7
- package/src/core/binary/float2uint8.d.ts.map +0 -1
- package/src/core/binary/uint82float.d.ts +0 -7
- package/src/core/binary/uint82float.d.ts.map +0 -1
- package/src/core/binary/uint82float.spec.d.ts +0 -2
- package/src/core/binary/uint82float.spec.d.ts.map +0 -1
- package/src/core/binary/uint82float.spec.js +0 -7
- package/src/core/collection/array/randomizeArrayElementOrder.d.ts +0 -8
- package/src/core/collection/array/randomizeArrayElementOrder.d.ts.map +0 -1
- package/src/core/collection/array/randomizeArrayElementOrder.js +0 -24
- package/src/core/collection/array/randomizeArrayElementOrder.spec.d.ts +0 -2
- package/src/core/collection/array/randomizeArrayElementOrder.spec.d.ts.map +0 -1
- package/src/core/geom/3d/tetrahedra/compute_circumsphere.d.ts.map +0 -1
- package/src/core/graph/coarsen_graph.d.ts.map +0 -1
- package/src/core/graph/coarsen_graph.spec.d.ts +0 -2
- package/src/core/graph/coarsen_graph.spec.d.ts.map +0 -1
- package/src/core/graph/graph_adjacency_matrix.d.ts +0 -9
- package/src/core/graph/graph_adjacency_matrix.d.ts.map +0 -1
- package/src/core/graph/graph_degree_matrix.d.ts +0 -9
- package/src/core/graph/graph_degree_matrix.d.ts.map +0 -1
- package/src/core/graph/graph_degree_matrix.js +0 -18
- package/src/core/graph/graph_laplacian_matrix.d.ts.map +0 -1
- package/src/core/math/physics/brdf/D_GGX.d.ts.map +0 -1
- package/src/engine/graphics/sh3/LightProbeVolume.d.ts.map +0 -1
- package/src/engine/graphics/sh3/LightProbeVolume.js +0 -609
- package/src/engine/graphics/sh3/path_tracer/apply_texture_clamping_to_coordinate.d.ts.map +0 -1
- package/src/engine/graphics/sh3/visualise_probe.d.ts +0 -12
- package/src/engine/graphics/sh3/visualise_probe.d.ts.map +0 -1
- package/src/engine/graphics/sh3/visualise_probe.js +0 -40
- /package/src/engine/graphics/sh3/path_tracer/{apply_texture_clamping_to_coordinate.d.ts → texture/apply_texture_clamping_to_coordinate.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fresnel_Schlick.d.ts","sourceRoot":"","sources":["../../../../../../src/core/math/physics/brdf/fresnel_Schlick.js"],"names":[],"mappings":"AAEA,+DAAyD;0CAFf,gCAAgC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* Optimized variant (presented by Epic at SIGGRAPH '13)
|
|
4
|
+
* https://cdn2.unrealengine.com/Resources/files/2013SiggraphPresentationsNotes-26915738.pdf
|
|
5
|
+
* @param {number} dotVH
|
|
6
|
+
* @return {number}
|
|
7
|
+
*/
|
|
8
|
+
export function fresnel_Schlick_optimized(dotVH: number): number;
|
|
9
|
+
//# sourceMappingURL=fresnel_Schlick_optimized.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fresnel_Schlick_optimized.d.ts","sourceRoot":"","sources":["../../../../../../src/core/math/physics/brdf/fresnel_Schlick_optimized.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,iDAHW,MAAM,GACL,MAAM,CAIjB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { exp2 } from "../../exp2.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* Optimized variant (presented by Epic at SIGGRAPH '13)
|
|
6
|
+
* https://cdn2.unrealengine.com/Resources/files/2013SiggraphPresentationsNotes-26915738.pdf
|
|
7
|
+
* @param {number} dotVH
|
|
8
|
+
* @return {number}
|
|
9
|
+
*/
|
|
10
|
+
export function fresnel_Schlick_optimized(dotVH) {
|
|
11
|
+
return exp2((-5.55473 * dotVH - 6.98316) * dotVH);
|
|
12
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* Original approximation by Christophe Schlick '94
|
|
4
|
+
* NOTE: prefer to use {@link fresnel_Schlick_optimized} instead, this primarily exists for reference purposes
|
|
5
|
+
* @param dotVH
|
|
6
|
+
* @return {number}
|
|
7
|
+
*/
|
|
8
|
+
declare function fresnel_Schlick_original(dotVH: any): number;
|
|
9
|
+
//# sourceMappingURL=fresnel_Schlick_original.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fresnel_Schlick_original.d.ts","sourceRoot":"","sources":["../../../../../../src/core/math/physics/brdf/fresnel_Schlick_original.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,uDAFY,MAAM,CAIjB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* Original approximation by Christophe Schlick '94
|
|
4
|
+
* NOTE: prefer to use {@link fresnel_Schlick_optimized} instead, this primarily exists for reference purposes
|
|
5
|
+
* @param dotVH
|
|
6
|
+
* @return {number}
|
|
7
|
+
*/
|
|
8
|
+
function fresnel_Schlick_original(dotVH) {
|
|
9
|
+
return Math.pow(1.0 - dotVH, 5.0)
|
|
10
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bsdf_schlick.d.ts","sourceRoot":"","sources":["../../../../../../src/core/math/physics/bsdf/bsdf_schlick.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bsdf_schlick.d.ts","sourceRoot":"","sources":["../../../../../../src/core/math/physics/bsdf/bsdf_schlick.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,iCALW,MAAM,OACN,MAAM,SACN,MAAM,GACJ,MAAM,CAMlB"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { fresnel_Schlick } from "../brdf/fresnel_Schlick.js";
|
|
3
2
|
|
|
4
3
|
/**
|
|
5
4
|
*
|
|
@@ -9,14 +8,7 @@ import { exp2 } from "../../exp2.js";
|
|
|
9
8
|
* @returns {number}
|
|
10
9
|
*/
|
|
11
10
|
export function bsdf_schlick(f0, f90, dotVH) {
|
|
11
|
+
const fresnel = fresnel_Schlick(dotVH);
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
// float fresnel = pow( 1.0 - dotVH, 5.0 );
|
|
15
|
-
|
|
16
|
-
// Optimized variant (presented by Epic at SIGGRAPH '13)
|
|
17
|
-
// https://cdn2.unrealengine.com/Resources/files/2013SiggraphPresentationsNotes-26915738.pdf
|
|
18
|
-
|
|
19
|
-
const fresnel = exp2(((-5.55473) * dotVH - 6.98316) * dotVH);
|
|
20
|
-
|
|
21
|
-
return ((f0 * (1.0 - fresnel)) + (f90 * fresnel));
|
|
13
|
+
return f0 * (1.0 - fresnel) + f90 * fresnel;
|
|
22
14
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ior_to_reflectivity.d.ts","sourceRoot":"","sources":["../../../../../src/core/math/physics/ior_to_reflectivity.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,yCAHW,MAAM,GACL,MAAM,CAIjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Probability Distribution Functions
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the PDF for a particular GGX sample after reflecting the view vector
|
|
3
|
+
* about a microfacet normal (includes the Jacobian for going from half vector to lighting vector)
|
|
4
|
+
*
|
|
5
|
+
* N = surface normal
|
|
6
|
+
* L = light direction
|
|
7
|
+
* V = view direction
|
|
8
|
+
* H = normalize( V + L )
|
|
9
|
+
*
|
|
10
|
+
* @param {number} nDotH dot product of N and H
|
|
11
|
+
* @param {number} hDotV dot product of H and V
|
|
12
|
+
* @param {number} roughness
|
|
13
|
+
* @returns {number}
|
|
14
|
+
*/
|
|
15
|
+
export function pdf_GGX(nDotH: number, hDotV: number, roughness: number): number;
|
|
16
|
+
//# sourceMappingURL=pdf_GGX.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdf_GGX.d.ts","sourceRoot":"","sources":["../../../../../../src/core/math/physics/pdf/pdf_GGX.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,+BALW,MAAM,SACN,MAAM,aACN,MAAM,GACJ,MAAM,CAYlB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the PDF for a particular GGX sample after reflecting the view vector
|
|
3
|
+
* about a microfacet normal (includes the Jacobian for going from half vector to lighting vector)
|
|
4
|
+
*
|
|
5
|
+
* N = surface normal
|
|
6
|
+
* L = light direction
|
|
7
|
+
* V = view direction
|
|
8
|
+
* H = normalize( V + L )
|
|
9
|
+
*
|
|
10
|
+
* @param {number} nDotH dot product of N and H
|
|
11
|
+
* @param {number} hDotV dot product of H and V
|
|
12
|
+
* @param {number} roughness
|
|
13
|
+
* @returns {number}
|
|
14
|
+
*/
|
|
15
|
+
export function pdf_GGX(nDotH, hDotV, roughness) {
|
|
16
|
+
const m2 = roughness * roughness;
|
|
17
|
+
|
|
18
|
+
const X = nDotH * nDotH * (m2 - 1) + 1;
|
|
19
|
+
|
|
20
|
+
const d = m2 / (Math.PI * X * X);
|
|
21
|
+
|
|
22
|
+
const pM = d * nDotH;
|
|
23
|
+
|
|
24
|
+
return pM / (4 * hDotV);
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reflectivity_to_ior.d.ts","sourceRoot":"","sources":["../../../../../src/core/math/physics/reflectivity_to_ior.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,kDAHW,MAAM,GACL,MAAM,CAIjB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { array_shuffle } from "../../../collection/array/array_shuffle.js";
|
|
1
2
|
import { seededRandom } from "../../../math/random/seededRandom.js";
|
|
2
|
-
import { TaskSignal } from "../TaskSignal.js";
|
|
3
3
|
import Task from "../Task.js";
|
|
4
|
-
import {
|
|
4
|
+
import { TaskSignal } from "../TaskSignal.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
*
|
|
@@ -49,7 +49,7 @@ export function randomCountTask(seed, initial, limit, callback) {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
//shuffle
|
|
52
|
-
|
|
52
|
+
array_shuffle(random, sequence);
|
|
53
53
|
},
|
|
54
54
|
cycleFunction: cycle,
|
|
55
55
|
computeProgress: function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/core/process/worker/WorkerBuilder.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"WorkerBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/core/process/worker/WorkerBuilder.js"],"names":[],"mappings":";AAQA;IAEI,eAAa;IACb,YAAa;IACb,iBAAe;IACf,sBAA6B;IAE7B;;;OAGG;IACH,cAFW,MAAM,QAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,UACN,WAAS,MAAM,QAIzB;IAED;;;;;OAKG;IACH,6CAKC;IAED;;;OAGG;IACH,mBAFW,MAAM,QAMhB;IAED;;;OAGG;IACH,SAFa,WAAW,CAyGvB;CACJ;wBAjKuB,8BAA8B;wBAC9B,kBAAkB"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { convertPathToURL } from "../../../engine/network/convertPathToURL.js";
|
|
2
|
+
import { codeToURL } from "../../codegen/codeToURL.js";
|
|
2
3
|
import LineBuilder from "../../codegen/LineBuilder.js";
|
|
3
4
|
import WorkerProxy from "./WorkerProxy.js";
|
|
4
5
|
|
|
5
6
|
const RxMatchFunctionName = /(function\s*)([a-zA-Z0-9_]+)?(\s*\([^\]]*\)\s*\{.*)/g;
|
|
6
7
|
|
|
8
|
+
|
|
7
9
|
class WorkerBuilder {
|
|
8
10
|
|
|
9
11
|
imports = [];
|
|
@@ -46,9 +48,9 @@ class WorkerBuilder {
|
|
|
46
48
|
* @param {string} path
|
|
47
49
|
*/
|
|
48
50
|
importScript(path) {
|
|
49
|
-
|
|
51
|
+
const qualified_path = convertPathToURL(path);
|
|
50
52
|
|
|
51
|
-
this.imports.push(
|
|
53
|
+
this.imports.push(qualified_path);
|
|
52
54
|
}
|
|
53
55
|
|
|
54
56
|
/**
|
|
@@ -58,7 +60,7 @@ class WorkerBuilder {
|
|
|
58
60
|
build() {
|
|
59
61
|
const codeLines = [];
|
|
60
62
|
|
|
61
|
-
codeLines.push('var globalScope =
|
|
63
|
+
codeLines.push('var globalScope = globalThis;');
|
|
62
64
|
|
|
63
65
|
//handle imports
|
|
64
66
|
this.imports.forEach(function (url) {
|
|
@@ -161,36 +163,4 @@ class WorkerBuilder {
|
|
|
161
163
|
}
|
|
162
164
|
};
|
|
163
165
|
|
|
164
|
-
/**
|
|
165
|
-
*
|
|
166
|
-
* @param {string} code
|
|
167
|
-
* @return {string}
|
|
168
|
-
*/
|
|
169
|
-
function codeToURL(code) {
|
|
170
|
-
const js_mime = 'application/javascript';
|
|
171
|
-
|
|
172
|
-
let blob;
|
|
173
|
-
|
|
174
|
-
if (typeof window === 'object') {
|
|
175
|
-
if (typeof window.Blob !== "undefined") {
|
|
176
|
-
blob = new Blob([code], {type: js_mime});
|
|
177
|
-
} else {
|
|
178
|
-
// Backwards-compatibility
|
|
179
|
-
const BlobBuilder = window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder;
|
|
180
|
-
if (BlobBuilder !== undefined) {
|
|
181
|
-
blob = new BlobBuilder();
|
|
182
|
-
blob.append(code);
|
|
183
|
-
blob = blob.getBlob();
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
if (blob !== undefined && URL.createObjectURL !== undefined) {
|
|
189
|
-
return URL.createObjectURL(blob);
|
|
190
|
-
} else {
|
|
191
|
-
// build data URL in a slowest way possible
|
|
192
|
-
return `data:${js_mime},${encodeURIComponent(code)}`;
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
|
|
196
166
|
export default WorkerBuilder;
|
|
@@ -58,12 +58,20 @@ export class EngineHarness {
|
|
|
58
58
|
* @param {EntityComponentDataset} [param.ecd]
|
|
59
59
|
* @param {number} [param.shadowmapResolution]
|
|
60
60
|
* @param {boolean} [param.castShadow]
|
|
61
|
+
* @param {Color} [param.sun]
|
|
62
|
+
* @param {number} [param.sunIntensity]
|
|
63
|
+
* @param {Color} [param.ambient]
|
|
64
|
+
* @param {number} [param.ambientIntensity]
|
|
61
65
|
*/
|
|
62
|
-
static buildLights({ engine, ecd, shadowmapResolution, castShadow }: {
|
|
66
|
+
static buildLights({ engine, ecd, shadowmapResolution, castShadow, sun, sunIntensity, sunDirection, ambient, ambientIntensity }: {
|
|
63
67
|
engine: Engine;
|
|
64
68
|
ecd?: EntityComponentDataset;
|
|
65
69
|
shadowmapResolution?: number;
|
|
66
70
|
castShadow?: boolean;
|
|
71
|
+
sun?: Color;
|
|
72
|
+
sunIntensity?: number;
|
|
73
|
+
ambient?: Color;
|
|
74
|
+
ambientIntensity?: number;
|
|
67
75
|
}): Promise<void>;
|
|
68
76
|
/**
|
|
69
77
|
* @param {Object} param
|
|
@@ -120,5 +128,6 @@ import Engine from "./Engine.js";
|
|
|
120
128
|
import { EngineConfiguration } from "./EngineConfiguration.js";
|
|
121
129
|
import Vector3 from "../core/geom/Vector3.js";
|
|
122
130
|
import Entity from "./ecs/Entity.js";
|
|
131
|
+
import { Color } from "../core/color/Color.js";
|
|
123
132
|
import Terrain from "./ecs/terrain/ecs/Terrain.js";
|
|
124
133
|
//# sourceMappingURL=EngineHarness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngineHarness.d.ts","sourceRoot":"","sources":["../../../src/engine/EngineHarness.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EngineHarness.d.ts","sourceRoot":"","sources":["../../../src/engine/EngineHarness.js"],"names":[],"mappings":"AA6DA;IAmBI;;;OAGG;IACH,6BAFW,MAAM,QAYhB;IAkED;;;;;;;;;;;;;OAaG;IACH;QAZyB,MAAM,EAApB,MAAM;QACyB,GAAG;QAClB,MAAM,GAAtB,OAAO;QACQ,QAAQ,GAAvB,MAAM;QACS,KAAK,GAApB,MAAM;QACS,GAAG,GAAlB,MAAM;QACU,QAAQ,GAAxB,OAAO;QACQ,WAAW,GAA1B,MAAM;QACS,WAAW,GAA1B,MAAM;QACS,WAAW,GAA1B,MAAM;QACJ,MAAM,CA+DlB;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,oQAnBW,MAAM,iBAmFhB;IAGD;;;;;;;;;;OAUG;IACH;QATyB,MAAM,EAApB,MAAM;QACyB,GAAG;QACnB,mBAAmB,GAAlC,MAAM;QACU,UAAU,GAA1B,OAAO;QACO,GAAG,GAAjB,KAAK;QACU,YAAY,GAA3B,MAAM;QACQ,OAAO,GAArB,KAAK;QACU,gBAAgB,GAA/B,MAAM;sBAqDhB;IAED;;;;;;;OAOG;IACH;QAN0B,YAAY,GAA3B,MAAM;QACQ,MAAM,EAApB,MAAM;QACS,WAAW,GAA1B,MAAM;QACyB,GAAG;QAChC,MAAM,CA2ClB;IAGD;;;;;;;;;;;OAWG;IACH,mGAVW,MAAM,GAQJ,OAAO,CAuDnB;IA3bG;;;OAGG;IACH,QAFU,MAAM,CAEiC;IAMjD;;;OAGG;IACH,YAFU,eAAQ,IAAI,CAET;IAmBjB;;;;OAIG;IACH,8DAJmB,mBAAmB,UAAQ,MAAM,WAEvC,QAAQ,MAAM,CAAC,CA2D3B;CA6VJ;;IAID;;;OAGG;IACH,uCAMC;;mBA1fkB,aAAa;oCACI,0BAA0B;oBAX1C,yBAAyB;mBAK1B,iBAAiB;sBATd,wBAAwB;oBAW1B,8BAA8B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import Stats from "three/examples/jsm/libs/stats.module.js";
|
|
2
|
+
import { Color } from "../core/color/Color.js";
|
|
2
3
|
|
|
3
4
|
import { noop } from "../core/function/noop.js";
|
|
4
5
|
import Vector2 from "../core/geom/Vector2.js";
|
|
@@ -52,6 +53,12 @@ function setLocale(engine) {
|
|
|
52
53
|
return engine.localization.loadLocale(locale);
|
|
53
54
|
}
|
|
54
55
|
|
|
56
|
+
/**
|
|
57
|
+
* Equal to ~ 5500 K light color
|
|
58
|
+
* @type {Readonly<Color>}
|
|
59
|
+
*/
|
|
60
|
+
const DEFAULT_SUNLIGHT_COLOR = Object.freeze(new Color(1, 0.93, 0.87));
|
|
61
|
+
|
|
55
62
|
export class EngineHarness {
|
|
56
63
|
constructor() {
|
|
57
64
|
/**
|
|
@@ -322,12 +329,21 @@ export class EngineHarness {
|
|
|
322
329
|
* @param {EntityComponentDataset} [param.ecd]
|
|
323
330
|
* @param {number} [param.shadowmapResolution]
|
|
324
331
|
* @param {boolean} [param.castShadow]
|
|
332
|
+
* @param {Color} [param.sun]
|
|
333
|
+
* @param {number} [param.sunIntensity]
|
|
334
|
+
* @param {Color} [param.ambient]
|
|
335
|
+
* @param {number} [param.ambientIntensity]
|
|
325
336
|
*/
|
|
326
337
|
static async buildLights({
|
|
327
338
|
engine,
|
|
328
339
|
ecd = engine.entityManager.dataset,
|
|
329
340
|
shadowmapResolution = 1024,
|
|
330
|
-
castShadow = true
|
|
341
|
+
castShadow = true,
|
|
342
|
+
sun = DEFAULT_SUNLIGHT_COLOR,
|
|
343
|
+
sunIntensity = 0.9,
|
|
344
|
+
sunDirection = new Vector3(0.1, -1, 0.1),
|
|
345
|
+
ambient = Color.white,
|
|
346
|
+
ambientIntensity = 0.1
|
|
331
347
|
}) {
|
|
332
348
|
const em = engine.entityManager;
|
|
333
349
|
|
|
@@ -343,18 +359,13 @@ export class EngineHarness {
|
|
|
343
359
|
|
|
344
360
|
const key = new Light();
|
|
345
361
|
key.type.set(Light.Type.DIRECTION);
|
|
346
|
-
key.color.
|
|
347
|
-
key.intensity.set(
|
|
362
|
+
key.color.copy(sun);
|
|
363
|
+
key.intensity.set(sunIntensity);
|
|
348
364
|
key.castShadow.set(castShadow);
|
|
349
365
|
|
|
350
366
|
const transform = new Transform();
|
|
351
367
|
transform.position.set(30, 70, 30);
|
|
352
|
-
transform.rotation.
|
|
353
|
-
-0.18780341950959473,
|
|
354
|
-
0.8049745556929917,
|
|
355
|
-
-0.4533975611897181,
|
|
356
|
-
-0.3334313787830773
|
|
357
|
-
);
|
|
368
|
+
transform.rotation.lookRotation(sunDirection);
|
|
358
369
|
|
|
359
370
|
new Entity()
|
|
360
371
|
.add(key)
|
|
@@ -365,8 +376,8 @@ export class EngineHarness {
|
|
|
365
376
|
|
|
366
377
|
const fill = new Light();
|
|
367
378
|
fill.type.set(Light.Type.AMBIENT);
|
|
368
|
-
fill.color.
|
|
369
|
-
fill.intensity.set(
|
|
379
|
+
fill.color.copy(ambient);
|
|
380
|
+
fill.intensity.set(ambientIntensity);
|
|
370
381
|
|
|
371
382
|
|
|
372
383
|
new Entity()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayBufferLoader.d.ts","sourceRoot":"","sources":["../../../../../src/engine/asset/loaders/ArrayBufferLoader.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ArrayBufferLoader.d.ts","sourceRoot":"","sources":["../../../../../src/engine/asset/loaders/ArrayBufferLoader.js"],"names":[],"mappings":"AAyFA;IACI;;;OAGG;IACH,iCAFW,MAAM,GAAC,KAAK,GAAC,MAAM,EAa7B;IANG;;;;OAIG;IACH,yBAAsC;IAG1C;;;oDA0DC;CACJ;4BAlK2B,kBAAkB;qBAJzB,gCAAgC;sBAC/B,aAAa"}
|
|
@@ -13,20 +13,19 @@ import { AssetLoader } from "./AssetLoader.js";
|
|
|
13
13
|
function observeResponseProgress(input, progress) {
|
|
14
14
|
let response = input
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
if (typeof ReadableStream === 'undefined' || response.body.getReader === undefined) {
|
|
16
|
+
// Workaround: Checking if response.body === undefined for Alipay browser
|
|
17
|
+
if (typeof ReadableStream === 'undefined' || response.body === undefined || response.body.getReader === undefined) {
|
|
18
18
|
|
|
19
19
|
return response;
|
|
20
20
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const reader = response.body.getReader();
|
|
23
|
+
// Nginx needs X-File-Size check
|
|
24
|
+
// https://serverfault.com/questions/482875/why-does-nginx-remove-content-length-header-for-chunked-content
|
|
25
|
+
const contentLength = response.headers.get('Content-Length') || response.headers.get('X-File-Size');
|
|
27
26
|
|
|
28
|
-
const contentLength = response.headers.get('Content-Length');
|
|
29
27
|
const total = contentLength ? parseInt(contentLength) : 0;
|
|
28
|
+
|
|
30
29
|
let loaded = 0;
|
|
31
30
|
|
|
32
31
|
// periodically read data into the new stream tracking while download progress
|
|
@@ -34,6 +33,11 @@ function observeResponseProgress(input, progress) {
|
|
|
34
33
|
type: "bytes",
|
|
35
34
|
start(controller) {
|
|
36
35
|
|
|
36
|
+
/**
|
|
37
|
+
* @type {ReadableStreamDefaultReader<Uint8Array>}
|
|
38
|
+
*/
|
|
39
|
+
const reader = response.body.getReader();
|
|
40
|
+
|
|
37
41
|
pump();
|
|
38
42
|
|
|
39
43
|
function pump() {
|
|
@@ -51,6 +55,7 @@ function observeResponseProgress(input, progress) {
|
|
|
51
55
|
progress(loaded, total);
|
|
52
56
|
|
|
53
57
|
controller.enqueue(value);
|
|
58
|
+
|
|
54
59
|
pump();
|
|
55
60
|
|
|
56
61
|
});
|
|
@@ -123,16 +128,18 @@ export class ArrayBufferLoader extends AssetLoader {
|
|
|
123
128
|
|
|
124
129
|
let response = await fetch(request);
|
|
125
130
|
|
|
126
|
-
|
|
131
|
+
const response_status = response.status;
|
|
132
|
+
|
|
133
|
+
if (response_status !== 200 && response_status !== 0) {
|
|
127
134
|
|
|
128
|
-
throw Error(`fetch for "${response.url}" responded with ${
|
|
135
|
+
throw Error(`fetch for "${response.url}" responded with ${response_status}: ${response.statusText}`);
|
|
129
136
|
|
|
130
137
|
}
|
|
131
138
|
|
|
132
139
|
// Some browsers return HTTP Status 0 when using non-http protocol
|
|
133
140
|
// e.g. 'file://' or 'data://'. Handle as success.
|
|
134
141
|
|
|
135
|
-
if (
|
|
142
|
+
if (response_status === 0) {
|
|
136
143
|
|
|
137
144
|
console.warn('HTTP Status 0 received.');
|
|
138
145
|
|
|
@@ -11,16 +11,37 @@ export class PNGReader {
|
|
|
11
11
|
* @constructor
|
|
12
12
|
*/
|
|
13
13
|
constructor(bytes: ArrayBuffer);
|
|
14
|
+
/**
|
|
15
|
+
* current pointer
|
|
16
|
+
* @type {number}
|
|
17
|
+
*/
|
|
14
18
|
i: number;
|
|
19
|
+
/**
|
|
20
|
+
* bytes buffer
|
|
21
|
+
* @type {Uint8Array}
|
|
22
|
+
*/
|
|
15
23
|
bytes: Uint8Array;
|
|
24
|
+
/**
|
|
25
|
+
* Output object
|
|
26
|
+
* @type {PNG}
|
|
27
|
+
*/
|
|
16
28
|
png: PNG;
|
|
17
29
|
dataChunks: any[];
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {BinaryBuffer}
|
|
33
|
+
*/
|
|
18
34
|
buffer: BinaryBuffer;
|
|
19
35
|
/**
|
|
20
36
|
* Whether CRC should be performed or not
|
|
21
37
|
* @type {boolean}
|
|
22
38
|
*/
|
|
23
39
|
crc_enabled: boolean;
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* @type {Uint8Array}
|
|
43
|
+
*/
|
|
44
|
+
header: Uint8Array;
|
|
24
45
|
/**
|
|
25
46
|
*
|
|
26
47
|
* @param {number} length
|
|
@@ -31,7 +52,6 @@ export class PNGReader {
|
|
|
31
52
|
* http://www.w3.org/TR/2003/REC-PNG-20031110/#5PNG-file-signature
|
|
32
53
|
*/
|
|
33
54
|
decodeHeader(): void;
|
|
34
|
-
header: Uint8Array;
|
|
35
55
|
/**
|
|
36
56
|
* http://www.w3.org/TR/2003/REC-PNG-20031110/#5Chunk-layout
|
|
37
57
|
*
|
|
@@ -119,7 +139,10 @@ export class PNGReader {
|
|
|
119
139
|
* Uncompress IDAT chunks
|
|
120
140
|
*/
|
|
121
141
|
decodePixels(): void;
|
|
122
|
-
|
|
142
|
+
/**
|
|
143
|
+
* @param {Uint8Array} data
|
|
144
|
+
*/
|
|
145
|
+
interlaceNone(data: Uint8Array): void;
|
|
123
146
|
/**
|
|
124
147
|
* De-interlace image according to Adam 7 scheme
|
|
125
148
|
* @param {Uint8Array} data
|
|
@@ -168,15 +191,6 @@ export class PNGReader {
|
|
|
168
191
|
unFilterPaeth(scanline: any, scanline_offset: any, pixels: any, bpp: any, of: any, length: any): void;
|
|
169
192
|
/**
|
|
170
193
|
* Parse the PNG file
|
|
171
|
-
*
|
|
172
|
-
* reader.parse(options, callback)
|
|
173
|
-
* OR
|
|
174
|
-
* reader.parse(callback)
|
|
175
|
-
*
|
|
176
|
-
* OPTIONS:
|
|
177
|
-
* option | type | default
|
|
178
|
-
* ----------------------------
|
|
179
|
-
* data boolean true should it read the pixel data
|
|
180
194
|
* @returns {PNG}
|
|
181
195
|
*/
|
|
182
196
|
parse(): PNG;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PNGReader.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/asset/loaders/image/png/PNGReader.js"],"names":[],"mappings":"AAsDA;;;;GAIG;AACH,iCAHW,WAAW,
|
|
1
|
+
{"version":3,"file":"PNGReader.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/asset/loaders/image/png/PNGReader.js"],"names":[],"mappings":"AAsDA;;;;GAIG;AACH,iCAHW,WAAW,QA0CrB;;IA5CD;;;;OAIG;IACH,mBAHW,WAAW,EA0CrB;IAtCG;;;OAGG;IACH,GAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,OAFU,UAAU,CAEc;IAElC;;;OAGG;IACH,KAFU,GAAG,CAEO;IAEpB,kBAAoB;IAEpB;;;OAGG;IACH,QAFU,YAAY,CAEU;IAGhC;;;OAGG;IACH,aAFU,OAAO,CAEO;IAExB;;;OAGG;IACH,QAFU,UAAU,CAEW;IAGnC;;;;OAIG;IACH,kBAHW,MAAM,GACL,UAAU,CAQrB;IAED;;OAEG;IACH,qBAkBC;IAED;;;;;;;;;OASG;IACH,eAFa,MAAM,CA4ElB;IAGD;;;OAGG;IACH,kBAFW,UAAU,QAOpB;IAED;;;OAGG;IACH,kBAFW,UAAU,QAapB;IAED;;;;OAIG;IACH,kBAFW,UAAU;;;;;MAiCpB;IAGD;;;;OAIG;IACH,kBAFW,UAAU;;;MA6BpB;IAED;;;OAGG;IACH,kBAFW,UAAU,QASpB;IACD;;;;OAIG;IACH,kBAFW,UAAU,QAqBpB;IAED;;;;;;;;;;;OAWG;IACH,6BAWC;IAED;;;OAGG;IACH,6BAEC;IAED;;OAEG;IACH,6BAGC;IAED;;;OAGG;IACH,kBAFW,UAAU,QAIpB;IAED;;OAEG;IACH,mBACC;IAED;;OAEG;IACH,qBAwBC;IAID;;OAEG;IACH,oBAFW,UAAU,QAyFpB;IAED;;;OAGG;IACH,qBAFW,UAAU,SAIpB;IAKD;;;;OAIG;IACH,oGAYC;IAED;;;;;OAKG;IACH,mGAYC;IAED;;;;OAIG;IACH,wGA+BC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,sGA8CC;IAED;;;OAGG;IACH,SAFa,GAAG,CAqBf;;oBAxsBmB,UAAU;6BAJD,4CAA4C"}
|