@woosh/meep-engine 3.67.0 → 3.69.0
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/CHANGELOG.md +45 -0
- package/editor/ecs/component/editors/ecs/Trail3DEditor.d.ts +2 -17
- package/editor/ecs/component/editors/ecs/Trail3DEditor.d.ts.map +1 -1
- package/editor/ecs/component/editors/ecs/Trail3DEditor.js +3 -18
- package/package.json +1 -1
- package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts +33 -65
- package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts.map +1 -1
- package/src/engine/graphics/ecs/trail3d/Trail3D.js +37 -245
- package/src/engine/graphics/ecs/trail3d/Trail3DFlags.d.ts +0 -4
- package/src/engine/graphics/ecs/trail3d/Trail3DFlags.js +4 -10
- package/src/engine/graphics/ecs/trail3d/seed_trail_stroke.d.ts +13 -10
- package/src/engine/graphics/ecs/trail3d/seed_trail_stroke.d.ts.map +1 -1
- package/src/engine/graphics/ecs/trail3d/seed_trail_stroke.js +28 -37
- package/src/engine/graphics/ecs/trail3d/trail_knot_count.d.ts +10 -0
- package/src/engine/graphics/ecs/trail3d/trail_knot_count.d.ts.map +1 -0
- package/src/engine/graphics/ecs/trail3d/trail_knot_count.js +27 -0
- package/src/engine/graphics/trail/TrailKnots.d.ts +62 -0
- package/src/engine/graphics/trail/TrailKnots.d.ts.map +1 -0
- package/src/engine/graphics/trail/TrailKnots.js +137 -0
- package/src/engine/graphics/trail/tube/TubeXMaterialSpec.d.ts +1 -1
- package/src/engine/graphics/trail/tube/TubeXMaterialSpec.js +1 -1
- package/src/engine/graphics3/EntityRowHold.d.ts +48 -0
- package/src/engine/graphics3/EntityRowHold.d.ts.map +1 -0
- package/src/engine/graphics3/EntityRowHold.js +128 -0
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts +6 -2
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts.map +1 -1
- package/src/engine/graphics3/GPUParticleEmitterSystem.js +11 -44
- package/src/engine/graphics3/GraphicsEngine.d.ts.map +1 -1
- package/src/engine/graphics3/GraphicsEngine.js +4 -9
- package/src/engine/graphics3/Trail3DSystem.d.ts +69 -35
- package/src/engine/graphics3/Trail3DSystem.d.ts.map +1 -1
- package/src/engine/graphics3/Trail3DSystem.js +380 -81
- package/src/engine/graphics3/load_cube_environment.js +3 -3
- package/src/engine/physics/fluid/ecs/FluidObstacle.d.ts +17 -0
- package/src/engine/physics/fluid/ecs/FluidObstacle.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/FluidObstacle.js +22 -2
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +6 -5
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.js +14 -3
- package/src/engine/physics/fluid/obstacle/FLUID_OBSTACLE_RECORD_STRUCT.d.ts +9 -1
- package/src/engine/physics/fluid/obstacle/FLUID_OBSTACLE_RECORD_STRUCT.d.ts.map +1 -1
- package/src/engine/physics/fluid/obstacle/FLUID_OBSTACLE_RECORD_STRUCT.js +11 -1
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_record_create.d.ts +5 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_record_create.d.ts.map +1 -1
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_record_create.js +2 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_write_gpu_record.d.ts +4 -3
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_write_gpu_record.d.ts.map +1 -1
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_write_gpu_record.js +11 -3
- package/src/shade/playground/probe_clipmap/index.html +43 -0
- package/src/shade/playground/probe_clipmap/main.d.ts.map +1 -1
- package/src/shade/playground/probe_clipmap/main.js +29 -0
- package/src/shade/playground/trails/index.html +50 -0
- package/src/shade/playground/trails/main.d.ts +2 -0
- package/src/shade/playground/trails/main.d.ts.map +1 -0
- package/src/shade/playground/trails/main.js +258 -0
- package/src/shade/renderer/Renderer.d.ts +7 -0
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.js +213 -15
- package/src/shade/renderer/ShadeIndirectLightingMode.d.ts +1 -0
- package/src/shade/renderer/ShadeIndirectLightingMode.js +9 -0
- package/src/shade/renderer/animation/animation_curve_write_keys.d.ts +18 -0
- package/src/shade/renderer/animation/animation_curve_write_keys.d.ts.map +1 -0
- package/src/shade/renderer/animation/animation_curve_write_keys.js +34 -0
- package/src/shade/renderer/atmosphere/ATMOSPHERE_PARAMETERS_STRUCT.d.ts +22 -0
- package/src/shade/renderer/atmosphere/ATMOSPHERE_PARAMETERS_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/atmosphere/ATMOSPHERE_PARAMETERS_STRUCT.js +160 -0
- package/src/shade/renderer/atmosphere/ATMOSPHERE_UNIT_SCALE.d.ts +45 -0
- package/src/shade/renderer/atmosphere/ATMOSPHERE_UNIT_SCALE.d.ts.map +1 -0
- package/src/shade/renderer/atmosphere/ATMOSPHERE_UNIT_SCALE.js +57 -0
- package/src/shade/renderer/atmosphere/GPUSky.d.ts +23 -8
- package/src/shade/renderer/atmosphere/GPUSky.d.ts.map +1 -1
- package/src/shade/renderer/atmosphere/GPUSky.js +91 -34
- package/src/shade/renderer/atmosphere/SAMPLER_SKY_LUT.d.ts +17 -0
- package/src/shade/renderer/atmosphere/SAMPLER_SKY_LUT.d.ts.map +1 -1
- package/src/shade/renderer/atmosphere/SAMPLER_SKY_LUT.js +55 -25
- package/src/shade/renderer/atmosphere/SceneAtmosphere.d.ts +164 -0
- package/src/shade/renderer/atmosphere/SceneAtmosphere.d.ts.map +1 -0
- package/src/shade/renderer/atmosphere/SceneAtmosphere.js +308 -0
- package/src/shade/renderer/atmosphere/chunk_get_multiscatter_values.d.ts +3 -12
- package/src/shade/renderer/atmosphere/chunk_get_multiscatter_values.d.ts.map +1 -1
- package/src/shade/renderer/atmosphere/chunk_get_multiscatter_values.js +52 -89
- package/src/shade/renderer/atmosphere/chunk_raymarch_sky_scattering.d.ts +14 -0
- package/src/shade/renderer/atmosphere/chunk_raymarch_sky_scattering.d.ts.map +1 -0
- package/src/shade/renderer/atmosphere/chunk_raymarch_sky_scattering.js +103 -0
- package/src/shade/renderer/atmosphere/chunk_sample_multiscatter_lut.d.ts +10 -4
- package/src/shade/renderer/atmosphere/chunk_sample_multiscatter_lut.d.ts.map +1 -1
- package/src/shade/renderer/atmosphere/chunk_sample_multiscatter_lut.js +95 -57
- package/src/shade/renderer/atmosphere/chunk_sample_transmittance_lut.d.ts +10 -14
- package/src/shade/renderer/atmosphere/chunk_sample_transmittance_lut.d.ts.map +1 -1
- package/src/shade/renderer/atmosphere/chunk_sample_transmittance_lut.js +97 -69
- package/src/shade/renderer/atmosphere/chunk_sky_irradiance_lut_encode_uv.d.ts +17 -0
- package/src/shade/renderer/atmosphere/chunk_sky_irradiance_lut_encode_uv.d.ts.map +1 -1
- package/src/shade/renderer/atmosphere/chunk_sky_irradiance_lut_encode_uv.js +117 -48
- package/src/shade/renderer/atmosphere/chunk_sky_lut_compute_uv.d.ts +8 -0
- package/src/shade/renderer/atmosphere/chunk_sky_lut_compute_uv.d.ts.map +1 -1
- package/src/shade/renderer/atmosphere/chunk_sky_lut_compute_uv.js +65 -35
- package/src/shade/renderer/atmosphere/compute_mie_absorption.d.ts +2 -1
- package/src/shade/renderer/atmosphere/compute_mie_absorption.d.ts.map +1 -1
- package/src/shade/renderer/atmosphere/compute_mie_absorption.js +6 -6
- package/src/shade/renderer/atmosphere/resolve_atmosphere_sun.d.ts +41 -0
- package/src/shade/renderer/atmosphere/resolve_atmosphere_sun.d.ts.map +1 -0
- package/src/shade/renderer/atmosphere/resolve_atmosphere_sun.js +123 -0
- package/src/shade/renderer/atmosphere/shader_multiscatter_lut.d.ts.map +1 -1
- package/src/shade/renderer/atmosphere/shader_multiscatter_lut.js +21 -64
- package/src/shade/renderer/atmosphere/shader_sky_irradiance_lut.d.ts +6 -2
- package/src/shade/renderer/atmosphere/shader_sky_irradiance_lut.d.ts.map +1 -1
- package/src/shade/renderer/atmosphere/shader_sky_irradiance_lut.js +55 -179
- package/src/shade/renderer/atmosphere/shader_sky_view_lut.d.ts +7 -0
- package/src/shade/renderer/atmosphere/shader_sky_view_lut.d.ts.map +1 -0
- package/src/shade/renderer/atmosphere/shader_sky_view_lut.js +111 -0
- package/src/shade/renderer/atmosphere/shader_transmittance_lut.d.ts +0 -1
- package/src/shade/renderer/atmosphere/shader_transmittance_lut.d.ts.map +1 -1
- package/src/shade/renderer/atmosphere/shader_transmittance_lut.js +68 -79
- package/src/shade/renderer/deferred/shader_background.js +1 -1
- package/src/shade/renderer/deferred/shader_background_sky.d.ts +5 -0
- package/src/shade/renderer/deferred/shader_background_sky.d.ts.map +1 -0
- package/src/shade/renderer/deferred/shader_background_sky.js +130 -0
- package/src/shade/renderer/deferred/tonemap/ColorGrade.d.ts.map +1 -1
- package/src/shade/renderer/deferred/tonemap/ColorGrade.js +13 -36
- package/src/shade/renderer/deferred/tonemap/chunk_tonemap_purkinje.d.ts +2 -1
- package/src/shade/renderer/deferred/tonemap/chunk_tonemap_purkinje.d.ts.map +1 -1
- package/src/shade/renderer/deferred/tonemap/chunk_tonemap_purkinje.js +6 -2
- package/src/shade/renderer/dynamic/GPUDynamicMeshResidency.js +2 -2
- package/src/shade/renderer/dynamic/chunk_dynamic_mesh_avboit_vertex.d.ts +2 -13
- package/src/shade/renderer/dynamic/chunk_dynamic_mesh_avboit_vertex.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/chunk_dynamic_mesh_avboit_vertex.js +6 -21
- package/src/shade/renderer/dynamic/graph_dynamic_mesh_avboit.d.ts +17 -6
- package/src/shade/renderer/dynamic/graph_dynamic_mesh_avboit.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/graph_dynamic_mesh_avboit.js +38 -178
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_draw.d.ts +7 -9
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_draw.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_draw.js +17 -106
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_splat.d.ts +7 -17
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_splat.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_splat.js +18 -118
- package/src/shade/renderer/extension/ViewTextures.d.ts +3 -2
- package/src/shade/renderer/extension/ViewTextures.d.ts.map +1 -1
- package/src/shade/renderer/extension/ViewTextures.js +3 -2
- package/src/shade/renderer/fluid/GPUFluidCascade.d.ts +3 -3
- package/src/shade/renderer/fluid/GPUFluidCascadeStack.d.ts +1 -1
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING.d.ts +14 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING.d.ts.map +1 -1
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING.js +18 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING_APPLY_STRUCT.d.ts +3 -1
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING_APPLY_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING_APPLY_STRUCT.js +4 -1
- package/src/shade/renderer/fluid/forcing/GPUFluidForcing.d.ts +15 -6
- package/src/shade/renderer/fluid/forcing/GPUFluidForcing.d.ts.map +1 -1
- package/src/shade/renderer/fluid/forcing/GPUFluidForcing.js +20 -4
- package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_cell.d.ts +11 -2
- package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_cell.d.ts.map +1 -1
- package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_cell.js +59 -2
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_apply.d.ts +4 -1
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_apply.d.ts.map +1 -1
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_apply.js +367 -341
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_correct.d.ts +6 -2
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_correct.d.ts.map +1 -1
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_correct.js +339 -282
- package/src/shade/renderer/fluid/pressure/GPUFluidPressureSolve.d.ts +1 -1
- package/src/shade/renderer/fluid/query/GPUFluidQueries.d.ts +1 -1
- package/src/shade/renderer/global_illumination/probe/octahedral/shader_lpv_build_gbuffer.js +1 -1
- package/src/shade/renderer/global_illumination/probe_clipmap/GPUProbeClipmapGI.d.ts +20 -1
- package/src/shade/renderer/global_illumination/probe_clipmap/GPUProbeClipmapGI.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/probe_clipmap/GPUProbeClipmapGI.js +29 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_hit_light.d.ts +47 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_hit_light.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/chunk_probe_clipmap_hit_light.js +246 -0
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_light.d.ts +4 -15
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_light.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_light.js +8 -148
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace.d.ts +4 -9
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/probe_clipmap/probe/shader_probe_clipmap_trace.js +9 -58
- package/src/shade/renderer/global_illumination/screen_probe/GPUScreenProbeGI.d.ts +142 -0
- package/src/shade/renderer/global_illumination/screen_probe/GPUScreenProbeGI.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/GPUScreenProbeGI.js +938 -0
- package/src/shade/renderer/global_illumination/screen_probe/SCREEN_PROBE.d.ts +192 -0
- package/src/shade/renderer/global_illumination/screen_probe/SCREEN_PROBE.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/SCREEN_PROBE.js +231 -0
- package/src/shade/renderer/global_illumination/screen_probe/ScreenProbeDebugView.d.ts +11 -0
- package/src/shade/renderer/global_illumination/screen_probe/ScreenProbeDebugView.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/ScreenProbeDebugView.js +25 -0
- package/src/shade/renderer/global_illumination/screen_probe/ScreenProbeSettings.d.ts +110 -0
- package/src/shade/renderer/global_illumination/screen_probe/ScreenProbeSettings.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/ScreenProbeSettings.js +197 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe.d.ts +150 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe.js +408 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_brdf_density.d.ts +23 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_brdf_density.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_brdf_density.js +63 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_brick_origin.d.ts +24 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_brick_origin.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_brick_origin.js +61 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_interpolate.d.ts +39 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_interpolate.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_interpolate.js +126 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_lighting_history.d.ts +21 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_lighting_history.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_lighting_history.js +74 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_march_distance.d.ts +20 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_march_distance.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_march_distance.js +26 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_ray_sort.d.ts +24 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_ray_sort.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_ray_sort.js +57 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_screen_march.d.ts +22 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_screen_march.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_screen_march.js +53 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_surface.d.ts +62 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_surface.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_surface.js +156 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_workgroup_sum.d.ts +18 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_workgroup_sum.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe_workgroup_sum.js +50 -0
- package/src/shade/renderer/global_illumination/screen_probe/graph_screen_probe_debug_view.d.ts +21 -0
- package/src/shade/renderer/global_illumination/screen_probe/graph_screen_probe_debug_view.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/graph_screen_probe_debug_view.js +54 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_brick.d.ts +67 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_brick.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_brick.js +509 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_debug.d.ts +20 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_debug.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_debug.js +128 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_gather.d.ts +62 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_gather.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_gather.js +478 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_importance.d.ts +69 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_importance.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_importance.js +457 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_indirect_lighting.d.ts +27 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_indirect_lighting.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_indirect_lighting.js +219 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_pick.d.ts +22 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_pick.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_pick.js +151 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_place.d.ts +66 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_place.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_place.js +301 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_resolve.d.ts +59 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_resolve.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_resolve.js +364 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_trace_screen.d.ts +40 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_trace_screen.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/screen_probe/shader_screen_probe_trace_screen.js +275 -0
- package/src/shade/renderer/grass/blade/GPUGrassBlades.d.ts.map +1 -1
- package/src/shade/renderer/grass/blade/GPUGrassBlades.js +17 -2
- package/src/shade/renderer/grass/blade/grass_blade_resolve.d.ts +18 -8
- package/src/shade/renderer/grass/blade/grass_blade_resolve.d.ts.map +1 -1
- package/src/shade/renderer/grass/blade/grass_blade_resolve.js +114 -32
- package/src/shade/renderer/grass/press/shader_grass_press_mark.d.ts +3 -2
- package/src/shade/renderer/grass/press/shader_grass_press_mark.d.ts.map +1 -1
- package/src/shade/renderer/grass/press/shader_grass_press_mark.js +5 -3
- package/src/shade/renderer/light/GPULightCollection.d.ts +1 -1
- package/src/shade/renderer/light/GPULightCollection.d.ts.map +1 -1
- package/src/shade/renderer/light/GPULightCollection.js +213 -80
- package/src/shade/renderer/{atmosphere → light/environment}/chunk_sample_environment_color.d.ts +1 -2
- package/src/shade/renderer/light/environment/chunk_sample_environment_color.d.ts.map +1 -0
- package/src/shade/renderer/{atmosphere → light/environment}/chunk_sample_environment_color.js +3 -4
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
- package/src/shade/renderer/path_tracer/shader/chunk_render_trace_path.js +1 -1
- package/src/shade/renderer/postprocess/denoise/debug/graph_pass_debug_reprojection.js +1 -1
- package/src/shade/renderer/postprocess/motion_blur/MotionBlur.d.ts +1 -1
- package/src/shade/renderer/postprocess/motion_blur/MotionBlur.js +1 -1
- package/src/shade/renderer/postprocess/motion_blur/graph_postprocess_motion_blur.d.ts +1 -1
- package/src/shade/renderer/postprocess/motion_blur/graph_postprocess_motion_blur.js +1 -1
- package/src/shade/renderer/postprocess/motion_blur/shader_motion_blur_reconstruct.js +1 -1
- package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
- package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_add_hit_irradiance.js +2 -0
- package/src/shade/renderer/postprocess/ssr/resolve/chunk_ssr_sample_radiance.js +2 -0
- package/src/shade/renderer/postprocess/taa/chunk_fsr2_compute_depth_clip.d.ts +6 -0
- package/src/shade/renderer/postprocess/taa/chunk_fsr2_compute_depth_clip.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/taa/chunk_fsr2_compute_depth_clip.js +9 -1
- package/src/shade/renderer/postprocess/taa/shader_depth_occlusion_clip.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/taa/shader_depth_occlusion_clip.js +4 -3
- package/src/shade/renderer/postprocess/velocity/VELOCITY_BUFFER.d.ts +17 -0
- package/src/shade/renderer/postprocess/velocity/VELOCITY_BUFFER.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/velocity/VELOCITY_BUFFER.js +16 -0
- package/src/shade/renderer/postprocess/velocity/chunk_velocity_texel.d.ts +21 -0
- package/src/shade/renderer/postprocess/velocity/chunk_velocity_texel.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/velocity/chunk_velocity_texel.js +30 -0
- package/src/shade/renderer/postprocess/velocity/graph_add_per_object_velocity.d.ts +7 -5
- package/src/shade/renderer/postprocess/velocity/graph_add_per_object_velocity.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/velocity/graph_add_per_object_velocity.js +19 -17
- package/src/shade/renderer/rasterize/forward/chunk_forward_sample_indirect.js +2 -0
- package/src/shade/renderer/rasterize/native/avboit/avboit_unlit_draw.d.ts +49 -0
- package/src/shade/renderer/rasterize/native/avboit/avboit_unlit_draw.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/native/avboit/avboit_unlit_draw.js +144 -0
- package/src/shade/renderer/rasterize/native/avboit/avboit_unlit_splat.d.ts +71 -0
- package/src/shade/renderer/rasterize/native/avboit/avboit_unlit_splat.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/native/avboit/avboit_unlit_splat.js +152 -0
- package/src/shade/renderer/rasterize/native/avboit/chunk_avboit_unlit_varyings.d.ts +21 -0
- package/src/shade/renderer/rasterize/native/avboit/chunk_avboit_unlit_varyings.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/native/avboit/chunk_avboit_unlit_varyings.js +30 -0
- package/src/shade/renderer/rasterize/native/avboit/graph_avboit_unlit.d.ts +101 -0
- package/src/shade/renderer/rasterize/native/avboit/graph_avboit_unlit.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/native/avboit/graph_avboit_unlit.js +306 -0
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_splat.d.ts +9 -0
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_splat.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_splat.js +11 -4
- package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
- package/src/shade/renderer/scene/GPUSceneContext.js +2 -1
- package/src/shade/renderer/scene/Scene.d.ts +9 -2
- package/src/shade/renderer/scene/Scene.d.ts.map +1 -1
- package/src/shade/renderer/scene/Scene.js +10 -2
- package/src/shade/renderer/shader/ImageShader.d.ts +24 -12
- package/src/shade/renderer/shader/ImageShader.d.ts.map +1 -1
- package/src/shade/renderer/shader/ImageShader.js +11 -8
- package/src/shade/renderer/shader/chunk/atmosphere/ATMOSPHERE_HEIGHT_DECLARATION.d.ts +3 -1
- package/src/shade/renderer/shader/chunk/atmosphere/ATMOSPHERE_HEIGHT_DECLARATION.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/atmosphere/ATMOSPHERE_HEIGHT_DECLARATION.js +11 -3
- package/src/shade/renderer/shader/chunk/atmosphere/ATMOSPHERE_RADII_DECLARATION.d.ts +2 -11
- package/src/shade/renderer/shader/chunk/atmosphere/ATMOSPHERE_RADII_DECLARATION.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/atmosphere/ATMOSPHERE_RADII_DECLARATION.js +23 -32
- package/src/shade/renderer/shader/chunk/atmosphere/PLANET_RADIUS_DECLARATION.d.ts +6 -0
- package/src/shade/renderer/shader/chunk/atmosphere/PLANET_RADIUS_DECLARATION.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/atmosphere/PLANET_RADIUS_DECLARATION.js +14 -2
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_atmosphere_height.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_atmosphere_height.js +4 -2
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_atmosphere_intersection.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_atmosphere_intersection.js +11 -3
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_atmosphere_ray_bounds.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_atmosphere_ray_bounds.js +68 -69
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_get_sun_transmittance.d.ts +4 -1
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_get_sun_transmittance.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_get_sun_transmittance.js +46 -39
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_position_relative_to_planet_center.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_position_relative_to_planet_center.js +5 -3
- package/src/shade/renderer/shader/chunk/color/tonemap/purkinje/chunk_apply_purkinje_shift.d.ts +18 -10
- package/src/shade/renderer/shader/chunk/color/tonemap/purkinje/chunk_apply_purkinje_shift.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/color/tonemap/purkinje/chunk_apply_purkinje_shift.js +30 -27
- package/src/shade/renderer/shader/chunk/depth/chunk_get_device_depth.d.ts +14 -0
- package/src/shade/renderer/shader/chunk/depth/chunk_get_device_depth.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/depth/chunk_get_device_depth.js +30 -0
- package/src/shade/renderer/shader/chunk/geometry/octahedron/chunk_uv_equal_area_sphere.d.ts +21 -0
- package/src/shade/renderer/shader/chunk/geometry/octahedron/chunk_uv_equal_area_sphere.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/geometry/octahedron/chunk_uv_equal_area_sphere.js +60 -0
- package/src/shade/renderer/shader/chunk/light/{sky/chunk_sample_sky_color.d.ts → io/chunk_light_get_sun.d.ts} +3 -6
- package/src/shade/renderer/shader/chunk/light/io/chunk_light_get_sun.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/light/{sky/chunk_sample_sky_color.js → io/chunk_light_get_sun.js} +6 -26
- package/src/shade/renderer/shadow/sdf/cascade/shader_scene_sdf_soft_shadows.js +1 -1
- package/src/shade/renderer/trails/GPUTrailAVBOITChannel.d.ts +69 -0
- package/src/shade/renderer/trails/GPUTrailAVBOITChannel.d.ts.map +1 -0
- package/src/shade/renderer/trails/GPUTrailAVBOITChannel.js +129 -0
- package/src/shade/renderer/trails/GPUTrailSystem.d.ts +164 -0
- package/src/shade/renderer/trails/GPUTrailSystem.d.ts.map +1 -0
- package/src/shade/renderer/trails/GPUTrailSystem.js +725 -0
- package/src/shade/renderer/trails/data/TRAIL_DATABASE_SPEC.d.ts +14 -0
- package/src/shade/renderer/trails/data/TRAIL_DATABASE_SPEC.d.ts.map +1 -0
- package/src/shade/renderer/trails/data/TRAIL_DATABASE_SPEC.js +38 -0
- package/src/shade/renderer/trails/data/TRAIL_KNOT.d.ts +66 -0
- package/src/shade/renderer/trails/data/TRAIL_KNOT.d.ts.map +1 -0
- package/src/shade/renderer/trails/data/TRAIL_KNOT.js +154 -0
- package/src/shade/renderer/trails/data/TRAIL_RECORD.d.ts +19 -0
- package/src/shade/renderer/trails/data/TRAIL_RECORD.d.ts.map +1 -0
- package/src/shade/renderer/trails/data/TRAIL_RECORD.js +68 -0
- package/src/shade/renderer/trails/data/TRAIL_STATE.d.ts +18 -0
- package/src/shade/renderer/trails/data/TRAIL_STATE.d.ts.map +1 -0
- package/src/shade/renderer/trails/data/TRAIL_STATE.js +43 -0
- package/src/shade/renderer/trails/graph_trails.d.ts +58 -0
- package/src/shade/renderer/trails/graph_trails.d.ts.map +1 -0
- package/src/shade/renderer/trails/graph_trails.js +155 -0
- package/src/shade/renderer/trails/graph_trails_avboit.d.ts +126 -0
- package/src/shade/renderer/trails/graph_trails_avboit.d.ts.map +1 -0
- package/src/shade/renderer/trails/graph_trails_avboit.js +300 -0
- package/src/shade/renderer/trails/runtime/TrailFadeCurves.d.ts +56 -0
- package/src/shade/renderer/trails/runtime/TrailFadeCurves.d.ts.map +1 -0
- package/src/shade/renderer/trails/runtime/TrailFadeCurves.js +220 -0
- package/src/shade/renderer/trails/runtime/TrailKnotPool.d.ts +49 -0
- package/src/shade/renderer/trails/runtime/TrailKnotPool.d.ts.map +1 -0
- package/src/shade/renderer/trails/runtime/TrailKnotPool.js +162 -0
- package/src/shade/renderer/trails/runtime/TrailParameters.d.ts +52 -0
- package/src/shade/renderer/trails/runtime/TrailParameters.d.ts.map +1 -0
- package/src/shade/renderer/trails/runtime/TrailParameters.js +126 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_frame_transport.d.ts +23 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_frame_transport.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_frame_transport.js +57 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_knot_alpha.d.ts +14 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_knot_alpha.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_knot_alpha.js +40 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_seed.d.ts +18 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_seed.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_seed.js +64 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_segment.d.ts +14 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_segment.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_segment.js +51 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_update.d.ts +48 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_update.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_update.js +197 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_vertex.d.ts +34 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_vertex.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_vertex.js +111 -0
- package/src/shade/renderer/trails/shaders/shader_trail_avboit.d.ts +24 -0
- package/src/shade/renderer/trails/shaders/shader_trail_avboit.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/shader_trail_avboit.js +78 -0
- package/src/shade/renderer/trails/shaders/shader_trail_avboit_segments.d.ts +23 -0
- package/src/shade/renderer/trails/shaders/shader_trail_avboit_segments.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/shader_trail_avboit_segments.js +130 -0
- package/src/shade/renderer/trails/shaders/shader_trail_draw_args.d.ts +29 -0
- package/src/shade/renderer/trails/shaders/shader_trail_draw_args.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/shader_trail_draw_args.js +78 -0
- package/src/shade/renderer/trails/shaders/shader_trail_seed.d.ts +18 -0
- package/src/shade/renderer/trails/shaders/shader_trail_seed.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/shader_trail_seed.js +79 -0
- package/src/shade/renderer/trails/shaders/shader_trail_update.d.ts +20 -0
- package/src/shade/renderer/trails/shaders/shader_trail_update.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/shader_trail_update.js +101 -0
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts +3 -1
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.js +4 -2
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.js +743 -739
- package/src/shade/renderer/volumetrics/irradiance_clipmap/chunk_irradiance_clipmap_gi_sample.js +2 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_lighting.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_lighting.js +19 -17
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_scattering_lut.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_scattering_lut.js +5 -3
- package/src/shade/renderer/water/chunk_water_gi.js +2 -0
- package/src/shade/renderer/water/query/GPUWaterQueries.d.ts +1 -1
- package/src/shade/renderer/wind/GPUSceneWind.d.ts +1 -1
- package/src/engine/graphics/ecs/trail3d/advance_trail.d.ts +0 -18
- package/src/engine/graphics/ecs/trail3d/advance_trail.d.ts.map +0 -1
- package/src/engine/graphics/ecs/trail3d/advance_trail.js +0 -42
- package/src/engine/graphics/ecs/trail3d/seed_trail_tube.d.ts +0 -14
- package/src/engine/graphics/ecs/trail3d/seed_trail_tube.d.ts.map +0 -1
- package/src/engine/graphics/ecs/trail3d/seed_trail_tube.js +0 -75
- package/src/engine/graphics/ecs/trail3d/trail_head_position.d.ts +0 -17
- package/src/engine/graphics/ecs/trail3d/trail_head_position.d.ts.map +0 -1
- package/src/engine/graphics/ecs/trail3d/trail_head_position.js +0 -19
- package/src/engine/graphics/sh3/path_tracer/make_sky_hosek.d.ts +0 -2
- package/src/engine/graphics/sh3/path_tracer/make_sky_hosek.d.ts.map +0 -1
- package/src/engine/graphics/sh3/path_tracer/make_sky_hosek.js +0 -45
- package/src/engine/graphics/sh3/path_tracer/make_sky_rtiw.d.ts +0 -2
- package/src/engine/graphics/sh3/path_tracer/make_sky_rtiw.d.ts.map +0 -1
- package/src/engine/graphics/sh3/path_tracer/make_sky_rtiw.js +0 -17
- package/src/engine/graphics/sh3/sky/hosek/README.md +0 -4
- package/src/engine/graphics/sh3/sky/hosek/data.d.ts +0 -17
- package/src/engine/graphics/sh3/sky/hosek/data.d.ts.map +0 -1
- package/src/engine/graphics/sh3/sky/hosek/data.js +0 -3744
- package/src/engine/graphics/sh3/sky/hosek/prototype_hosek.d.ts +0 -2
- package/src/engine/graphics/sh3/sky/hosek/prototype_hosek.d.ts.map +0 -1
- package/src/engine/graphics/sh3/sky/hosek/prototype_hosek.js +0 -71
- package/src/engine/graphics/sh3/sky/hosek/render_hosek_sky_to_equirectangular.d.ts +0 -26
- package/src/engine/graphics/sh3/sky/hosek/render_hosek_sky_to_equirectangular.d.ts.map +0 -1
- package/src/engine/graphics/sh3/sky/hosek/render_hosek_sky_to_equirectangular.js +0 -70
- package/src/engine/graphics/sh3/sky/hosek/sky_hosek_compute_irradiance_by_direction.d.ts +0 -22
- package/src/engine/graphics/sh3/sky/hosek/sky_hosek_compute_irradiance_by_direction.d.ts.map +0 -1
- package/src/engine/graphics/sh3/sky/hosek/sky_hosek_compute_irradiance_by_direction.js +0 -388
- package/src/engine/graphics/trail/tube/TubeX.d.ts +0 -186
- package/src/engine/graphics/trail/tube/TubeX.d.ts.map +0 -1
- package/src/engine/graphics/trail/tube/TubeX.js +0 -575
- package/src/engine/graphics/trail/tube/simulator/TubeXFixedPhysicsSimulator.d.ts +0 -16
- package/src/engine/graphics/trail/tube/simulator/TubeXFixedPhysicsSimulator.d.ts.map +0 -1
- package/src/engine/graphics/trail/tube/simulator/TubeXFixedPhysicsSimulator.js +0 -34
- package/src/engine/graphics/trail/tube/tube_attributes_spec.d.ts +0 -27
- package/src/engine/graphics/trail/tube/tube_attributes_spec.d.ts.map +0 -1
- package/src/engine/graphics/trail/tube/tube_attributes_spec.js +0 -70
- package/src/engine/graphics3/make_default_environment.d.ts +0 -15
- package/src/engine/graphics3/make_default_environment.d.ts.map +0 -1
- package/src/engine/graphics3/make_default_environment.js +0 -111
- package/src/engine/graphics3/trail/trail_tube_write_geometry.d.ts +0 -38
- package/src/engine/graphics3/trail/trail_tube_write_geometry.d.ts.map +0 -1
- package/src/engine/graphics3/trail/trail_tube_write_geometry.js +0 -119
- package/src/shade/renderer/atmosphere/MIE_G.d.ts +0 -6
- package/src/shade/renderer/atmosphere/MIE_G.d.ts.map +0 -1
- package/src/shade/renderer/atmosphere/MIE_G.js +0 -5
- package/src/shade/renderer/atmosphere/chunk_sample_environment_color.d.ts.map +0 -1
- package/src/shade/renderer/atmosphere/hillaire/ATMOSPHERE_EARTH.d.ts +0 -4
- package/src/shade/renderer/atmosphere/hillaire/ATMOSPHERE_EARTH.d.ts.map +0 -1
- package/src/shade/renderer/atmosphere/hillaire/ATMOSPHERE_EARTH.js +0 -44
- package/src/shade/renderer/atmosphere/hillaire/ATMOSPHERE_PARAMETERS_STRUCT.d.ts +0 -2
- package/src/shade/renderer/atmosphere/hillaire/ATMOSPHERE_PARAMETERS_STRUCT.d.ts.map +0 -1
- package/src/shade/renderer/atmosphere/hillaire/ATMOSPHERE_PARAMETERS_STRUCT.js +0 -43
- package/src/shade/renderer/shader/chunk/atmosphere/ATMOSPHERE_DENSITY_DECLARATION.d.ts +0 -3
- package/src/shade/renderer/shader/chunk/atmosphere/ATMOSPHERE_DENSITY_DECLARATION.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/atmosphere/ATMOSPHERE_DENSITY_DECLARATION.js +0 -6
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_absorb.d.ts +0 -3
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_absorb.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_absorb.js +0 -18
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_integrate_optical_depth.d.ts +0 -14
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_integrate_optical_depth.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_integrate_optical_depth.js +0 -86
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_integrate_scattering.d.ts +0 -8
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_integrate_scattering.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_integrate_scattering.js +0 -125
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_planet_intersection.d.ts +0 -3
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_planet_intersection.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_planet_intersection.js +0 -17
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_sphere_intersection_nearest.d.ts +0 -3
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_sphere_intersection_nearest.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/atmosphere/chunk_sphere_intersection_nearest.js +0 -38
- package/src/shade/renderer/shader/chunk/atmosphere/hillaire/DENSITY_PROFILE_LAYER_STRUCT.d.ts +0 -16
- package/src/shade/renderer/shader/chunk/atmosphere/hillaire/DENSITY_PROFILE_LAYER_STRUCT.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/atmosphere/hillaire/DENSITY_PROFILE_LAYER_STRUCT.js +0 -28
- package/src/shade/renderer/shader/chunk/light/sky/chunk_sample_sky_color.d.ts.map +0 -1
- package/src/shade/renderer/view/GPUViewSkyContext.d.ts +0 -26
- package/src/shade/renderer/view/GPUViewSkyContext.d.ts.map +0 -1
- package/src/shade/renderer/view/GPUViewSkyContext.js +0 -170
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { assert } from "../../../../core/assert.js";
|
|
2
|
+
import { isPowerOfTwo } from "../../../../core/math/isPowerOfTwo.js";
|
|
3
|
+
import { SCREEN_PROBE_OCTAHEDRON_LIMIT, SCREEN_PROBE_OCTAHEDRON_MINIMUM } from "./SCREEN_PROBE.js";
|
|
4
|
+
import { ScreenProbeDebugView } from "./ScreenProbeDebugView.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Settings of {@link ShadeIndirectLightingMode.ScreenProbes}, held on `Renderer.screen_probes` and read every frame
|
|
8
|
+
* the mode runs. The world the probes trace and the world-space probes past their reach are the probe clipmap's,
|
|
9
|
+
* set by `Renderer.probe_clipmap` (`ProbeClipmapSettings`).
|
|
10
|
+
*
|
|
11
|
+
* Two kinds of field, by what a change costs:
|
|
12
|
+
* - **structure**: {@link downsample_factor} and {@link octahedron_resolution}. A change makes the screen probes'
|
|
13
|
+
* resources again at the next frame, and their history starts from nothing.
|
|
14
|
+
* - **the rest** set the frame's passes and take effect the next frame without a rebuild.
|
|
15
|
+
*
|
|
16
|
+
* Each setter checks what its own value must be; what the device and the probes' layout hold is checked when the
|
|
17
|
+
* screen probes are made.
|
|
18
|
+
*/
|
|
19
|
+
export class ScreenProbeSettings {
|
|
20
|
+
|
|
21
|
+
#downsample_factor = 16;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Pixels between the uniform probes along each axis: one probe stands on the G-buffer in every square tile of
|
|
25
|
+
* this many pixels a side, Lumen's `ScreenProbeGather.DownsampleFactor`. Adaptive probes fill in between where
|
|
26
|
+
* interpolating the uniform ones would cross an edge ({@link adaptive_min_downsample_factor}). Every ray a probe
|
|
27
|
+
* casts and every pixel's interpolation scale with the count, so the cost goes as the inverse square of this.
|
|
28
|
+
* Structure.
|
|
29
|
+
* @returns {number}
|
|
30
|
+
*/
|
|
31
|
+
get downsample_factor() {
|
|
32
|
+
return this.#downsample_factor;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @param {number} v a power of two from 1: tiles are found by shifts
|
|
37
|
+
*/
|
|
38
|
+
set downsample_factor(v) {
|
|
39
|
+
assert.isPositiveInteger(v, 'downsample_factor');
|
|
40
|
+
assert.ok(isPowerOfTwo(v), 'downsample_factor must be a power of two');
|
|
41
|
+
|
|
42
|
+
this.#downsample_factor = v;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
#octahedron_resolution = 8;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Texels a side of a probe's radiance, over the sphere by Clarberg's equal-area map: each probe casts this
|
|
49
|
+
* squared rays a frame, one a texel, Lumen's `TracingOctahedronResolution`. With importance sampling a ray may
|
|
50
|
+
* instead stand in a quarter of a texel at twice this resolution, where the probe's light is brightest.
|
|
51
|
+
* Structure.
|
|
52
|
+
* @returns {number}
|
|
53
|
+
*/
|
|
54
|
+
get octahedron_resolution() {
|
|
55
|
+
return this.#octahedron_resolution;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* @param {number} v 4, 8 or 16: Lumen's range, whose top is what a probe's workgroup sorts and accumulates in its
|
|
60
|
+
* memory (`SCREEN_PROBE_OCTAHEDRON_MINIMUM`, `SCREEN_PROBE_OCTAHEDRON_LIMIT`)
|
|
61
|
+
*/
|
|
62
|
+
set octahedron_resolution(v) {
|
|
63
|
+
assert.isPositiveInteger(v, 'octahedron_resolution');
|
|
64
|
+
assert.ok(isPowerOfTwo(v) && v >= SCREEN_PROBE_OCTAHEDRON_MINIMUM && v <= SCREEN_PROBE_OCTAHEDRON_LIMIT, 'octahedron_resolution must be 4, 8 or 16');
|
|
65
|
+
|
|
66
|
+
this.#octahedron_resolution = v;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
#adaptive_min_downsample_factor = 4;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* The finest spacing adaptive probes are placed at, in pixels, Lumen's `AdaptiveProbeMinDownsampleFactor`.
|
|
73
|
+
* Placement runs at half the {@link downsample_factor}, then a quarter, while the spacing is at least this:
|
|
74
|
+
* a pixel on that finer grid gets a probe where the probes already placed would not interpolate to it. At or
|
|
75
|
+
* above the downsample factor no adaptive probe is placed.
|
|
76
|
+
* @returns {number}
|
|
77
|
+
*/
|
|
78
|
+
get adaptive_min_downsample_factor() {
|
|
79
|
+
return this.#adaptive_min_downsample_factor;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @param {number} v a power of two from 1
|
|
84
|
+
*/
|
|
85
|
+
set adaptive_min_downsample_factor(v) {
|
|
86
|
+
assert.isPositiveInteger(v, 'adaptive_min_downsample_factor');
|
|
87
|
+
assert.ok(isPowerOfTwo(v), 'adaptive_min_downsample_factor must be a power of two');
|
|
88
|
+
|
|
89
|
+
this.#adaptive_min_downsample_factor = v;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
#importance_sampling = true;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Whether a probe's rays follow where its light comes from (Lumen's structured importance sampling): each texel
|
|
96
|
+
* is weighed by the cosine lobes of the pixels around the probe and by the light the probe's history saw there;
|
|
97
|
+
* the rays of texels the pixels cannot see go, three at a time, to split the brightest texels into four. Off,
|
|
98
|
+
* every texel takes one ray. Takes effect the next frame.
|
|
99
|
+
* @returns {boolean}
|
|
100
|
+
*/
|
|
101
|
+
get importance_sampling() {
|
|
102
|
+
return this.#importance_sampling;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* @param {boolean} v
|
|
107
|
+
*/
|
|
108
|
+
set importance_sampling(v) {
|
|
109
|
+
assert.isBoolean(v, 'importance_sampling');
|
|
110
|
+
|
|
111
|
+
this.#importance_sampling = v;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
#screen_traces = true;
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Whether a probe's rays are traced through the screen first, against the depth buffer's hierarchy, and lit by the
|
|
118
|
+
* last frame's colour where they hit; what the screen cannot answer goes on through the SDF bricks. Off, every
|
|
119
|
+
* ray is traced through the bricks alone. Takes effect the next frame.
|
|
120
|
+
* @returns {boolean}
|
|
121
|
+
*/
|
|
122
|
+
get screen_traces() {
|
|
123
|
+
return this.#screen_traces;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* @param {boolean} v
|
|
128
|
+
*/
|
|
129
|
+
set screen_traces(v) {
|
|
130
|
+
assert.isBoolean(v, 'screen_traces');
|
|
131
|
+
|
|
132
|
+
this.#screen_traces = v;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
#spatial_filter_passes = 3;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Passes of the filter between neighbouring probes, Lumen's `SpatialFilterNumPasses`: each texel takes its four
|
|
139
|
+
* neighbours' along the same direction where they stand on its surface and saw the same point. Zero records none.
|
|
140
|
+
* Takes effect the next frame.
|
|
141
|
+
* @returns {number}
|
|
142
|
+
*/
|
|
143
|
+
get spatial_filter_passes() {
|
|
144
|
+
return this.#spatial_filter_passes;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* @param {number} v a non-negative integer
|
|
149
|
+
*/
|
|
150
|
+
set spatial_filter_passes(v) {
|
|
151
|
+
assert.isNonNegativeInteger(v, 'spatial_filter_passes');
|
|
152
|
+
|
|
153
|
+
this.#spatial_filter_passes = v;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
#temporal_frames = 10;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* The most frames the temporal filter averages a pixel's diffuse over, Lumen's `Temporal.MaxFramesAccumulated`:
|
|
160
|
+
* a pixel whose history holds blends its new light by 1 / (1 + frames). Where the probes' rays saw something
|
|
161
|
+
* move, it takes fewer. Takes effect the next frame.
|
|
162
|
+
* @returns {number}
|
|
163
|
+
*/
|
|
164
|
+
get temporal_frames() {
|
|
165
|
+
return this.#temporal_frames;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* @param {number} v frames, at least 1 and finite
|
|
170
|
+
*/
|
|
171
|
+
set temporal_frames(v) {
|
|
172
|
+
assert.isFinite(v, 'temporal_frames');
|
|
173
|
+
assert.greaterThanOrEqual(v, 1, 'temporal_frames');
|
|
174
|
+
|
|
175
|
+
this.#temporal_frames = v;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
#debug_view = ScreenProbeDebugView.None;
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* What the frame shows in place of its colour, before TAA: the frame itself, or one of the mode's debug views.
|
|
182
|
+
* Takes effect the next frame.
|
|
183
|
+
* @returns {ScreenProbeDebugView}
|
|
184
|
+
*/
|
|
185
|
+
get debug_view() {
|
|
186
|
+
return this.#debug_view;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* @param {ScreenProbeDebugView} v
|
|
191
|
+
*/
|
|
192
|
+
set debug_view(v) {
|
|
193
|
+
assert.enum(v, ScreenProbeDebugView, 'debug_view');
|
|
194
|
+
|
|
195
|
+
this.#debug_view = v;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What every pass of a frame reads of the frame's probes, a uniform the host writes once a frame.
|
|
3
|
+
* @type {WebGPUStruct}
|
|
4
|
+
*/
|
|
5
|
+
export const SCREEN_PROBE_FRAME_STRUCT: WebGPUStruct;
|
|
6
|
+
/**
|
|
7
|
+
* A screen probe, 32 bytes: where it stands on the G-buffer, as placement writes it.
|
|
8
|
+
* @type {WebGPUStruct}
|
|
9
|
+
*/
|
|
10
|
+
export const SCREEN_PROBE_STRUCT: WebGPUStruct;
|
|
11
|
+
/**
|
|
12
|
+
* Where a screen probe's rays leave from in the bricks, where they end their trace and what answers for the rest,
|
|
13
|
+
* 64 bytes: the world-space probes picked at the probe (`probe_clipmap_pick`), its rays' origin, and its reach.
|
|
14
|
+
* @type {WebGPUStruct}
|
|
15
|
+
*/
|
|
16
|
+
export const SCREEN_PROBE_PICK_STRUCT: WebGPUStruct;
|
|
17
|
+
/**
|
|
18
|
+
* A ray the screen left to the bricks, 28 bytes, through the passes that trace and light it.
|
|
19
|
+
* @type {WebGPUStruct}
|
|
20
|
+
*/
|
|
21
|
+
export const SCREEN_PROBE_RAY_STRUCT: WebGPUStruct;
|
|
22
|
+
/** @type {ShaderResourceDescriptor} */
|
|
23
|
+
export const SCREEN_PROBE_FRAME_RESOURCE: ShaderResourceDescriptor;
|
|
24
|
+
/**
|
|
25
|
+
* The factor the display multiplies radiance by ahead of its tone curve, as the last frame was shown: what the
|
|
26
|
+
* probes' radiance is pre-exposed by, Lumen's `View.PreExposure`.
|
|
27
|
+
* @type {ShaderResourceDescriptor}
|
|
28
|
+
*/
|
|
29
|
+
export const SCREEN_PROBE_EXPOSURE_RESOURCE: ShaderResourceDescriptor;
|
|
30
|
+
/** The exposure last frame's probes' radiance was pre-exposed by. @type {ShaderResourceDescriptor} */
|
|
31
|
+
export const SCREEN_PROBE_EXPOSURE_PREVIOUS_RESOURCE: ShaderResourceDescriptor;
|
|
32
|
+
/** The frame's probes, uniform then adaptive. @type {ShaderResourceDescriptor} */
|
|
33
|
+
export const SCREEN_PROBES_READ_RESOURCE: ShaderResourceDescriptor;
|
|
34
|
+
/** @type {ShaderResourceDescriptor} */
|
|
35
|
+
export const SCREEN_PROBES_WRITE_RESOURCE: ShaderResourceDescriptor;
|
|
36
|
+
/** Last frame's probes, as this frame's lighting density reprojects into. @type {ShaderResourceDescriptor} */
|
|
37
|
+
export const SCREEN_PROBES_PREVIOUS_RESOURCE: ShaderResourceDescriptor;
|
|
38
|
+
/** @type {ShaderResourceDescriptor} */
|
|
39
|
+
export const SCREEN_PROBE_PICKS_READ_RESOURCE: ShaderResourceDescriptor;
|
|
40
|
+
/** @type {ShaderResourceDescriptor} */
|
|
41
|
+
export const SCREEN_PROBE_PICKS_WRITE_RESOURCE: ShaderResourceDescriptor;
|
|
42
|
+
/** The commands and counts of the frame (`SCREEN_PROBE_DISPATCH_*`), read-only to the passes after the one that writes them. @type {ShaderResourceDescriptor} */
|
|
43
|
+
export const SCREEN_PROBE_DISPATCH_READ_RESOURCE: ShaderResourceDescriptor;
|
|
44
|
+
/** @type {ShaderResourceDescriptor} */
|
|
45
|
+
export const SCREEN_PROBE_DISPATCH_WRITE_RESOURCE: ShaderResourceDescriptor;
|
|
46
|
+
/** The frame's atomic counters (`SCREEN_PROBE_COUNTER_*`). @type {ShaderResourceDescriptor} */
|
|
47
|
+
export const SCREEN_PROBE_COUNTERS_RESOURCE: ShaderResourceDescriptor;
|
|
48
|
+
/** @type {ShaderResourceDescriptor} */
|
|
49
|
+
export const SCREEN_PROBE_COUNTERS_READ_RESOURCE: ShaderResourceDescriptor;
|
|
50
|
+
/** Each tile's count of adaptive probes. @type {ShaderResourceDescriptor} */
|
|
51
|
+
export const SCREEN_PROBE_TILE_COUNTS_READ_RESOURCE: ShaderResourceDescriptor;
|
|
52
|
+
/** @type {ShaderResourceDescriptor} */
|
|
53
|
+
export const SCREEN_PROBE_TILE_COUNTS_WRITE_RESOURCE: ShaderResourceDescriptor;
|
|
54
|
+
/** Each tile's adaptive probes, `adaptive_tile_capacity` slots a tile: the k of probe uniform_count + k. @type {ShaderResourceDescriptor} */
|
|
55
|
+
export const SCREEN_PROBE_TILE_PROBES_READ_RESOURCE: ShaderResourceDescriptor;
|
|
56
|
+
/** @type {ShaderResourceDescriptor} */
|
|
57
|
+
export const SCREEN_PROBE_TILE_PROBES_WRITE_RESOURCE: ShaderResourceDescriptor;
|
|
58
|
+
/** The rays the screen left to the bricks. @type {ShaderResourceDescriptor} */
|
|
59
|
+
export const SCREEN_PROBE_RAYS_READ_RESOURCE: ShaderResourceDescriptor;
|
|
60
|
+
/** @type {ShaderResourceDescriptor} */
|
|
61
|
+
export const SCREEN_PROBE_RAYS_WRITE_RESOURCE: ShaderResourceDescriptor;
|
|
62
|
+
/** Each probe's share of its rays' light that came from something moving relative to it, 0 to 1, as the composite writes it. @type {ShaderResourceDescriptor} */
|
|
63
|
+
export const SCREEN_PROBE_MOVING_READ_RESOURCE: ShaderResourceDescriptor;
|
|
64
|
+
/** @type {ShaderResourceDescriptor} */
|
|
65
|
+
export const SCREEN_PROBE_MOVING_WRITE_RESOURCE: ShaderResourceDescriptor;
|
|
66
|
+
/** Each probe's radiance, `rgba16float`, n² texels a probe in the atlas: rgb the radiance pre-exposed (`screen_probe_exposure`), a the nearest hit of the rays it holds, negative where none landed. @type {ShaderResourceDescriptor} */
|
|
67
|
+
export const SCREEN_PROBE_RADIANCE_READ_RESOURCE: ShaderResourceDescriptor;
|
|
68
|
+
/** @type {ShaderResourceDescriptor} */
|
|
69
|
+
export const SCREEN_PROBE_RADIANCE_WRITE_RESOURCE: ShaderResourceDescriptor;
|
|
70
|
+
/** Each probe's pre-exposed radiance SH3, as the probe clipmap's records hold theirs (`probe_record_sh_encode`). @type {ShaderResourceDescriptor} */
|
|
71
|
+
export const SCREEN_PROBE_SH_READ_RESOURCE: ShaderResourceDescriptor;
|
|
72
|
+
/** @type {ShaderResourceDescriptor} */
|
|
73
|
+
export const SCREEN_PROBE_SH_WRITE_RESOURCE: ShaderResourceDescriptor;
|
|
74
|
+
/** Each ray's texel and level, `r32uint`, a texel a ray in the probes' atlas. @type {ShaderResourceDescriptor} */
|
|
75
|
+
export const SCREEN_PROBE_RAY_INFO_READ_RESOURCE: ShaderResourceDescriptor;
|
|
76
|
+
/** @type {ShaderResourceDescriptor} */
|
|
77
|
+
export const SCREEN_PROBE_RAY_INFO_WRITE_RESOURCE: ShaderResourceDescriptor;
|
|
78
|
+
/** Each ray's radiance pre-exposed (`screen_probe_exposure`), `rgba16float`. @type {ShaderResourceDescriptor} */
|
|
79
|
+
export const SCREEN_PROBE_TRACE_RADIANCE_READ_RESOURCE: ShaderResourceDescriptor;
|
|
80
|
+
/** @type {ShaderResourceDescriptor} */
|
|
81
|
+
export const SCREEN_PROBE_TRACE_RADIANCE_WRITE_RESOURCE: ShaderResourceDescriptor;
|
|
82
|
+
/** Each ray's hit word (`screen_probe_trace_hit_pack`), `r32uint`. @type {ShaderResourceDescriptor} */
|
|
83
|
+
export const SCREEN_PROBE_TRACE_HIT_READ_RESOURCE: ShaderResourceDescriptor;
|
|
84
|
+
/** @type {ShaderResourceDescriptor} */
|
|
85
|
+
export const SCREEN_PROBE_TRACE_HIT_WRITE_RESOURCE: ShaderResourceDescriptor;
|
|
86
|
+
/**
|
|
87
|
+
* Probe addressing, the probes' records and their rays' words (Lumen's `LumenScreenProbeCommon.ush`):
|
|
88
|
+
*
|
|
89
|
+
* ```wgsl
|
|
90
|
+
* fn screen_probe_atlas(probe: u32) -> vec2<u32> // the probe's place in the atlas, in probes
|
|
91
|
+
* fn screen_probe_texel(probe: u32, slot: u32) -> vec2<u32> // its slot's texel in an atlas of n² a probe
|
|
92
|
+
* fn screen_probe_pixel_encode(pixel: vec2<u32>) -> u32
|
|
93
|
+
* fn screen_probe_pixel_decode(word: u32) -> vec2<u32>
|
|
94
|
+
* fn screen_probe_tile_of_pixel(pixel: vec2<u32>) -> vec2<u32> // the tile of a pixel placed on this frame's grid
|
|
95
|
+
* fn screen_probe_plane_weight(plane: vec4<f32>, point: vec3<f32>, depth: f32) -> f32
|
|
96
|
+
* fn screen_probe_ray_info_pack(texel: vec2<u32>, level: u32) -> u32
|
|
97
|
+
* fn screen_probe_ray_info_texel(info: u32) -> vec2<u32>
|
|
98
|
+
* fn screen_probe_ray_info_level(info: u32) -> u32 // 1 the probe's n, 0 twice it
|
|
99
|
+
* fn screen_probe_ray_direction(info: u32, jitter: vec2<f32>) -> vec3<f32>
|
|
100
|
+
* fn screen_probe_trace_hit_pack(kind: u32, distance: f32, moving: bool) -> u32
|
|
101
|
+
* fn screen_probe_trace_hit_kind(word: u32) -> u32
|
|
102
|
+
* fn screen_probe_trace_hit_distance(word: u32) -> f32
|
|
103
|
+
* fn screen_probe_texel_wrap(texel: vec2<i32>) -> vec2<u32> // a texel a step outside the octahedron, folded in
|
|
104
|
+
* ```
|
|
105
|
+
*
|
|
106
|
+
* - **The atlas**: probe i at (i mod tile_count.x, i div tile_count.x), the uniform probes on their tiles and the
|
|
107
|
+
* adaptive ones in the rows below, a probe's n² texels at n times its place in every per-ray and per-texel texture.
|
|
108
|
+
* - **The plane weight**: `exp2(−k·(|n·p − d| / depth)²)`, `SCREEN_PROBE_PLANE_WEIGHT_SCALE`, the distance of a point
|
|
109
|
+
* from a receiver's plane over the receiver's depth: Lumen's, with the face normal's plane where Lumen takes the
|
|
110
|
+
* shading normal's, so a normal map does not part probes on one flat surface.
|
|
111
|
+
* - **A ray's info**: the texel at its level's resolution, 2n at level 0 and n at level 1, and the level.
|
|
112
|
+
* - **A ray's direction**: Clarberg's equal-area map at its texel plus the probe's jitter over the level's resolution,
|
|
113
|
+
* so a probe's texels all hold the same solid angle, 4π/n², and a child a quarter of it.
|
|
114
|
+
* - **A hit word**: the kind (`SCREEN_PROBE_TRACE_*`) and moving bit low, the distance as a half float high.
|
|
115
|
+
*
|
|
116
|
+
* @type {CodeChunk}
|
|
117
|
+
*/
|
|
118
|
+
export const chunk_screen_probe: CodeChunk;
|
|
119
|
+
/**
|
|
120
|
+
* Where in its texel each of a probe's rays falls this frame, the same for every texel of the probe:
|
|
121
|
+
*
|
|
122
|
+
* ```wgsl
|
|
123
|
+
* fn screen_probe_noise_tile(probe: u32, pixel: vec2<u32>) -> vec2<u32> // the tile whose noise a probe draws
|
|
124
|
+
* fn screen_probe_ray_jitter(tile: vec2<u32>) -> vec2<f32>
|
|
125
|
+
* ```
|
|
126
|
+
*
|
|
127
|
+
* The spatio-temporal blue noise at the probe's tile and the frame (Lumen's per-tile blue noise), shared by the
|
|
128
|
+
* tile's probes: neighbouring probes' jitters are spread apart, and a probe's spread over the frames the temporal
|
|
129
|
+
* filter averages. A uniform probe's tile is its place in the atlas; an adaptive probe's, the tile its pixel stands
|
|
130
|
+
* in (`pixel`, its record's), as Lumen keys a probe's noise by its screen tile. Every pass that places a probe's
|
|
131
|
+
* rays or reads them back by direction takes the tile from here.
|
|
132
|
+
*
|
|
133
|
+
* @type {CodeChunk}
|
|
134
|
+
*/
|
|
135
|
+
export const chunk_screen_probe_ray_jitter: CodeChunk;
|
|
136
|
+
/**
|
|
137
|
+
* The frame's counts, from the pass that writes the commands:
|
|
138
|
+
*
|
|
139
|
+
* ```wgsl
|
|
140
|
+
* fn screen_probe_count() -> u32 // the frame's probes, uniform and adaptive
|
|
141
|
+
* fn screen_probe_brick_ray_count() -> u32 // the rays the screen left to the bricks, held to their list's slots
|
|
142
|
+
* ```
|
|
143
|
+
*
|
|
144
|
+
* @type {CodeChunk}
|
|
145
|
+
*/
|
|
146
|
+
export const chunk_screen_probe_counts: CodeChunk;
|
|
147
|
+
import { WebGPUStruct } from "../../shader/type/WebGPUStruct.js";
|
|
148
|
+
import { ShaderResourceDescriptor } from "../../shader/resource/ShaderResourceDescriptor.js";
|
|
149
|
+
import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
|
|
150
|
+
//# sourceMappingURL=chunk_screen_probe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk_screen_probe.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/global_illumination/screen_probe/chunk_screen_probe.js"],"names":[],"mappings":"AA2BA;;;GAGG;AACH,wCAFU,YAAY,CA2CC;AAEvB;;;GAGG;AACH,kCAFU,YAAY,CAaJ;AAElB;;;;GAIG;AACH,uCAFU,YAAY,CAgBA;AAEtB;;;GAGG;AACH,sCAFU,YAAY,CAiBD;AAErB,uCAAuC;AACvC,0CADW,wBAAwB,CAC0F;AAE7H;;;;GAIG;AACH,6CAFU,wBAAwB,CAE4F;AAE9H,sGAAsG;AACtG,sDAD0E,wBAAwB,CAC8C;AAEhJ,kFAAkF;AAClF,0CADsD,wBAAwB,CAC4D;AAC1I,uCAAuC;AACvC,2CADW,wBAAwB,CAC8G;AAEjJ,8GAA8G;AAC9G,8CADkF,wBAAwB,CAC6C;AAEvJ,uCAAuC;AACvC,+CADW,wBAAwB,CACsH;AACzJ,uCAAuC;AACvC,gDADW,wBAAwB,CAC6H;AAEhK,iKAAiK;AACjK,kDADqI,wBAAwB,CACzB;AACpI,uCAAuC;AACvC,mDADW,wBAAwB,CACwG;AAE3I,+FAA+F;AAC/F,6CADmE,wBAAwB,CACuD;AAClJ,uCAAuC;AACvC,kDADW,wBAAwB,CACiG;AAEpI,6EAA6E;AAC7E,qDADiD,wBAAwB,CACiE;AAC1I,uCAAuC;AACvC,sDADW,wBAAwB,CAC2H;AAE9J,6IAA6I;AAC7I,qDADiH,wBAAwB,CACC;AAC1I,uCAAuC;AACvC,sDADW,wBAAwB,CAC8G;AAEjJ,+EAA+E;AAC/E,8CADmD,wBAAwB,CAC2E;AACtJ,uCAAuC;AACvC,+CADW,wBAAwB,CAC0H;AAE7J,iKAAiK;AACjK,gDADqI,wBAAwB,CACvB;AACtI,uCAAuC;AACvC,iDADW,wBAAwB,CAC0G;AAE7I,yOAAyO;AACzO,kDAD6M,wBAAwB,CAClG;AACnI,uCAAuC;AACvC,mDADW,wBAAwB,CACyH;AAE5J,qJAAqJ;AACrJ,4CADyH,wBAAwB,CACzB;AACxH,uCAAuC;AACvC,6CADW,wBAAwB,CAC4F;AAE/H,kHAAkH;AAClH,kDADsF,wBAAwB,CACO;AACrH,uCAAuC;AACvC,mDADW,wBAAwB,CACiH;AAEpJ,iHAAiH;AACjH,wDADqF,wBAAwB,CACkC;AAC/I,uCAAuC;AACvC,yDADW,wBAAwB,CACiI;AAEpK,uGAAuG;AACvG,mDAD2E,wBAAwB,CACoB;AACvH,uCAAuC;AACvC,oDADW,wBAAwB,CACmH;AAEtJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,iCAFU,SAAS,CAwGZ;AAIP;;;;;;;;;;;;;;;GAeG;AACH,4CAFU,SAAS,CAeZ;AAIP;;;;;;;;;GASG;AACH,wCAFU,SAAS,CAYhB;6BA7Y0B,mCAAmC;yCAJvB,mDAAmD;0BADlE,oCAAoC"}
|