@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
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The dynamic meshes' three contributions to the AVBOIT transparency pipeline — the
|
|
3
|
+
* `AVBOITSideChannel` contract, recorded into the frame graph the way the AVBOIT orchestrator records
|
|
4
|
+
* its own passes. `DynamicMeshAVBOITChannel` calls these with what it decided for the frame — the
|
|
5
|
+
* occupancy with the meshes it found live, the splat and the draw with the list the occupancy writes
|
|
6
|
+
* their draws into — and the handles the orchestrator hands it.
|
|
7
|
+
*
|
|
8
|
+
* One draw per mesh in the splat and in the draw, as in the pass over the scene, out of one
|
|
9
|
+
* {@link GPUDynamicMeshDrawList} per frame: the occupancy writes it, the splat and the draw both draw
|
|
10
|
+
* it, so the meshes' constants go up once a frame and the two passes read the same ones. Order does
|
|
11
|
+
* not matter to any of them — the volume and the accumulators are sums — which is why nothing here
|
|
12
|
+
* sorts.
|
|
13
|
+
*/
|
|
1
14
|
/**
|
|
2
15
|
* Upload the live meshes and write their draws, then mark the depth slices their world boxes span
|
|
3
16
|
* (`shader_dynamic_mesh_avboit_occupancy`).
|
|
@@ -29,11 +42,8 @@ export function graph_dynamic_mesh_avboit_occupancy({ graph, camera, cluster_par
|
|
|
29
42
|
draws: GPUDynamicMeshDrawList;
|
|
30
43
|
}): number;
|
|
31
44
|
/**
|
|
32
|
-
* Splat the live meshes' extinction into the voxel volume
|
|
33
|
-
*
|
|
34
|
-
* The raster is multisampled ({@link DYNAMIC_MESH_AVBOIT_SPLAT_SAMPLES}), so it cannot use the
|
|
35
|
-
* volume's single-sampled splat target: the pass makes its own at the volume's resolution, and hands
|
|
36
|
-
* the volume's back untouched.
|
|
45
|
+
* Splat the live meshes' extinction into the voxel volume: the unlit splat
|
|
46
|
+
* (`graph_avboit_unlit_splat`) with the dynamic-mesh pipeline, one draw per mesh out of the frame's list.
|
|
37
47
|
*
|
|
38
48
|
* @param {object} params
|
|
39
49
|
* @param {import("../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph} params.graph
|
|
@@ -61,7 +71,8 @@ export function graph_dynamic_mesh_avboit_splat({ graph, camera, warp, voxel_res
|
|
|
61
71
|
dummy: number;
|
|
62
72
|
};
|
|
63
73
|
/**
|
|
64
|
-
* Draw the live meshes into the four accumulators (`
|
|
74
|
+
* Draw the live meshes into the four accumulators: the unlit draw (`graph_avboit_unlit_draw`) with the
|
|
75
|
+
* dynamic-mesh pipeline, one draw per mesh out of the frame's list.
|
|
65
76
|
*
|
|
66
77
|
* @param {object} params
|
|
67
78
|
* @param {import("../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph} params.graph
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph_dynamic_mesh_avboit.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/dynamic/graph_dynamic_mesh_avboit.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph_dynamic_mesh_avboit.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/dynamic/graph_dynamic_mesh_avboit.js"],"names":[],"mappings":"AAWA;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH;IAXkG,KAAK,EAA5F,OAAO,2DAA2D,EAAE,UAAU;IAC/D,MAAM,EAArB,MAAM;IACoB,kBAAkB,EAA5C,UAAU,MAAM,CAAC;IACF,SAAS,EAAxB,MAAM;IAC+B,SAAS;IACxB,MAAM,EAA5B,aAAa;IACQ,KAAK,EAA1B,YAAY;IACmB,KAAK;IAElC,MAAM,CAwDlB;AAED;;;;;;;;;;;;GAYG;AACH;IARkG,KAAK,EAA5F,OAAO,2DAA2D,EAAE,UAAU;IAC/D,MAAM,EAArB,MAAM;IACS,IAAI,EAAnB,MAAM;IACW,gBAAgB,EAAjC,MAAM,EAAE;IACsD,MAAM,EAApE;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC;IACtB,KAAK;IAClC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CA0BjE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH;IAZkG,KAAK,EAA5F,OAAO,2DAA2D,EAAE,UAAU;IACnB,QAAQ,EAAnE,OAAO,2BAA2B,EAAE,cAAc;IACnC,MAAM,EAArB,MAAM;IACS,aAAa,EAA5B,MAAM;IACS,IAAI,EAAnB,MAAM;IACS,QAAQ,EAAvB,MAAM;IACS,eAAe,EAA9B,MAAM;IACS,oBAAoB,EAAnC,MAAM;IACsE,YAAY,EAAxF;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC;IACpC,KAAK;IAClC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAkC/E"}
|
|
@@ -1,29 +1,13 @@
|
|
|
1
1
|
import { assert } from "../../../core/assert.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { TextureResourceDescriptor } from "../../device/graph/TextureResourceDescriptor.js";
|
|
5
|
-
import { DEFAULT_DEPTH_TEXTURE_VIEW } from "../depth/DEFAULT_DEPTH_TEXTURE_VIEW.js";
|
|
6
|
-
import { AVBOIT_SPLAT_DUMMY_FORMAT } from "../rasterize/native/avboit/shader_avboit_splat.js";
|
|
7
|
-
import { STATIC_GRAPHICS_ENGINE_ASSETS } from "../STATIC_GRAPHICS_ENGINE_ASSETS.js";
|
|
8
|
-
import { SAMPLER_LINEAR_UPSCALE } from "../texture/SAMPLER_LINEAR_UPSCALE.js";
|
|
9
|
-
import {
|
|
10
|
-
DYNAMIC_MESH_AVBOIT_DRAW_BIND_GROUP_PASS,
|
|
11
|
-
DYNAMIC_MESH_AVBOIT_DRAW_PIPELINE,
|
|
12
|
-
DYNAMIC_MESH_AVBOIT_DRAW_RESOURCES,
|
|
13
|
-
} from "./shader_dynamic_mesh_avboit_draw.js";
|
|
2
|
+
import { graph_avboit_unlit_draw, graph_avboit_unlit_splat } from "../rasterize/native/avboit/graph_avboit_unlit.js";
|
|
3
|
+
import { DYNAMIC_MESH_AVBOIT_DRAW_PIPELINE, DYNAMIC_MESH_AVBOIT_DRAW_RESOURCES } from "./shader_dynamic_mesh_avboit_draw.js";
|
|
14
4
|
import {
|
|
15
5
|
DYNAMIC_MESH_AVBOIT_BOX_FLOATS,
|
|
16
6
|
DYNAMIC_MESH_AVBOIT_OCCUPANCY_GROUP_SIZE,
|
|
17
7
|
DYNAMIC_MESH_AVBOIT_OCCUPANCY_SETTINGS_STRUCT,
|
|
18
8
|
shader_dynamic_mesh_avboit_occupancy,
|
|
19
9
|
} from "./shader_dynamic_mesh_avboit_occupancy.js";
|
|
20
|
-
import {
|
|
21
|
-
DYNAMIC_MESH_AVBOIT_SPLAT_BIND_GROUP_PASS,
|
|
22
|
-
DYNAMIC_MESH_AVBOIT_SPLAT_BIND_GROUP_VOLUME,
|
|
23
|
-
DYNAMIC_MESH_AVBOIT_SPLAT_PIPELINE,
|
|
24
|
-
DYNAMIC_MESH_AVBOIT_SPLAT_RESOURCES,
|
|
25
|
-
DYNAMIC_MESH_AVBOIT_SPLAT_SAMPLES,
|
|
26
|
-
} from "./shader_dynamic_mesh_avboit_splat.js";
|
|
10
|
+
import { DYNAMIC_MESH_AVBOIT_SPLAT_PIPELINE, DYNAMIC_MESH_AVBOIT_SPLAT_RESOURCES } from "./shader_dynamic_mesh_avboit_splat.js";
|
|
27
11
|
|
|
28
12
|
/**
|
|
29
13
|
* The dynamic meshes' three contributions to the AVBOIT transparency pipeline — the
|
|
@@ -39,9 +23,6 @@ import {
|
|
|
39
23
|
* sorts.
|
|
40
24
|
*/
|
|
41
25
|
|
|
42
|
-
/** The accumulators' and the splat target's view: one mip, the one the frame draws into. */
|
|
43
|
-
const COLOR_VIEW = TextureViewDescriptor.from({ mipLevelCount: 1, baseMipLevel: 0 });
|
|
44
|
-
|
|
45
26
|
/**
|
|
46
27
|
* Upload the live meshes and write their draws, then mark the depth slices their world boxes span
|
|
47
28
|
* (`shader_dynamic_mesh_avboit_occupancy`).
|
|
@@ -119,11 +100,8 @@ export function graph_dynamic_mesh_avboit_occupancy({
|
|
|
119
100
|
}
|
|
120
101
|
|
|
121
102
|
/**
|
|
122
|
-
* Splat the live meshes' extinction into the voxel volume
|
|
123
|
-
*
|
|
124
|
-
* The raster is multisampled ({@link DYNAMIC_MESH_AVBOIT_SPLAT_SAMPLES}), so it cannot use the
|
|
125
|
-
* volume's single-sampled splat target: the pass makes its own at the volume's resolution, and hands
|
|
126
|
-
* the volume's back untouched.
|
|
103
|
+
* Splat the live meshes' extinction into the voxel volume: the unlit splat
|
|
104
|
+
* (`graph_avboit_unlit_splat`) with the dynamic-mesh pipeline, one draw per mesh out of the frame's list.
|
|
127
105
|
*
|
|
128
106
|
* @param {object} params
|
|
129
107
|
* @param {import("../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph} params.graph
|
|
@@ -143,86 +121,26 @@ export function graph_dynamic_mesh_avboit_splat({
|
|
|
143
121
|
draws,
|
|
144
122
|
}) {
|
|
145
123
|
assert.isNonNegativeInteger(camera, "camera");
|
|
146
|
-
assert.isNonNegativeInteger(warp, "warp");
|
|
147
|
-
assert.isArrayLike(voxel_resolution, "voxel_resolution");
|
|
148
|
-
assert.defined(volume, "volume");
|
|
149
|
-
|
|
150
|
-
function execute(data, resources, context) {
|
|
151
|
-
const encoder = context.encoder;
|
|
152
|
-
const graphics = context.graphics;
|
|
153
|
-
|
|
154
|
-
if (draws.count === 0) {
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
const pipeline = DYNAMIC_MESH_AVBOIT_SPLAT_PIPELINE;
|
|
159
|
-
|
|
160
|
-
// By name, never by position (ledger entry 21): the order a shader declares its bindings in
|
|
161
|
-
// is the shader's business.
|
|
162
|
-
const groups = DYNAMIC_MESH_AVBOIT_SPLAT_RESOURCES.groups;
|
|
163
|
-
|
|
164
|
-
const pass_group = groups[DYNAMIC_MESH_AVBOIT_SPLAT_BIND_GROUP_PASS].generateBindings({
|
|
165
|
-
warp: resources.get(data.warp),
|
|
166
|
-
}, encoder);
|
|
167
|
-
|
|
168
|
-
const volume_group = groups[DYNAMIC_MESH_AVBOIT_SPLAT_BIND_GROUP_VOLUME].generateBindings({
|
|
169
|
-
extinction_volume: resources.get(data.extinction),
|
|
170
|
-
overflow_slice: resources.get(data.overflow),
|
|
171
|
-
}, encoder);
|
|
172
124
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
graphics.setPipelineBindGroup(pass_encoder, pipeline, DYNAMIC_MESH_AVBOIT_SPLAT_BIND_GROUP_PASS, pass_group);
|
|
187
|
-
graphics.setPipelineBindGroup(pass_encoder, pipeline, DYNAMIC_MESH_AVBOIT_SPLAT_BIND_GROUP_VOLUME, volume_group);
|
|
188
|
-
|
|
189
|
-
draws.draw(pass_encoder, graphics, pipeline, resources.get(data.camera));
|
|
190
|
-
|
|
191
|
-
pass_encoder.end();
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
const pass_data = {};
|
|
195
|
-
const pass = graph.add("Dynamic Mesh AVBOIT Splat", pass_data, execute);
|
|
196
|
-
|
|
197
|
-
pass_data.camera = pass.read(camera);
|
|
198
|
-
pass_data.warp = pass.read(warp);
|
|
199
|
-
|
|
200
|
-
pass.read(volume.extinction);
|
|
201
|
-
pass_data.extinction = pass.write(volume.extinction);
|
|
202
|
-
pass.read(volume.overflow);
|
|
203
|
-
pass_data.overflow = pass.write(volume.overflow);
|
|
204
|
-
|
|
205
|
-
const target = TextureResourceDescriptor.from({
|
|
206
|
-
resolution: voxel_resolution,
|
|
207
|
-
format: AVBOIT_SPLAT_DUMMY_FORMAT,
|
|
208
|
-
usage: GPUTextureUsage.RENDER_ATTACHMENT,
|
|
125
|
+
const pipeline = DYNAMIC_MESH_AVBOIT_SPLAT_PIPELINE;
|
|
126
|
+
|
|
127
|
+
return graph_avboit_unlit_splat({
|
|
128
|
+
graph,
|
|
129
|
+
label: "Dynamic Mesh AVBOIT Splat",
|
|
130
|
+
pipeline,
|
|
131
|
+
resources: DYNAMIC_MESH_AVBOIT_SPLAT_RESOURCES,
|
|
132
|
+
inputs: { camera },
|
|
133
|
+
warp,
|
|
134
|
+
voxel_resolution,
|
|
135
|
+
volume,
|
|
136
|
+
is_empty: () => draws.count === 0,
|
|
137
|
+
record: (pass_encoder, graphics, inputs) => draws.draw(pass_encoder, graphics, pipeline, inputs.camera),
|
|
209
138
|
});
|
|
210
|
-
|
|
211
|
-
// `from` takes no sample count
|
|
212
|
-
target.sampleCount = DYNAMIC_MESH_AVBOIT_SPLAT_SAMPLES;
|
|
213
|
-
|
|
214
|
-
pass_data.target = pass.create("Dynamic Mesh AVBOIT splat target", target);
|
|
215
|
-
|
|
216
|
-
return {
|
|
217
|
-
extinction: pass_data.extinction,
|
|
218
|
-
overflow: pass_data.overflow,
|
|
219
|
-
// not this pass's to touch
|
|
220
|
-
dummy: volume.dummy,
|
|
221
|
-
};
|
|
222
139
|
}
|
|
223
140
|
|
|
224
141
|
/**
|
|
225
|
-
* Draw the live meshes into the four accumulators (`
|
|
142
|
+
* Draw the live meshes into the four accumulators: the unlit draw (`graph_avboit_unlit_draw`) with the
|
|
143
|
+
* dynamic-mesh pipeline, one draw per mesh out of the frame's list.
|
|
226
144
|
*
|
|
227
145
|
* @param {object} params
|
|
228
146
|
* @param {import("../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph} params.graph
|
|
@@ -250,81 +168,23 @@ export function graph_dynamic_mesh_avboit_draw({
|
|
|
250
168
|
draws,
|
|
251
169
|
}) {
|
|
252
170
|
assert.isNonNegativeInteger(camera, "camera");
|
|
253
|
-
assert.isNonNegativeInteger(depth_texture, "depth_texture");
|
|
254
|
-
assert.isNonNegativeInteger(warp, "warp");
|
|
255
|
-
assert.isNonNegativeInteger(integral, "integral");
|
|
256
|
-
assert.defined(accumulators, "accumulators");
|
|
257
|
-
|
|
258
|
-
function execute(data, resources, context) {
|
|
259
|
-
const encoder = context.encoder;
|
|
260
|
-
const graphics = context.graphics;
|
|
261
|
-
|
|
262
|
-
if (draws.count === 0) {
|
|
263
|
-
return;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
const pipeline = DYNAMIC_MESH_AVBOIT_DRAW_PIPELINE;
|
|
267
|
-
|
|
268
|
-
// by name rather than by position, for the reason the splat gives
|
|
269
|
-
const pass_group = DYNAMIC_MESH_AVBOIT_DRAW_RESOURCES.groups[DYNAMIC_MESH_AVBOIT_DRAW_BIND_GROUP_PASS].generateBindings({
|
|
270
|
-
view: view_ctx.uniform_buffer.buffer,
|
|
271
|
-
warp: resources.get(data.warp),
|
|
272
|
-
tIntegral: resources.get(data.integral).obtainView(),
|
|
273
|
-
sLinear: graphics.samplers.obtain(SAMPLER_LINEAR_UPSCALE),
|
|
274
|
-
volumetrics_metadata: resources.get(data.volumetrics_metadata),
|
|
275
|
-
tVolumetrics: resources.get(data.volumetrics_lut).obtainView(),
|
|
276
|
-
tSTBN_vec3: graphics.textures.obtain(STATIC_GRAPHICS_ENGINE_ASSETS.stbn_vec3).obtainView(),
|
|
277
|
-
}, encoder);
|
|
278
|
-
|
|
279
|
-
const attachment = (handle) => ({
|
|
280
|
-
view: resources.get(handle).obtainView(COLOR_VIEW),
|
|
281
|
-
loadOp: "load",
|
|
282
|
-
storeOp: "store",
|
|
283
|
-
});
|
|
284
|
-
|
|
285
|
-
const pass_encoder = encoder.constructRenderPass({
|
|
286
|
-
label: "Dynamic Mesh AVBOIT Draw",
|
|
287
|
-
pipeline,
|
|
288
|
-
// the pass's group is set once, just below; the draws set their own
|
|
289
|
-
bindings: [],
|
|
290
|
-
colorAttachments: [
|
|
291
|
-
attachment(data.color),
|
|
292
|
-
attachment(data.norm),
|
|
293
|
-
attachment(data.extinction),
|
|
294
|
-
attachment(data.emission),
|
|
295
|
-
],
|
|
296
|
-
depthStencilAttachment: {
|
|
297
|
-
view: resources.get(data.depth).obtainView(DEFAULT_DEPTH_TEXTURE_VIEW),
|
|
298
|
-
depthReadOnly: true,
|
|
299
|
-
},
|
|
300
|
-
});
|
|
301
|
-
|
|
302
|
-
graphics.setPipelineBindGroup(pass_encoder, pipeline, DYNAMIC_MESH_AVBOIT_DRAW_BIND_GROUP_PASS, pass_group);
|
|
303
|
-
|
|
304
|
-
draws.draw(pass_encoder, graphics, pipeline, resources.get(data.camera));
|
|
305
|
-
|
|
306
|
-
pass_encoder.end();
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
const pass_data = {};
|
|
310
|
-
const pass = graph.add("Dynamic Mesh AVBOIT Draw", pass_data, execute);
|
|
311
|
-
|
|
312
|
-
pass_data.camera = pass.read(camera);
|
|
313
|
-
pass_data.depth = pass.read(depth_texture);
|
|
314
|
-
pass_data.warp = pass.read(warp);
|
|
315
|
-
pass_data.integral = pass.read(integral);
|
|
316
|
-
pass_data.volumetrics_lut = pass.read(volumetrics_lut);
|
|
317
|
-
pass_data.volumetrics_metadata = pass.read(volumetrics_metadata);
|
|
318
171
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
172
|
+
const pipeline = DYNAMIC_MESH_AVBOIT_DRAW_PIPELINE;
|
|
173
|
+
|
|
174
|
+
return graph_avboit_unlit_draw({
|
|
175
|
+
graph,
|
|
176
|
+
label: "Dynamic Mesh AVBOIT Draw",
|
|
177
|
+
pipeline,
|
|
178
|
+
resources: DYNAMIC_MESH_AVBOIT_DRAW_RESOURCES,
|
|
179
|
+
inputs: { camera },
|
|
180
|
+
view_ctx,
|
|
181
|
+
depth_texture,
|
|
182
|
+
warp,
|
|
183
|
+
integral,
|
|
184
|
+
volumetrics_lut,
|
|
185
|
+
volumetrics_metadata,
|
|
186
|
+
accumulators,
|
|
187
|
+
is_empty: () => draws.count === 0,
|
|
188
|
+
record: (pass_encoder, graphics, inputs) => draws.draw(pass_encoder, graphics, pipeline, inputs.camera),
|
|
189
|
+
});
|
|
330
190
|
}
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Bind group of everything the draw reads once per pass — the view,
|
|
3
|
-
* fog. Groups 0 and 1 are the dynamic-mesh groups: the draw constants
|
|
4
|
-
* mesh.
|
|
2
|
+
* Bind group of everything the draw reads once per pass (`AVBOIT_UNLIT_DRAW_PASS_GROUP`) — the view,
|
|
3
|
+
* the warp, the integral and the fog. Groups 0 and 1 are the dynamic-mesh groups: the draw constants
|
|
4
|
+
* per chunk, the geometry per mesh.
|
|
5
5
|
* @type {number}
|
|
6
6
|
*/
|
|
7
7
|
export const DYNAMIC_MESH_AVBOIT_DRAW_BIND_GROUP_PASS: number;
|
|
8
8
|
/**
|
|
9
|
-
* The draw pipeline
|
|
10
|
-
*
|
|
11
|
-
* @type {RenderPipelineDescriptor}
|
|
9
|
+
* The draw pipeline, as every unlit draw is built (`avboit_unlit_draw_pipeline`).
|
|
10
|
+
* @type {import("../../descriptor/pipeline/render/RenderPipelineDescriptor.js").RenderPipelineDescriptor}
|
|
12
11
|
*/
|
|
13
|
-
export const DYNAMIC_MESH_AVBOIT_DRAW_PIPELINE: RenderPipelineDescriptor;
|
|
14
|
-
/** The draw shader's resource set
|
|
12
|
+
export const DYNAMIC_MESH_AVBOIT_DRAW_PIPELINE: import("../../descriptor/pipeline/render/RenderPipelineDescriptor.js").RenderPipelineDescriptor;
|
|
13
|
+
/** The draw shader's resource set. */
|
|
15
14
|
export const DYNAMIC_MESH_AVBOIT_DRAW_RESOURCES: ShaderResourceSetDescriptor;
|
|
16
15
|
/** The assembled shader, for the validity tier. */
|
|
17
16
|
export const shader_dynamic_mesh_avboit_draw: ShaderDescriptor;
|
|
18
|
-
import { RenderPipelineDescriptor } from "../../descriptor/pipeline/render/RenderPipelineDescriptor.js";
|
|
19
17
|
import { ShaderResourceSetDescriptor } from "../shader/resource/ShaderResourceSetDescriptor.js";
|
|
20
18
|
import { ShaderDescriptor } from "../shader/ShaderDescriptor.js";
|
|
21
19
|
//# sourceMappingURL=shader_dynamic_mesh_avboit_draw.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shader_dynamic_mesh_avboit_draw.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_draw.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shader_dynamic_mesh_avboit_draw.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_draw.js"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,uDAFU,MAAM,CAE0C;AA6B1D;;;GAGG;AACH,gDAFU,OAAO,8DAA8D,EAAE,wBAAwB,CAMtG;AAEH,sCAAsC;AACtC,6EAA4D;AAE5D,mDAAmD;AACnD,+DAA0D;4CA1Dd,mDAAmD;iCAC9D,+BAA+B"}
|
|
@@ -1,21 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { RenderPipelineDescriptor } from "../../descriptor/pipeline/render/RenderPipelineDescriptor.js";
|
|
3
|
-
import { chunk_sample_volumetrics } from "../deferred/chunk_sample_volumetrics.js";
|
|
4
|
-
import { AVBOIT_EXTINCT_TRANSMITTANCE } from "../rasterize/native/avboit/AVBOIT_CONSTANTS.js";
|
|
5
|
-
import { AVBOIT_WARP_STRUCT } from "../rasterize/native/avboit/AVBOIT_WARP_STRUCT.js";
|
|
6
|
-
import { AVBOIT_DRAW_TARGETS } from "../rasterize/native/avboit/avboit_draw_fragment_body.js";
|
|
7
|
-
import {
|
|
8
|
-
chunk_avboit_premultiplied_contribution
|
|
9
|
-
} from "../rasterize/native/avboit/chunk_avboit_premultiplied_contribution.js";
|
|
10
|
-
import { chunk_avboit_view_depth_to_virtual } from "../rasterize/native/avboit/chunk_avboit_view_depth_to_virtual.js";
|
|
11
|
-
import { chunk_avboit_footprint_bias } from "../rasterize/native/avboit/chunk_avboit_footprint_bias.js";
|
|
12
|
-
import { chunk_avboit_sample_transmittance } from "../rasterize/native/avboit/chunk_avboit_sample_transmittance.js";
|
|
1
|
+
import { avboit_unlit_draw_pipeline, AVBOIT_UNLIT_DRAW_PASS_GROUP, chunk_avboit_unlit_draw_fragment } from "../rasterize/native/avboit/avboit_unlit_draw.js";
|
|
13
2
|
import { CodeChunk } from "../shader/compiler/CodeChunk.js";
|
|
14
3
|
import { ShaderResourceSetDescriptor } from "../shader/resource/ShaderResourceSetDescriptor.js";
|
|
15
4
|
import { ShaderDescriptor } from "../shader/ShaderDescriptor.js";
|
|
16
|
-
import { SAMPLER_LINEAR_UPSCALE } from "../texture/SAMPLER_LINEAR_UPSCALE.js";
|
|
17
|
-
import { VIEW_UNIFORM_STRUCT } from "../view/VIEW_UNIFORM_STRUCT.js";
|
|
18
|
-
import { VOLUMETRICS_METADATA_STRUCT } from "../volumetrics/VOLUMETRICS_METADATA_STRUCT.js";
|
|
19
5
|
import { chunk_dynamic_mesh_avboit_vertex } from "./chunk_dynamic_mesh_avboit_vertex.js";
|
|
20
6
|
import {
|
|
21
7
|
DYNAMIC_MESH_BIND_GROUP_DRAWS,
|
|
@@ -24,126 +10,51 @@ import {
|
|
|
24
10
|
} from "./shader_dynamic_mesh.js";
|
|
25
11
|
|
|
26
12
|
/**
|
|
27
|
-
* Bind group of everything the draw reads once per pass — the view,
|
|
28
|
-
* fog. Groups 0 and 1 are the dynamic-mesh groups: the draw constants
|
|
29
|
-
* mesh.
|
|
13
|
+
* Bind group of everything the draw reads once per pass (`AVBOIT_UNLIT_DRAW_PASS_GROUP`) — the view,
|
|
14
|
+
* the warp, the integral and the fog. Groups 0 and 1 are the dynamic-mesh groups: the draw constants
|
|
15
|
+
* per chunk, the geometry per mesh.
|
|
30
16
|
* @type {number}
|
|
31
17
|
*/
|
|
32
18
|
export const DYNAMIC_MESH_AVBOIT_DRAW_BIND_GROUP_PASS = 2;
|
|
33
19
|
|
|
34
20
|
/**
|
|
35
|
-
* The dynamic meshes' AVBOIT draw: every mesh's triangles at internal resolution
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* Per fragment: nothing at all if it has faded out (the splat recorded nothing for it either), then
|
|
40
|
-
* the transmittance of everything in front from the integral texture — a fragment the volume
|
|
41
|
-
* already calls extinct is discarded unshaded — the volumetric fog at its depth, and the
|
|
42
|
-
* accumulators through `avboit_premultiplied_contribution`, the routing every side channel shares.
|
|
43
|
-
*
|
|
44
|
-
* A dynamic mesh is straight alpha and unlit, as the pass over the scene draws it: its colour is
|
|
45
|
-
* premultiplied here and never emits — a fragment that can get past the first test covers
|
|
46
|
-
* something — so the pipeline does not write the emission target at all rather than blend zeros
|
|
47
|
-
* into it over every covered pixel.
|
|
21
|
+
* The dynamic meshes' AVBOIT draw: every mesh's triangles at internal resolution by the dynamic-mesh
|
|
22
|
+
* vertex stage, into the unlit draw's fragment stage (`chunk_avboit_unlit_draw_fragment`, which says
|
|
23
|
+
* what a fragment contributes). A dynamic mesh is straight alpha and unlit, as the pass over the scene
|
|
24
|
+
* draws it.
|
|
48
25
|
*/
|
|
49
26
|
|
|
50
27
|
const resources = new ShaderResourceSetDescriptor();
|
|
51
28
|
|
|
52
29
|
resources.addGroup(DYNAMIC_MESH_RESOURCES.groups[DYNAMIC_MESH_BIND_GROUP_DRAWS]);
|
|
53
30
|
resources.addGroup(DYNAMIC_MESH_RESOURCES.groups[DYNAMIC_MESH_BIND_GROUP_GEOMETRY]);
|
|
54
|
-
|
|
55
|
-
resources.createGroup()
|
|
56
|
-
.addUniform("view", VIEW_UNIFORM_STRUCT)
|
|
57
|
-
.addStorageBuffer("warp", AVBOIT_WARP_STRUCT)
|
|
58
|
-
// sampled through sLinear: linear, clamped on every axis, which is what the integral needs
|
|
59
|
-
.addTexture("tIntegral", "float", "3d")
|
|
60
|
-
.addSampler("sLinear", "filtering", SAMPLER_LINEAR_UPSCALE)
|
|
61
|
-
// volumetrics (composited inline)
|
|
62
|
-
.addUniform("volumetrics_metadata", VOLUMETRICS_METADATA_STRUCT)
|
|
63
|
-
.addTexture("tVolumetrics", "float", "3d")
|
|
64
|
-
.addTexture("tSTBN_vec3", "float", "3d");
|
|
31
|
+
resources.addGroup(AVBOIT_UNLIT_DRAW_PASS_GROUP);
|
|
65
32
|
|
|
66
33
|
const body = CodeChunk.from(
|
|
67
34
|
//language=WGSL
|
|
68
35
|
`
|
|
69
|
-
struct DynamicMeshAVBOITDrawOutput {
|
|
70
|
-
@location(0) color : vec4<f32>,
|
|
71
|
-
@location(1) norm : vec4<f32>,
|
|
72
|
-
@location(2) extinction : vec4<f32>,
|
|
73
|
-
@location(3) emission : vec4<f32>,
|
|
74
|
-
}
|
|
75
|
-
|
|
76
36
|
@vertex
|
|
77
|
-
fn vs_main(@builtin(vertex_index) vi : u32, @builtin(instance_index) draw_index : u32) ->
|
|
37
|
+
fn vs_main(@builtin(vertex_index) vi : u32, @builtin(instance_index) draw_index : u32) -> AVBOITUnlitVaryings {
|
|
78
38
|
return dynamic_mesh_avboit_vertex(vi, draw_index);
|
|
79
39
|
}
|
|
80
|
-
|
|
81
|
-
@fragment
|
|
82
|
-
fn fs_main(in : DynamicMeshAVBOITVertexOut) -> DynamicMeshAVBOITDrawOutput {
|
|
83
|
-
// a ribbon seen at an angle runs through depth across a voxel; see avboit_footprint_bias. Taken
|
|
84
|
-
// first, in uniform control flow
|
|
85
|
-
let footprint = avboit_footprint_bias(&warp, fwidth(avboit_view_depth_to_virtual(&warp, in.view_depth)));
|
|
86
|
-
|
|
87
|
-
if (in.color.a <= 0.0) {
|
|
88
|
-
// faded out: covers nothing, and straight alpha carries no light without coverage
|
|
89
|
-
discard;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
let screen_uv = in.clip.xy / vec2<f32>(f32(view.width), f32(view.height));
|
|
93
|
-
|
|
94
|
-
let transmittance = avboit_sample_transmittance(&warp, tIntegral, sLinear, screen_uv, in.view_depth, footprint);
|
|
95
|
-
|
|
96
|
-
if (all(transmittance <= vec3<f32>(${AVBOIT_EXTINCT_TRANSMITTANCE}))) {
|
|
97
|
-
// nothing this fragment contributes survives what is in front of it; skip the shading
|
|
98
|
-
discard;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
let volumetrics = sample_volumetrics(in.view_depth, screen_uv, in.clip.xy);
|
|
102
|
-
|
|
103
|
-
let premultiplied = vec4<f32>(in.color.rgb * in.color.a, in.color.a);
|
|
104
|
-
|
|
105
|
-
let contribution = avboit_premultiplied_contribution(premultiplied, transmittance, volumetrics);
|
|
106
|
-
|
|
107
|
-
var out : DynamicMeshAVBOITDrawOutput;
|
|
108
|
-
|
|
109
|
-
out.color = contribution.color;
|
|
110
|
-
out.norm = contribution.norm;
|
|
111
|
-
out.extinction = contribution.extinction;
|
|
112
|
-
out.emission = contribution.emission;
|
|
113
|
-
|
|
114
|
-
return out;
|
|
115
|
-
}
|
|
116
40
|
`, [
|
|
117
41
|
chunk_dynamic_mesh_avboit_vertex,
|
|
118
|
-
|
|
119
|
-
chunk_avboit_footprint_bias,
|
|
120
|
-
chunk_avboit_sample_transmittance,
|
|
121
|
-
chunk_sample_volumetrics,
|
|
122
|
-
chunk_avboit_premultiplied_contribution,
|
|
42
|
+
chunk_avboit_unlit_draw_fragment,
|
|
123
43
|
]);
|
|
124
44
|
|
|
125
45
|
const descriptor = ShaderDescriptor.from({ label: "Dynamic Mesh AVBOIT Draw", body, resources });
|
|
126
46
|
|
|
127
47
|
/**
|
|
128
|
-
* The draw pipeline
|
|
129
|
-
*
|
|
130
|
-
* @type {RenderPipelineDescriptor}
|
|
48
|
+
* The draw pipeline, as every unlit draw is built (`avboit_unlit_draw_pipeline`).
|
|
49
|
+
* @type {import("../../descriptor/pipeline/render/RenderPipelineDescriptor.js").RenderPipelineDescriptor}
|
|
131
50
|
*/
|
|
132
|
-
export const DYNAMIC_MESH_AVBOIT_DRAW_PIPELINE =
|
|
51
|
+
export const DYNAMIC_MESH_AVBOIT_DRAW_PIPELINE = avboit_unlit_draw_pipeline({
|
|
133
52
|
label: "Dynamic Mesh AVBOIT Draw",
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
fragment: {
|
|
137
|
-
module: { code: descriptor.source },
|
|
138
|
-
entryPoint: "fs_main",
|
|
139
|
-
// color, norm, extinction — and not emission
|
|
140
|
-
targets: AVBOIT_DRAW_TARGETS.map((target, i) => ({ ...target, writeMask: [0xF, 0xF, 0xF, 0][i] })),
|
|
141
|
-
},
|
|
142
|
-
depthStencil: DepthStencilState.from({ format: "depth32float", depthWriteEnabled: false, depthCompare: "greater" }),
|
|
143
|
-
primitive: { topology: "triangle-list", cullMode: "none" },
|
|
53
|
+
resources,
|
|
54
|
+
source: descriptor.source,
|
|
144
55
|
});
|
|
145
56
|
|
|
146
|
-
/** The draw shader's resource set
|
|
57
|
+
/** The draw shader's resource set. */
|
|
147
58
|
export const DYNAMIC_MESH_AVBOIT_DRAW_RESOURCES = resources;
|
|
148
59
|
|
|
149
60
|
/** The assembled shader, for the validity tier. */
|
|
@@ -1,33 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Bind group of the warp, set once per pass. Groups 0 and 1 are the
|
|
3
|
-
* constants per chunk, the geometry per mesh.
|
|
2
|
+
* Bind group of the warp (`AVBOIT_UNLIT_SPLAT_PASS_GROUP`), set once per pass. Groups 0 and 1 are the
|
|
3
|
+
* dynamic-mesh groups: the draw constants per chunk, the geometry per mesh.
|
|
4
4
|
* @type {number}
|
|
5
5
|
*/
|
|
6
6
|
export const DYNAMIC_MESH_AVBOIT_SPLAT_BIND_GROUP_PASS: number;
|
|
7
7
|
/**
|
|
8
|
-
* Bind group of the volume atomics, set once per pass.
|
|
8
|
+
* Bind group of the volume atomics (`AVBOIT_SPLAT_VOLUME_GROUP`), set once per pass.
|
|
9
9
|
* @type {number}
|
|
10
10
|
*/
|
|
11
11
|
export const DYNAMIC_MESH_AVBOIT_SPLAT_BIND_GROUP_VOLUME: number;
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* @type {number}
|
|
16
|
-
*/
|
|
17
|
-
export const DYNAMIC_MESH_AVBOIT_SPLAT_SAMPLES: number;
|
|
18
|
-
/**
|
|
19
|
-
* The splat pipeline: no depth, one never-written attachment to size the raster, multisampled so a
|
|
20
|
-
* fragment knows how much of its voxel it covers, both faces — a trail is seen from inside and out.
|
|
21
|
-
* The attachment is the splat's own ({@link DYNAMIC_MESH_AVBOIT_SPLAT_SAMPLES} samples), not the
|
|
22
|
-
* volume's single-sampled one the meshlet and particle splats share.
|
|
23
|
-
* @type {RenderPipelineDescriptor}
|
|
13
|
+
* The splat pipeline, as every unlit splat is built (`avboit_unlit_splat_pipeline`).
|
|
14
|
+
* @type {import("../../descriptor/pipeline/render/RenderPipelineDescriptor.js").RenderPipelineDescriptor}
|
|
24
15
|
*/
|
|
25
|
-
export const DYNAMIC_MESH_AVBOIT_SPLAT_PIPELINE: RenderPipelineDescriptor;
|
|
26
|
-
/** The splat shader's resource set
|
|
16
|
+
export const DYNAMIC_MESH_AVBOIT_SPLAT_PIPELINE: import("../../descriptor/pipeline/render/RenderPipelineDescriptor.js").RenderPipelineDescriptor;
|
|
17
|
+
/** The splat shader's resource set. */
|
|
27
18
|
export const DYNAMIC_MESH_AVBOIT_SPLAT_RESOURCES: ShaderResourceSetDescriptor;
|
|
28
19
|
/** The assembled shader, for the validity tier. */
|
|
29
20
|
export const shader_dynamic_mesh_avboit_splat: ShaderDescriptor;
|
|
30
|
-
import { RenderPipelineDescriptor } from "../../descriptor/pipeline/render/RenderPipelineDescriptor.js";
|
|
31
21
|
import { ShaderResourceSetDescriptor } from "../shader/resource/ShaderResourceSetDescriptor.js";
|
|
32
22
|
import { ShaderDescriptor } from "../shader/ShaderDescriptor.js";
|
|
33
23
|
//# sourceMappingURL=shader_dynamic_mesh_avboit_splat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shader_dynamic_mesh_avboit_splat.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_splat.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shader_dynamic_mesh_avboit_splat.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_splat.js"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,wDAFU,MAAM,CAE2C;AAE3D;;;GAGG;AACH,0DAFU,MAAM,CAE6C;AAiC7D;;;GAGG;AACH,iDAFU,OAAO,8DAA8D,EAAE,wBAAwB,CAMtG;AAEH,uCAAuC;AACvC,8EAA6D;AAE7D,mDAAmD;AACnD,gEAA2D;4CAnEf,mDAAmD;iCAC9D,+BAA+B"}
|