@woosh/meep-engine 3.33.0 → 3.35.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/editor/Editor.d.ts.map +1 -1
- package/editor/Editor.js +0 -3
- package/editor/ecs/component/prototypeObjectEditor.js +1 -165
- package/editor/ecs/component/registerBasicTypeEditors.d.ts.map +1 -1
- package/editor/ecs/component/registerBasicTypeEditors.js +0 -5
- package/editor/ecs/component/registerEngineComponentEditors.d.ts.map +1 -1
- package/editor/ecs/component/registerEngineComponentEditors.js +0 -20
- package/editor/process/SymbolicDisplayProcess.d.ts.map +1 -1
- package/editor/process/SymbolicDisplayProcess.js +100 -106
- package/editor/prototypeEditorShell.d.ts.map +1 -1
- package/editor/prototypeEditorShell.js +190 -186
- package/editor/templates/entity_templates.d.ts.map +1 -1
- package/editor/templates/entity_templates.js +10 -27
- package/editor/view/makeEntityDecorators.js +2 -2
- package/package.json +1 -1
- package/src/{engine/graphics/particles/particular/engine → core/geom/3d/aabb}/MovingBoundingBox.d.ts +3 -3
- package/src/core/geom/3d/aabb/MovingBoundingBox.d.ts.map +1 -0
- package/src/{engine/graphics/particles/particular/engine → core/geom/3d/aabb}/MovingBoundingBox.js +5 -5
- package/src/core/math/lookup/RGBA_LUT_HEATMAP_IR.d.ts +3 -0
- package/src/core/math/lookup/RGBA_LUT_HEATMAP_IR.d.ts.map +1 -0
- package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGBA_LUT_HEATMAP_IR.js +1 -1
- package/src/core/math/lookup/RGB_LUT_INFERNO.d.ts +6 -0
- package/src/core/math/lookup/RGB_LUT_INFERNO.d.ts.map +1 -0
- package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_INFERNO.js +1 -1
- package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_TURBO.d.ts +1 -1
- package/src/core/math/lookup/RGB_LUT_TURBO.d.ts.map +1 -0
- package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_TURBO.js +1 -1
- package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_VIRIDIS.d.ts +1 -1
- package/src/core/math/lookup/RGB_LUT_VIRIDIS.d.ts.map +1 -0
- package/src/{engine/graphics/particles/particular/engine/parameter/sample → core/math/lookup}/RGB_LUT_VIRIDIS.js +1 -1
- package/src/engine/animation/AnimatedActions.d.ts.map +1 -1
- package/src/engine/animation/AnimatedActions.js +2 -4
- package/src/engine/animation/AnimationUtils.d.ts +1 -17
- package/src/engine/animation/AnimationUtils.d.ts.map +1 -1
- package/src/engine/animation/AnimationUtils.js +138 -246
- package/src/engine/ecs/EntityManager.d.ts +1 -1
- package/src/engine/ecs/EntityManager.d.ts.map +1 -1
- package/src/engine/ecs/EntityManager.js +2 -2
- package/src/engine/ecs/storage/binary/SERIALIZATION_COVERAGE.md +268 -275
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +0 -10
- package/src/engine/graphics/geometry/distribute_points_on_indexed_triangles.d.ts.map +1 -0
- package/src/engine/graphics/{particles/particular/engine/utils → geometry}/distribute_points_on_indexed_triangles.js +3 -3
- package/src/engine/graphics/{particles/particular/engine/utils/volume → texture/sampler}/lut_to_sampler.d.ts +1 -1
- package/src/engine/graphics/texture/sampler/lut_to_sampler.d.ts.map +1 -0
- package/src/engine/graphics/{particles/particular/engine/utils/volume → texture/sampler}/lut_to_sampler.js +1 -1
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts +0 -3
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts.map +1 -1
- package/src/engine/graphics3/GPUParticleEmitterSystem.js +0 -3
- package/src/engine/network/NetworkSession.d.ts +1 -1
- package/src/engine/network/NetworkSession.js +1 -1
- package/src/engine/physics/cloth/MEASUREMENTS.md +115 -0
- package/src/engine/physics/cloth/solver/cloth_contact_find.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/cloth_contact_find.js +2 -0
- package/src/engine/physics/cloth/solver/constraint/cloth_contact_row.d.ts +9 -0
- package/src/engine/physics/cloth/solver/constraint/cloth_contact_row.d.ts.map +1 -1
- package/src/engine/physics/cloth/solver/constraint/cloth_contact_row.js +30 -7
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +12 -2
- package/src/engine/sound/ecs/audio/LiveEmitterSet.d.ts +11 -2
- package/src/engine/sound/ecs/audio/LiveEmitterSet.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/LiveEmitterSet.js +14 -7
- package/src/engine/sound/ecs/audio/SpatialAudioIndex.d.ts +6 -15
- package/src/engine/sound/ecs/audio/SpatialAudioIndex.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/SpatialAudioIndex.js +161 -174
- package/src/shade/device/mock/SoftwareGPUBuffer.d.ts +5 -3
- package/src/shade/device/mock/SoftwareGPUBuffer.d.ts.map +1 -1
- package/src/shade/device/mock/SoftwareGPUBuffer.js +32 -3
- package/src/shade/device/timing/profile/GPUProfileSession.d.ts +25 -11
- package/src/shade/device/timing/profile/GPUProfileSession.d.ts.map +1 -1
- package/src/shade/device/timing/profile/GPUProfileSession.js +553 -474
- package/src/shade/playground/avboit/main.d.ts.map +1 -1
- package/src/shade/playground/avboit/main.js +888 -916
- package/src/shade/playground/caldera/main.js +73 -60
- package/src/shade/playground/particle_ecs/README.md +13 -7
- package/src/shade/playground/particle_ecs/bonfire_effects.d.ts +5 -5
- package/src/shade/playground/particle_ecs/bonfire_effects.js +5 -5
- package/src/shade/playground/particle_ecs/effects/smoke.json +1859 -1859
- package/src/shade/playground/particle_ecs/effects/soot.json +1605 -1605
- package/src/shade/playground/particle_system/README.md +1 -2
- package/src/shade/playground/profile_hotkey.d.ts.map +1 -1
- package/src/shade/playground/profile_hotkey.js +4 -40
- package/src/shade/playground/skinned_blas_refit/main.d.ts.map +1 -1
- package/src/shade/playground/skinned_blas_refit/main.js +4 -39
- package/src/shade/playground/vgeo_runtime/main.js +25 -77
- package/src/shade/playground/vgeo_scene/main.js +2231 -2217
- package/src/shade/playground/volumetrics_froxel/main.d.ts.map +1 -1
- package/src/shade/playground/volumetrics_froxel/main.js +4 -39
- package/src/shade/playground/volumetrics_froxel/measure.d.ts.map +1 -1
- package/src/shade/playground/volumetrics_froxel/measure.js +2 -4
- package/src/shade/renderer/GraphicsContext.d.ts +7 -0
- package/src/shade/renderer/GraphicsContext.d.ts.map +1 -1
- package/src/shade/renderer/GraphicsContext.js +11 -2
- package/src/shade/renderer/Renderer.d.ts +1 -1
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.js +41 -1
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts +8 -0
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +21 -0
- package/src/shade/renderer/extension/RENDER_EXTENSION_DESIGN.md +1 -1
- package/src/shade/renderer/geometry/GPUGeometryManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/GPUGeometryManager.js +9 -10
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts +5 -0
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.js +11 -0
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryPool.d.ts +12 -0
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryPool.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryPool.js +25 -0
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.d.ts +115 -101
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.js +282 -140
- package/src/shade/renderer/geometry/virtual/runtime/REVIEW_LEDGER.md +30 -0
- package/src/shade/renderer/geometry/virtual/runtime/RUNTIME_PLAN_2026_09_14.md +4 -1
- package/src/shade/renderer/geometry/virtual/runtime/SHADOW_PLAN_2026_09_28.md +536 -0
- package/src/shade/renderer/geometry/virtual/runtime/VGeoFeedbackLoop.d.ts +6 -2
- package/src/shade/renderer/geometry/virtual/runtime/VGeoFeedbackLoop.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoFeedbackLoop.js +68 -19
- package/src/shade/renderer/geometry/virtual/runtime/VGeoPageFetcher.d.ts +2 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoPageFetcher.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoPageFetcher.js +17 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoResidency.d.ts +4 -0
- package/src/shade/renderer/geometry/virtual/runtime/VGeoResidency.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoResidency.js +42 -12
- package/src/shade/renderer/geometry/virtual/runtime/VGeoViewCut.d.ts +93 -12
- package/src/shade/renderer/geometry/virtual/runtime/VGeoViewCut.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoViewCut.js +166 -20
- package/src/shade/renderer/geometry/virtual/runtime/cut/VGEO_CUT_PARAMS_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/VGEO_CUT_PARAMS_STRUCT.js +30 -7
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_access.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_access.js +12 -5
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_claim.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/chunk_vgeo_cut_claim.js +2 -2
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_collect.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_collect.js +23 -13
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_queue_remainder.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_queue_remainder.js +1 -2
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_seed.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_seed.js +1 -2
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_traverse.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/shader_vgeo_cut_traverse.js +10 -6
- package/src/shade/renderer/geometry/virtual/runtime/cut/vgeo_cut_feedback_layout.d.ts +45 -17
- package/src/shade/renderer/geometry/virtual/runtime/cut/vgeo_cut_feedback_layout.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/cut/vgeo_cut_feedback_layout.js +61 -19
- package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_if_enabled.d.ts +8 -11
- package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_if_enabled.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_if_enabled.js +9 -16
- package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_instances_to_meshlets.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/graph_vgeo_expand_instances_to_meshlets.js +25 -10
- package/src/shade/renderer/geometry/virtual/runtime/layout/VGEO_FEEDBACK_OFFSET.js +10 -8
- package/src/shade/renderer/geometry/virtual/runtime/layout/VGEO_INSTANCE_OFFSET.d.ts +1 -0
- package/src/shade/renderer/geometry/virtual/runtime/layout/VGEO_INSTANCE_OFFSET.js +19 -7
- package/src/shade/renderer/geometry/virtual/runtime/make_vgeo_page_worker.d.ts +4 -2
- package/src/shade/renderer/geometry/virtual/runtime/make_vgeo_page_worker.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/make_vgeo_page_worker.js +4 -2
- package/src/shade/renderer/global_illumination/brick4/Brick4LightMap.d.ts +4 -0
- package/src/shade/renderer/global_illumination/brick4/Brick4LightMap.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/brick4/Brick4LightMap.js +7 -0
- package/src/shade/renderer/global_illumination/lpv/GPULightProbeVolume.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/lpv/GPULightProbeVolume.js +1 -0
- package/src/shade/renderer/light/GPULightCollection.d.ts +9 -1
- package/src/shade/renderer/light/GPULightCollection.d.ts.map +1 -1
- package/src/shade/renderer/light/GPULightCollection.js +41 -0
- package/src/shade/renderer/light/environment/shader_project_environment_sh.d.ts +37 -0
- package/src/shade/renderer/light/environment/shader_project_environment_sh.d.ts.map +1 -0
- package/src/shade/renderer/light/environment/shader_project_environment_sh.js +105 -0
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
- package/src/shade/renderer/material/GPUMaterialManager.d.ts.map +1 -1
- package/src/shade/renderer/material/GPUMaterialManager.js +2 -0
- package/src/shade/renderer/particles/DESIGN.md +69 -18
- package/src/shade/renderer/particles/GPUParticleSystem.d.ts +7 -1
- package/src/shade/renderer/particles/GPUParticleSystem.d.ts.map +1 -1
- package/src/shade/renderer/particles/GPUParticleSystem.js +1247 -1244
- package/src/shade/renderer/particles/ParticleConstants.d.ts +1 -3
- package/src/shade/renderer/particles/ParticleConstants.d.ts.map +1 -1
- package/src/shade/renderer/particles/ParticleConstants.js +1 -3
- package/src/shade/renderer/particles/graph_particles_avboit.d.ts +7 -1
- package/src/shade/renderer/particles/graph_particles_avboit.d.ts.map +1 -1
- package/src/shade/renderer/particles/graph_particles_avboit.js +9 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.d.ts +3 -4
- package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_billboard_vertex.js +7 -6
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting.d.ts +15 -9
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting.js +29 -11
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting_model.d.ts +24 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting_model.d.ts.map +1 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting_model.js +45 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_render_math.d.ts +3 -0
- package/src/shade/renderer/particles/shaders/chunk_particle_render_math.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_render_math.js +38 -0
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.js +190 -185
- package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.d.ts +45 -0
- package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/bucket/graph_meshlets_rasterize_by_bucket.js +99 -0
- package/src/shade/renderer/rasterize/bucket/rasterization_opaque_buckets.d.ts +4 -4
- package/src/shade/renderer/rasterize/bucket/rasterization_opaque_buckets.js +36 -36
- package/src/shade/renderer/rasterize/bucket/shader_gather_bucket.d.ts +15 -0
- package/src/shade/renderer/rasterize/bucket/shader_gather_bucket.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/bucket/shader_gather_bucket.js +103 -0
- package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.d.ts +3 -0
- package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/expand/GPUCollectionLimits.js +6 -1
- package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.d.ts +26 -0
- package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.js +91 -0
- package/src/shade/renderer/rasterize/fast/graph_gather_meshes_from_buckets.d.ts +22 -0
- package/src/shade/renderer/rasterize/fast/graph_gather_meshes_from_buckets.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/fast/graph_gather_meshes_from_buckets.js +102 -0
- package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.d.ts +2 -1
- package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.js +28 -24
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts +8 -0
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.js +5 -0
- package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.d.ts +8 -1
- package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.js +9 -0
- package/src/shade/renderer/rasterize/standard/graph_rasterize_partial_opaque.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/standard/graph_rasterize_partial_opaque.js +32 -28
- package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/standard/graph_rasterize_remaining_opaque.js +9 -105
- package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts +5 -0
- package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts.map +1 -1
- package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.js +11 -0
- package/src/shade/renderer/scene/GPUSceneContext.d.ts +11 -3
- package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
- package/src/shade/renderer/scene/GPUSceneContext.js +93 -21
- package/src/shade/renderer/scene/rows/GPUSceneRows.d.ts +4 -1
- package/src/shade/renderer/scene/rows/GPUSceneRows.d.ts.map +1 -1
- package/src/shade/renderer/scene/rows/GPUSceneRows.js +5 -23
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.js +63 -0
- package/src/shade/renderer/shadow/map/SHADOWMAP_VGEO_TAU_SCALE.d.ts +12 -0
- package/src/shade/renderer/shadow/map/SHADOWMAP_VGEO_TAU_SCALE.d.ts.map +1 -0
- package/src/shade/renderer/shadow/map/SHADOWMAP_VGEO_TAU_SCALE.js +11 -0
- package/src/shade/renderer/shadow/map/Shadowmap.d.ts +15 -0
- package/src/shade/renderer/shadow/map/Shadowmap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/Shadowmap.js +17 -0
- package/src/shade/renderer/shadow/map/shadowmap_caster_detail_pending.d.ts +25 -0
- package/src/shade/renderer/shadow/map/shadowmap_caster_detail_pending.d.ts.map +1 -0
- package/src/shade/renderer/shadow/map/shadowmap_caster_detail_pending.js +22 -0
- package/src/shade/renderer/shadow/map/shadowmap_update_score.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/shadowmap_update_score.js +5 -2
- package/src/shade/renderer/texture/TextureManager.d.ts +2 -1
- package/src/shade/renderer/texture/TextureManager.d.ts.map +1 -1
- package/src/shade/renderer/texture/TextureManager.js +4 -1
- package/src/shade/renderer/texture/mipmaps/WebGPUMipmapGenerator.js +1 -1
- package/src/shade/renderer/util/Uint32BufferSamplingStats.d.ts +9 -1
- package/src/shade/renderer/util/Uint32BufferSamplingStats.d.ts.map +1 -1
- package/src/shade/renderer/util/Uint32BufferSamplingStats.js +55 -5
- package/src/shade/renderer/view/ViewManager.d.ts +7 -1
- package/src/shade/renderer/view/ViewManager.d.ts.map +1 -1
- package/src/shade/renderer/view/ViewManager.js +17 -1
- package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/GPUSceneVolumetrics.js +1 -0
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts +13 -3
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.js +9 -1
- package/src/shade/renderer/volumetrics/chunk_volumetrics_irradiance_sh.d.ts +39 -0
- package/src/shade/renderer/volumetrics/chunk_volumetrics_irradiance_sh.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/chunk_volumetrics_irradiance_sh.js +107 -0
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_froxel_centre_ws.d.ts +15 -0
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_froxel_centre_ws.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_froxel_centre_ws.js +44 -0
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi.d.ts +19 -0
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi.js +48 -0
- package/src/shade/renderer/volumetrics/gi/graph_build_froxel_gi.d.ts +29 -0
- package/src/shade/renderer/volumetrics/gi/graph_build_froxel_gi.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/gi/graph_build_froxel_gi.js +90 -0
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_brick4.d.ts +10 -0
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_brick4.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_brick4.js +55 -0
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_ibl.d.ts +10 -0
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_ibl.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_ibl.js +47 -0
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_lpv.d.ts +10 -0
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_lpv.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi_lpv.js +63 -0
- package/src/shade/renderer/volumetrics/gi/volumetrics_gi_resources.d.ts +17 -0
- package/src/shade/renderer/volumetrics/gi/volumetrics_gi_resources.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/gi/volumetrics_gi_resources.js +26 -0
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.d.ts +8 -1
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.js +50 -2
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_lighting.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_lighting.js +488 -436
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.d.ts +1 -1
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +254 -63
- package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.d.ts +0 -20
- package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.d.ts.map +0 -1
- package/editor/ecs/component/editors/ecs/ParameterLookupTableEditor.js +0 -35
- package/editor/ecs/component/editors/ecs/ParameterTrackEditor.d.ts +0 -12
- package/editor/ecs/component/editors/ecs/ParameterTrackEditor.d.ts.map +0 -1
- package/editor/ecs/component/editors/ecs/ParameterTrackEditor.js +0 -17
- package/editor/ecs/component/editors/ecs/ParameterTrackSetEditor.d.ts +0 -14
- package/editor/ecs/component/editors/ecs/ParameterTrackSetEditor.d.ts.map +0 -1
- package/editor/ecs/component/editors/ecs/ParameterTrackSetEditor.js +0 -18
- package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.d.ts +0 -52
- package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.d.ts.map +0 -1
- package/editor/ecs/component/editors/ecs/ParticleEmitterEditor.js +0 -58
- package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.d.ts +0 -47
- package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.d.ts.map +0 -1
- package/editor/ecs/component/editors/ecs/ParticleEmitterLayerEditor.js +0 -58
- package/editor/ecs/component/editors/ecs/SimulationStepDefinitionEditor.d.ts +0 -16
- package/editor/ecs/component/editors/ecs/SimulationStepDefinitionEditor.d.ts.map +0 -1
- package/editor/ecs/component/editors/ecs/SimulationStepDefinitionEditor.js +0 -21
- package/editor/particles/rebuildParticleEmitter.d.ts +0 -11
- package/editor/particles/rebuildParticleEmitter.d.ts.map +0 -1
- package/editor/particles/rebuildParticleEmitter.js +0 -31
- package/editor/process/ParticleEmitterRebuildProcess.d.ts +0 -66
- package/editor/process/ParticleEmitterRebuildProcess.d.ts.map +0 -1
- package/editor/process/ParticleEmitterRebuildProcess.js +0 -217
- package/editor/process/symbolic/ParticleEmitterSymbolicDisplay.d.ts +0 -18
- package/editor/process/symbolic/ParticleEmitterSymbolicDisplay.d.ts.map +0 -1
- package/editor/process/symbolic/ParticleEmitterSymbolicDisplay.js +0 -140
- package/src/engine/animation/removeEntityGenericEffect.d.ts +0 -18
- package/src/engine/animation/removeEntityGenericEffect.d.ts.map +0 -1
- package/src/engine/animation/removeEntityGenericEffect.js +0 -160
- package/src/engine/animation/removeEntityWithMeshParticlesEffect.d.ts +0 -16
- package/src/engine/animation/removeEntityWithMeshParticlesEffect.d.ts.map +0 -1
- package/src/engine/animation/removeEntityWithMeshParticlesEffect.js +0 -194
- package/src/engine/graphics/ecs/sprite/Sprite.d.ts +0 -15
- package/src/engine/graphics/ecs/sprite/Sprite.d.ts.map +0 -1
- package/src/engine/graphics/ecs/sprite/Sprite.js +0 -14
- package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts +0 -11
- package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts.map +0 -1
- package/src/engine/graphics/ecs/sprite/SpriteSystemPE.js +0 -144
- package/src/engine/graphics/particles/particular/engine/MovingBoundingBox.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts +0 -61
- package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/ParticularEngine.js +0 -229
- package/src/engine/graphics/particles/particular/engine/emitter/EmissionFromType.d.ts +0 -6
- package/src/engine/graphics/particles/particular/engine/emitter/EmissionFromType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/EmissionFromType.js +0 -8
- package/src/engine/graphics/particles/particular/engine/emitter/EmissionShapeType.d.ts +0 -7
- package/src/engine/graphics/particles/particular/engine/emitter/EmissionShapeType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/EmissionShapeType.js +0 -9
- package/src/engine/graphics/particles/particular/engine/emitter/PARTICLE_ATTRIBUTES.d.ts +0 -13
- package/src/engine/graphics/particles/particular/engine/emitter/PARTICLE_ATTRIBUTES.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/PARTICLE_ATTRIBUTES.js +0 -12
- package/src/engine/graphics/particles/particular/engine/emitter/PARTICULAR_PARTICLE_SPECIFICATION.d.ts +0 -3
- package/src/engine/graphics/particles/particular/engine/emitter/PARTICULAR_PARTICLE_SPECIFICATION.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/PARTICULAR_PARTICLE_SPECIFICATION.js +0 -84
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts +0 -285
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +0 -1201
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitterFlag.d.ts +0 -19
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitterFlag.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitterFlag.js +0 -67
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.d.ts +0 -197
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.js +0 -398
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleParameters.d.ts +0 -5
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleParameters.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleParameters.js +0 -4
- package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts +0 -162
- package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.js +0 -472
- package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.d.ts +0 -10
- package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.js +0 -37
- package/src/engine/graphics/particles/particular/engine/emitter/distance_to_camera.d.ts +0 -9
- package/src/engine/graphics/particles/particular/engine/emitter/distance_to_camera.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/distance_to_camera.js +0 -25
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.d.ts +0 -19
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.js +0 -28
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.d.ts +0 -19
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.js +0 -162
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.d.ts +0 -5
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.js +0 -103
- package/src/engine/graphics/particles/particular/engine/emitter/write_particle_patch_uv.d.ts +0 -8
- package/src/engine/graphics/particles/particular/engine/emitter/write_particle_patch_uv.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/emitter/write_particle_patch_uv.js +0 -28
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.d.ts +0 -2
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.js +0 -2
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTableFlags.d.ts +0 -2
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTableFlags.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTableFlags.js +0 -2
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.d.ts +0 -60
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.js +0 -128
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.d.ts +0 -47
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.js +0 -77
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.d.ts +0 -45
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.js +0 -93
- package/src/engine/graphics/particles/particular/engine/parameter/ParticleParameter.d.ts +0 -95
- package/src/engine/graphics/particles/particular/engine/parameter/ParticleParameter.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/ParticleParameter.js +0 -239
- package/src/engine/graphics/particles/particular/engine/parameter/sample/RGBA_LUT_HEATMAP_IR.d.ts +0 -3
- package/src/engine/graphics/particles/particular/engine/parameter/sample/RGBA_LUT_HEATMAP_IR.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_INFERNO.d.ts +0 -6
- package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_INFERNO.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_TURBO.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/parameter/sample/RGB_LUT_VIRIDIS.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/renderers/ParticleRenderer.d.ts +0 -13
- package/src/engine/graphics/particles/particular/engine/renderers/ParticleRenderer.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/renderers/ParticleRenderer.js +0 -28
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/BILLBOARD_PARTICLE_SPECIFICATION.d.ts +0 -9
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/BILLBOARD_PARTICLE_SPECIFICATION.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/BILLBOARD_PARTICLE_SPECIFICATION.js +0 -24
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticlePool.d.ts +0 -13
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticlePool.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticlePool.js +0 -27
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticleRenderer.d.ts +0 -33
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticleRenderer.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticleRenderer.js +0 -80
- package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts +0 -49
- package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.js +0 -135
- package/src/engine/graphics/particles/particular/engine/shader/debugAtlas.d.ts +0 -7
- package/src/engine/graphics/particles/particular/engine/shader/debugAtlas.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/shader/debugAtlas.js +0 -14
- package/src/engine/graphics/particles/particular/engine/simulator/AbstractSimulationStep.d.ts +0 -41
- package/src/engine/graphics/particles/particular/engine/simulator/AbstractSimulationStep.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/AbstractSimulationStep.js +0 -59
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepApplyForce.d.ts +0 -4
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepApplyForce.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepApplyForce.js +0 -56
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseAcceleration.d.ts +0 -4
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseAcceleration.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseAcceleration.js +0 -84
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.d.ts +0 -4
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.js +0 -80
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepDefinition.d.ts +0 -29
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepDefinition.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepDefinition.js +0 -43
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepFixedPhysics.d.ts +0 -5
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepFixedPhysics.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepFixedPhysics.js +0 -104
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepType.d.ts +0 -9
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepType.js +0 -11
- package/src/engine/graphics/particles/particular/engine/simulator/update_parameters.d.ts +0 -9
- package/src/engine/graphics/particles/particular/engine/simulator/update_parameters.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/simulator/update_parameters.js +0 -64
- package/src/engine/graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.d.ts +0 -9
- package/src/engine/graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.js +0 -172
- package/src/engine/graphics/particles/particular/engine/utils/distribute_points_on_indexed_triangles.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.d.ts +0 -20
- package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.js +0 -84
- package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts +0 -81
- package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.js +0 -200
- package/src/engine/graphics/particles/particular/engine/utils/volume/SamplingFunctionKind.d.ts +0 -6
- package/src/engine/graphics/particles/particular/engine/utils/volume/SamplingFunctionKind.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/utils/volume/SamplingFunctionKind.js +0 -8
- package/src/engine/graphics/particles/particular/engine/utils/volume/lut_to_sampler.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/Operation.d.ts +0 -20
- package/src/engine/graphics/particles/particular/group/Operation.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/Operation.js +0 -20
- package/src/engine/graphics/particles/particular/group/OperationType.d.ts +0 -7
- package/src/engine/graphics/particles/particular/group/OperationType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/OperationType.js +0 -9
- package/src/engine/graphics/particles/particular/group/ParticleAttribute.d.ts +0 -27
- package/src/engine/graphics/particles/particular/group/ParticleAttribute.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/ParticleAttribute.js +0 -27
- package/src/engine/graphics/particles/particular/group/ParticleAttributeType.d.ts +0 -8
- package/src/engine/graphics/particles/particular/group/ParticleAttributeType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/ParticleAttributeType.js +0 -11
- package/src/engine/graphics/particles/particular/group/ParticleDataType.d.ts +0 -7
- package/src/engine/graphics/particles/particular/group/ParticleDataType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/ParticleDataType.js +0 -10
- package/src/engine/graphics/particles/particular/group/ParticleSpecification.d.ts +0 -24
- package/src/engine/graphics/particles/particular/group/ParticleSpecification.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/ParticleSpecification.js +0 -48
- package/src/engine/graphics/particles/particular/group/itemSizeFromAttributeType.d.ts +0 -7
- package/src/engine/graphics/particles/particular/group/itemSizeFromAttributeType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/itemSizeFromAttributeType.js +0 -20
- package/src/engine/graphics/particles/particular/group/optimizeCommandQueue.d.ts +0 -6
- package/src/engine/graphics/particles/particular/group/optimizeCommandQueue.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/optimizeCommandQueue.js +0 -162
- package/src/engine/graphics/particles/particular/group/typedArrayConstructorFromDataType.d.ts +0 -8
- package/src/engine/graphics/particles/particular/group/typedArrayConstructorFromDataType.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/group/typedArrayConstructorFromDataType.js +0 -19
- package/src/engine/graphics3/ParticleEmitterSystem.d.ts +0 -77
- package/src/engine/graphics3/ParticleEmitterSystem.d.ts.map +0 -1
- package/src/engine/graphics3/ParticleEmitterSystem.js +0 -307
- package/src/engine/graphics3/ParticleEmitterSystem3.d.ts +0 -10
- package/src/engine/graphics3/ParticleEmitterSystem3.d.ts.map +0 -1
- package/src/engine/graphics3/ParticleEmitterSystem3.js +0 -10
- package/src/engine/graphics3/particles/GPUParticularRenderer.d.ts +0 -61
- package/src/engine/graphics3/particles/GPUParticularRenderer.d.ts.map +0 -1
- package/src/engine/graphics3/particles/GPUParticularRenderer.js +0 -627
- package/src/engine/graphics3/particles/particle_gpu_records.d.ts +0 -85
- package/src/engine/graphics3/particles/particle_gpu_records.d.ts.map +0 -1
- package/src/engine/graphics3/particles/particle_gpu_records.js +0 -227
- package/src/shade/renderer/particles/shaders/shader_particle_render.d.ts +0 -35
- package/src/shade/renderer/particles/shaders/shader_particle_render.d.ts.map +0 -1
- package/src/shade/renderer/particles/shaders/shader_particle_render.js +0 -135
- /package/src/engine/graphics/{particles/particular/engine/utils → geometry}/distribute_points_on_indexed_triangles.d.ts +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One bucket of a bucket-sorted collection, appended to a flat collection after the gathered
|
|
3
|
+
* buckets below it.
|
|
4
|
+
*
|
|
5
|
+
* Dispatched once per gathered bucket, in ascending id order, each sized off its own bucket's
|
|
6
|
+
* header. Where a bucket lands is the sum of the gathered buckets below it, so the output is their
|
|
7
|
+
* concatenation whatever the dispatches' timing, and not one atomic is involved.
|
|
8
|
+
*
|
|
9
|
+
* @see graph_gather_meshes_from_buckets
|
|
10
|
+
* @see shader_read_out_bucket which copies a bucket to the start of an output of its own
|
|
11
|
+
* @type {ComputeShader}
|
|
12
|
+
*/
|
|
13
|
+
export const shader_gather_bucket: ComputeShader;
|
|
14
|
+
import { ComputeShader } from "../../shader/ComputeShader.js";
|
|
15
|
+
//# sourceMappingURL=shader_gather_bucket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shader_gather_bucket.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/rasterize/bucket/shader_gather_bucket.js"],"names":[],"mappings":"AAsFA;;;;;;;;;;;GAWG;AACH,mCAFU,aAAa,CAMrB;8BAhG4B,+BAA+B"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { assert } from "../../../../core/assert.js";
|
|
2
|
+
import { u32 } from "../../shader/type/WEBGPU_WGSL_PRIMITIVE_TYPES.js";
|
|
3
|
+
import { WebGPUStruct } from "../../shader/type/WebGPUStruct.js";
|
|
4
|
+
import { COLLECTION_U32_STRUCT_READ } from "../../gpu_primitive/COLLECTION_U32_STRUCT_READ.js";
|
|
5
|
+
import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
|
|
6
|
+
import { COMPUTE_SHADER_DEFAULT_GROUP_SIZE } from "../../shader/COMPUTE_SHADER_DEFAULT_GROUP_SIZE.js";
|
|
7
|
+
import { ComputeShader } from "../../shader/ComputeShader.js";
|
|
8
|
+
import { ShaderResourceSetDescriptor } from "../../shader/resource/ShaderResourceSetDescriptor.js";
|
|
9
|
+
import { RASTERIZATION_BUCKET_LIMIT } from "../expand/bucket/RASTERIZATION_BUCKET_LIMIT.js";
|
|
10
|
+
import {
|
|
11
|
+
RASTERIZATION_BUCKET_SORT_OUTPUT_STRUCT_READ
|
|
12
|
+
} from "../expand/bucket/RASTERIZATION_BUCKET_SORT_OUTPUT_STRUCT_READ.js";
|
|
13
|
+
|
|
14
|
+
// every bucket is one bit of `gathered`
|
|
15
|
+
assert.lessThanOrEqual(RASTERIZATION_BUCKET_LIMIT, 32, 'RASTERIZATION_BUCKET_LIMIT');
|
|
16
|
+
|
|
17
|
+
const resources = new ShaderResourceSetDescriptor();
|
|
18
|
+
|
|
19
|
+
resources.setImmediate("settings", WebGPUStruct.from({
|
|
20
|
+
bucket_id: u32,
|
|
21
|
+
// every bucket this gather concatenates, one bit per bucket id
|
|
22
|
+
gathered: u32,
|
|
23
|
+
}));
|
|
24
|
+
|
|
25
|
+
resources.createGroup()
|
|
26
|
+
.addStorageBuffer("input", RASTERIZATION_BUCKET_SORT_OUTPUT_STRUCT_READ)
|
|
27
|
+
.addStorageBuffer("output", COLLECTION_U32_STRUCT_READ, true)
|
|
28
|
+
|
|
29
|
+
const body = CodeChunk.from(
|
|
30
|
+
//language=WGSL
|
|
31
|
+
`
|
|
32
|
+
// What a bucket holds, which is not always what its header says: the classify pass counts every
|
|
33
|
+
// visible mesh and writes one only while the input has room (see shader_read_out_bucket).
|
|
34
|
+
fn bucket_size(bucket_id: u32) -> u32 {
|
|
35
|
+
let header = input.headers[bucket_id];
|
|
36
|
+
|
|
37
|
+
let input_capacity = arrayLength(&input.elements);
|
|
38
|
+
let available = select(0u, input_capacity - header.offset, input_capacity > header.offset);
|
|
39
|
+
|
|
40
|
+
return min(header.count, available);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@compute @workgroup_size(${COMPUTE_SHADER_DEFAULT_GROUP_SIZE})
|
|
44
|
+
fn main(@builtin(global_invocation_id) global_id : vec3<u32>){
|
|
45
|
+
|
|
46
|
+
let input_index = global_id.x;
|
|
47
|
+
|
|
48
|
+
let bucket_id = settings.bucket_id;
|
|
49
|
+
|
|
50
|
+
// the bucket starts where the gathered buckets below it end — each read off its own header, so
|
|
51
|
+
// no dispatch has to hand the next one where it stopped
|
|
52
|
+
var base = 0u;
|
|
53
|
+
var below = settings.gathered & ((1u << bucket_id) - 1u);
|
|
54
|
+
|
|
55
|
+
while (below != 0u) {
|
|
56
|
+
base += bucket_size(firstTrailingBit(below));
|
|
57
|
+
below &= below - 1u;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
let size = bucket_size(bucket_id);
|
|
61
|
+
let output_capacity = arrayLength(&output.elements);
|
|
62
|
+
|
|
63
|
+
/*
|
|
64
|
+
Every bucket writes the count it ends at, and the buckets are dispatched in ascending order, so
|
|
65
|
+
the last one standing wrote the total. Not only the highest: a bucket with nothing in it is a
|
|
66
|
+
dispatch of no workgroups, and writes nothing at all.
|
|
67
|
+
*/
|
|
68
|
+
if (input_index == 0u) {
|
|
69
|
+
output.count = min(base + size, output_capacity);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (input_index >= size) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
let output_index = base + input_index;
|
|
77
|
+
|
|
78
|
+
if (output_index >= output_capacity) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
output.elements[output_index] = input.elements[input.headers[bucket_id].offset + input_index];
|
|
83
|
+
}
|
|
84
|
+
`
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* One bucket of a bucket-sorted collection, appended to a flat collection after the gathered
|
|
89
|
+
* buckets below it.
|
|
90
|
+
*
|
|
91
|
+
* Dispatched once per gathered bucket, in ascending id order, each sized off its own bucket's
|
|
92
|
+
* header. Where a bucket lands is the sum of the gathered buckets below it, so the output is their
|
|
93
|
+
* concatenation whatever the dispatches' timing, and not one atomic is involved.
|
|
94
|
+
*
|
|
95
|
+
* @see graph_gather_meshes_from_buckets
|
|
96
|
+
* @see shader_read_out_bucket which copies a bucket to the start of an output of its own
|
|
97
|
+
* @type {ComputeShader}
|
|
98
|
+
*/
|
|
99
|
+
export const shader_gather_bucket = ComputeShader.from({
|
|
100
|
+
label: 'Gather bucket',
|
|
101
|
+
resources,
|
|
102
|
+
body,
|
|
103
|
+
})
|
|
@@ -46,6 +46,9 @@ export class GPUCollectionLimits {
|
|
|
46
46
|
compute_buffer_size(type: RasterizationCollectionType): number;
|
|
47
47
|
destroy(): void;
|
|
48
48
|
/**
|
|
49
|
+
* Read this frame's counts back once `encoder` is submitted and fold them into the limits.
|
|
50
|
+
* Resolves, never rejects, when the reading is lost to a teardown — see
|
|
51
|
+
* {@link Uint32BufferSamplingStats#readback_explicit} — and the limits then stand as they were.
|
|
49
52
|
*
|
|
50
53
|
* @param {ShadeGPUCommandContext} encoder
|
|
51
54
|
* @param {GPUBufferAllocator} buffers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GPUCollectionLimits.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/rasterize/expand/GPUCollectionLimits.js"],"names":[],"mappings":"AAsBA;;GAEG;AACH;IAyBI;;;OAGG;IACH,+BAqBC;IAtCD;;;OAGG;IACH,uCAEC;IAkCD;;;;OAIG;IACH,gBAHW,2BAA2B,GAC1B,MAAM,CAMjB;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAHW,2BAA2B,SAC3B,MAAM,QAQhB;IAED;;;;OAIG;IACH,0BAHW,2BAA2B,GACzB,MAAM,CAyBlB;IA+BD,gBAEC;IAED
|
|
1
|
+
{"version":3,"file":"GPUCollectionLimits.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/rasterize/expand/GPUCollectionLimits.js"],"names":[],"mappings":"AAsBA;;GAEG;AACH;IAyBI;;;OAGG;IACH,+BAqBC;IAtCD;;;OAGG;IACH,uCAEC;IAkCD;;;;OAIG;IACH,gBAHW,2BAA2B,GAC1B,MAAM,CAMjB;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAHW,2BAA2B,SAC3B,MAAM,QAQhB;IAED;;;;OAIG;IACH,0BAHW,2BAA2B,GACzB,MAAM,CAyBlB;IA+BD,gBAEC;IAED;;;;;;;OAOG;IACH,gBAHW,sBAAsB,WACtB,kBAAkB,iBAkB5B;;CAEJ;qCAjMY,OAAO,2CAA2C,EAAE,sBAAsB;iCAC1E,OAAO,oCAAoC,EAAE,kBAAkB;0CANlC,yCAAyC;4CACvC,kCAAkC"}
|
|
@@ -177,6 +177,9 @@ export class GPUCollectionLimits {
|
|
|
177
177
|
}
|
|
178
178
|
|
|
179
179
|
/**
|
|
180
|
+
* Read this frame's counts back once `encoder` is submitted and fold them into the limits.
|
|
181
|
+
* Resolves, never rejects, when the reading is lost to a teardown — see
|
|
182
|
+
* {@link Uint32BufferSamplingStats#readback_explicit} — and the limits then stand as they were.
|
|
180
183
|
*
|
|
181
184
|
* @param {ShadeGPUCommandContext} encoder
|
|
182
185
|
* @param {GPUBufferAllocator} buffers
|
|
@@ -187,7 +190,9 @@ export class GPUCollectionLimits {
|
|
|
187
190
|
|
|
188
191
|
const stats = this.#stats;
|
|
189
192
|
|
|
190
|
-
await stats.readback_explicit(encoder, buffers)
|
|
193
|
+
if (!await stats.readback_explicit(encoder, buffers)) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
191
196
|
|
|
192
197
|
this.#clamp_stats_against_runaway();
|
|
193
198
|
|
package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copy one bucket's meshlets out of a bucket-sorted meshlet buffer into a flat collection a raster
|
|
3
|
+
* pass can draw.
|
|
4
|
+
*
|
|
5
|
+
* The second half of expanding and cutting a view once and bucketing afterwards
|
|
6
|
+
* (CUT_PLAN_2026_09_14 §7 6b): the bucket loop that follows rasterizes each slice with its own
|
|
7
|
+
* primitive state, and nothing upstream of the sort had to know how many buckets there were.
|
|
8
|
+
*
|
|
9
|
+
* @param {Object} options
|
|
10
|
+
* @param {FrameGraph} options.graph
|
|
11
|
+
* @param {number} options.buckets bucket-sorted meshlets, as {@link graph_sort_meshlets_by_bucket_id}
|
|
12
|
+
* leaves them
|
|
13
|
+
* @param {number} options.bucket_id
|
|
14
|
+
* @param {GPUCollectionLimits} options.limits
|
|
15
|
+
* @returns {number} the bucket's meshlets
|
|
16
|
+
*
|
|
17
|
+
* @author Alex Goldring
|
|
18
|
+
* @copyright Company Named Limited (c) 2026
|
|
19
|
+
*/
|
|
20
|
+
export function graph_extract_meshlets_from_bucket({ graph, buckets, bucket_id, limits, }: {
|
|
21
|
+
graph: FrameGraph;
|
|
22
|
+
buckets: number;
|
|
23
|
+
bucket_id: number;
|
|
24
|
+
limits: GPUCollectionLimits;
|
|
25
|
+
}): number;
|
|
26
|
+
//# sourceMappingURL=graph_extract_meshlets_from_bucket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph_extract_meshlets_from_bucket.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.js"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;GAkBG;AACH;IAV+B,KAAK;IACT,OAAO,EAAvB,MAAM;IAEU,SAAS,EAAzB,MAAM;IACuB,MAAM;IACjC,MAAM,CAoElB"}
|
package/src/shade/renderer/rasterize/expand/bucket/meshlet/graph_extract_meshlets_from_bucket.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { BufferResourceDescriptor } from "../../../../../device/graph/BufferResourceDescriptor.js";
|
|
2
|
+
import { u32 } from "../../../../shader/type/WEBGPU_WGSL_PRIMITIVE_TYPES.js";
|
|
3
|
+
import { STRUCT_DISPATCH_COMPUTE_COMMAND } from "../../../../gpu_primitive/indirect/STRUCT_DISPATCH_COMPUTE_COMMAND.js";
|
|
4
|
+
import { COMPUTE_SHADER_DEFAULT_GROUP_SIZE } from "../../../../shader/COMPUTE_SHADER_DEFAULT_GROUP_SIZE.js";
|
|
5
|
+
import { build_indirect_compute_dispatch_command } from "../../../../gpu_primitive/indirect/IndirectComputeCommandBuildPass.js";
|
|
6
|
+
import { RasterizationCollectionType } from "../../RasterizationCollectionType.js";
|
|
7
|
+
import { shader_meshlets_extract_bucket } from "./shader_meshlets_extract_bucket.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Copy one bucket's meshlets out of a bucket-sorted meshlet buffer into a flat collection a raster
|
|
11
|
+
* pass can draw.
|
|
12
|
+
*
|
|
13
|
+
* The second half of expanding and cutting a view once and bucketing afterwards
|
|
14
|
+
* (CUT_PLAN_2026_09_14 §7 6b): the bucket loop that follows rasterizes each slice with its own
|
|
15
|
+
* primitive state, and nothing upstream of the sort had to know how many buckets there were.
|
|
16
|
+
*
|
|
17
|
+
* @param {Object} options
|
|
18
|
+
* @param {FrameGraph} options.graph
|
|
19
|
+
* @param {number} options.buckets bucket-sorted meshlets, as {@link graph_sort_meshlets_by_bucket_id}
|
|
20
|
+
* leaves them
|
|
21
|
+
* @param {number} options.bucket_id
|
|
22
|
+
* @param {GPUCollectionLimits} options.limits
|
|
23
|
+
* @returns {number} the bucket's meshlets
|
|
24
|
+
*
|
|
25
|
+
* @author Alex Goldring
|
|
26
|
+
* @copyright Company Named Limited (c) 2026
|
|
27
|
+
*/
|
|
28
|
+
export function graph_extract_meshlets_from_bucket({
|
|
29
|
+
graph,
|
|
30
|
+
buckets,
|
|
31
|
+
bucket_id,
|
|
32
|
+
limits,
|
|
33
|
+
}) {
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
*
|
|
37
|
+
* @param data
|
|
38
|
+
* @param {FramePassResources} resources
|
|
39
|
+
* @param {GraphicsExecutionContext} context
|
|
40
|
+
*/
|
|
41
|
+
function execute(data, resources, context) {
|
|
42
|
+
const encoder = context.encoder;
|
|
43
|
+
|
|
44
|
+
const buckets = resources.get(data.buckets);
|
|
45
|
+
const output = resources.get(data.output);
|
|
46
|
+
const command = resources.get(data.command);
|
|
47
|
+
|
|
48
|
+
const bucket_id = data.bucket_id;
|
|
49
|
+
|
|
50
|
+
// folded: a meshlet collection is past what one dispatch dimension reaches — see
|
|
51
|
+
// IndirectComputeCommandBuildPass
|
|
52
|
+
build_indirect_compute_dispatch_command(
|
|
53
|
+
COMPUTE_SHADER_DEFAULT_GROUP_SIZE,
|
|
54
|
+
encoder,
|
|
55
|
+
buckets,
|
|
56
|
+
// the bucketed buffer header consists of pairs of u32 values (count,offset)
|
|
57
|
+
bucket_id * (u32.size * 2),
|
|
58
|
+
command,
|
|
59
|
+
0,
|
|
60
|
+
true,
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
shader_meshlets_extract_bucket.dispatchIndirect({
|
|
64
|
+
encoder,
|
|
65
|
+
command,
|
|
66
|
+
bindings: {
|
|
67
|
+
bucket_index: { value: bucket_id },
|
|
68
|
+
bucket_data: buckets,
|
|
69
|
+
output: output,
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const data = {};
|
|
75
|
+
|
|
76
|
+
const pass = graph.add("extract meshlets from bucket", data, execute);
|
|
77
|
+
|
|
78
|
+
data.buckets = pass.read(buckets);
|
|
79
|
+
data.bucket_id = bucket_id;
|
|
80
|
+
data.command = pass.create("command", BufferResourceDescriptor.from(
|
|
81
|
+
STRUCT_DISPATCH_COMPUTE_COMMAND.aligned_size,
|
|
82
|
+
GPUBufferUsage.STORAGE | GPUBufferUsage.INDIRECT,
|
|
83
|
+
));
|
|
84
|
+
data.output = pass.create("output", BufferResourceDescriptor.from(
|
|
85
|
+
limits.compute_buffer_size(RasterizationCollectionType.Meshlets),
|
|
86
|
+
GPUBufferUsage.STORAGE,
|
|
87
|
+
0, 16 // clear count
|
|
88
|
+
));
|
|
89
|
+
|
|
90
|
+
return data.output;
|
|
91
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Several buckets' mesh indices out of a bucket-sorted mesh buffer, into one flat
|
|
3
|
+
* {@link COLLECTION_U32_STRUCT_READ} buffer, end to end in bucket order.
|
|
4
|
+
*
|
|
5
|
+
* What lets the fast path expand and cut a view once rather than once per opaque bucket
|
|
6
|
+
* (CUT_PLAN_2026_09_14 §7 6b): the opaque buckets are not neighbours in the sorted buffer — the
|
|
7
|
+
* transparency mode is the low bits of a bucket id — so they cannot be read out as one range.
|
|
8
|
+
*
|
|
9
|
+
* @param {Object} options
|
|
10
|
+
* @param {FrameGraph} options.graph
|
|
11
|
+
* @param {number} options.buckets bucket-sorted meshes resource ID
|
|
12
|
+
* @param {number[]} options.bucket_ids the buckets to gather, ascending
|
|
13
|
+
* @param {GPUCollectionLimits} options.limits
|
|
14
|
+
* @returns {number} resource ID of the gathered mesh list
|
|
15
|
+
*/
|
|
16
|
+
export function graph_gather_meshes_from_buckets({ graph, buckets, bucket_ids, limits, }: {
|
|
17
|
+
graph: FrameGraph;
|
|
18
|
+
buckets: number;
|
|
19
|
+
bucket_ids: number[];
|
|
20
|
+
limits: GPUCollectionLimits;
|
|
21
|
+
}): number;
|
|
22
|
+
//# sourceMappingURL=graph_gather_meshes_from_buckets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph_gather_meshes_from_buckets.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/rasterize/fast/graph_gather_meshes_from_buckets.js"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;GAcG;AACH;IAN+B,KAAK;IACT,OAAO,EAAvB,MAAM;IACY,UAAU,EAA5B,MAAM,EAAE;IACqB,MAAM;IACjC,MAAM,CA6ElB"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { assert } from "../../../../core/assert.js";
|
|
2
|
+
import { BufferResourceDescriptor } from "../../../device/graph/BufferResourceDescriptor.js";
|
|
3
|
+
import { u32 } from "../../shader/type/WEBGPU_WGSL_PRIMITIVE_TYPES.js";
|
|
4
|
+
import { COMPUTE_SHADER_DEFAULT_GROUP_SIZE } from "../../shader/COMPUTE_SHADER_DEFAULT_GROUP_SIZE.js";
|
|
5
|
+
import {
|
|
6
|
+
build_indirect_compute_dispatch_command,
|
|
7
|
+
INDIRECT_COMPUTE_COMMAND_DESCRIPTOR
|
|
8
|
+
} from "../../gpu_primitive/indirect/IndirectComputeCommandBuildPass.js";
|
|
9
|
+
import { RasterizationCollectionType } from "../expand/RasterizationCollectionType.js";
|
|
10
|
+
import { shader_gather_bucket } from "../bucket/shader_gather_bucket.js";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Several buckets' mesh indices out of a bucket-sorted mesh buffer, into one flat
|
|
14
|
+
* {@link COLLECTION_U32_STRUCT_READ} buffer, end to end in bucket order.
|
|
15
|
+
*
|
|
16
|
+
* What lets the fast path expand and cut a view once rather than once per opaque bucket
|
|
17
|
+
* (CUT_PLAN_2026_09_14 §7 6b): the opaque buckets are not neighbours in the sorted buffer — the
|
|
18
|
+
* transparency mode is the low bits of a bucket id — so they cannot be read out as one range.
|
|
19
|
+
*
|
|
20
|
+
* @param {Object} options
|
|
21
|
+
* @param {FrameGraph} options.graph
|
|
22
|
+
* @param {number} options.buckets bucket-sorted meshes resource ID
|
|
23
|
+
* @param {number[]} options.bucket_ids the buckets to gather, ascending
|
|
24
|
+
* @param {GPUCollectionLimits} options.limits
|
|
25
|
+
* @returns {number} resource ID of the gathered mesh list
|
|
26
|
+
*/
|
|
27
|
+
export function graph_gather_meshes_from_buckets({
|
|
28
|
+
graph,
|
|
29
|
+
buckets,
|
|
30
|
+
bucket_ids,
|
|
31
|
+
limits,
|
|
32
|
+
}) {
|
|
33
|
+
assert.isArray(bucket_ids, 'bucket_ids');
|
|
34
|
+
|
|
35
|
+
let gathered = 0;
|
|
36
|
+
|
|
37
|
+
for (let i = 0; i < bucket_ids.length; i++) {
|
|
38
|
+
const bucket_id = bucket_ids[i];
|
|
39
|
+
|
|
40
|
+
assert.isNonNegativeInteger(bucket_id, 'bucket_id');
|
|
41
|
+
assert.lessThan(bucket_id, 32, 'bucket_id');
|
|
42
|
+
|
|
43
|
+
// the count the last dispatch writes is the total only if the last is the highest
|
|
44
|
+
assert.ok(i === 0 || bucket_ids[i - 1] < bucket_id, 'bucket_ids must be ascending');
|
|
45
|
+
|
|
46
|
+
gathered |= 1 << bucket_id;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
gathered >>>= 0;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
*
|
|
53
|
+
* @param data
|
|
54
|
+
* @param {FramePassResources} resources
|
|
55
|
+
* @param {GraphicsExecutionContext} context
|
|
56
|
+
*/
|
|
57
|
+
function execute(data, resources, context) {
|
|
58
|
+
const encoder = context.encoder;
|
|
59
|
+
|
|
60
|
+
const buckets = resources.get(data.buckets);
|
|
61
|
+
const output = resources.get(data.output);
|
|
62
|
+
|
|
63
|
+
for (let i = 0; i < bucket_ids.length; i++) {
|
|
64
|
+
const bucket_id = bucket_ids[i];
|
|
65
|
+
const command = resources.get(data.commands[i]);
|
|
66
|
+
|
|
67
|
+
build_indirect_compute_dispatch_command(
|
|
68
|
+
COMPUTE_SHADER_DEFAULT_GROUP_SIZE,
|
|
69
|
+
encoder,
|
|
70
|
+
buckets,
|
|
71
|
+
// the bucketed buffer header consists of pairs of u32 values (count,offset)
|
|
72
|
+
bucket_id * (u32.size * 2),
|
|
73
|
+
command,
|
|
74
|
+
0
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
shader_gather_bucket.dispatchIndirect({
|
|
78
|
+
encoder,
|
|
79
|
+
command,
|
|
80
|
+
bindings: {
|
|
81
|
+
settings: { bucket_id, gathered },
|
|
82
|
+
input: buckets,
|
|
83
|
+
output,
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const data = {};
|
|
90
|
+
|
|
91
|
+
const pass = graph.add("gather meshes from buckets", data, execute);
|
|
92
|
+
|
|
93
|
+
data.buckets = pass.read(buckets);
|
|
94
|
+
data.commands = bucket_ids.map(() => pass.create("command", INDIRECT_COMPUTE_COMMAND_DESCRIPTOR));
|
|
95
|
+
data.output = pass.create("output", BufferResourceDescriptor.from(
|
|
96
|
+
limits.compute_buffer_size(RasterizationCollectionType.Meshes),
|
|
97
|
+
GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC,
|
|
98
|
+
0, 16 // clear count
|
|
99
|
+
));
|
|
100
|
+
|
|
101
|
+
return data.output;
|
|
102
|
+
}
|
|
@@ -32,7 +32,8 @@ export function graph_rasterize_scene_fast_raw({ graph, meshes, limits, target_d
|
|
|
32
32
|
* Flow:
|
|
33
33
|
* 1. Frustum cull the scene meshes
|
|
34
34
|
* 2. Sort culled meshes into rasterization buckets
|
|
35
|
-
* 3.
|
|
35
|
+
* 3. Gather every active opaque bucket -> expand to meshlets and cut, once -> rasterize a bucket
|
|
36
|
+
* at a time
|
|
36
37
|
* 4. If an alpha-tested pass is configured, rasterize it without HZB filtering
|
|
37
38
|
*
|
|
38
39
|
* @param {Object} options
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph_rasterize_scene_fast.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph_rasterize_scene_fast.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/rasterize/fast/graph_rasterize_scene_fast.js"],"names":[],"mappings":"AAiBA;;;;;;;;;;GAUG;AACH;;;;;;;IAFa;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAC,CAwK3D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;IAJ+B,KAAK;IACC,GAAG;IACA,MAAM;SA8C7C"}
|
|
@@ -1,22 +1,19 @@
|
|
|
1
1
|
import { assert } from "../../../../core/assert.js";
|
|
2
|
-
import { ShadeDrawMode } from "../../material/ShadeDrawMode.js";
|
|
3
2
|
import { ShadeDrawSide } from "../../material/ShadeDrawSide.js";
|
|
4
|
-
import { TransparencyMode } from "../../material/TransparencyMode.js";
|
|
5
3
|
import { graph_import_buffer } from "../../shader/graph/graph_import_buffer.js";
|
|
6
4
|
import { graph_import_texture } from "../../shader/graph/graph_import_texture.js";
|
|
7
5
|
import { graph_record_stat } from "../../util/graph_record_stat.js";
|
|
8
6
|
import { rasterization_material_bucket } from "../expand/bucket/chunk_rasterization_material_bucket.js";
|
|
9
7
|
import { graph_meshes_classify_buckets } from "../expand/bucket/mesh/graph_meshes_classify_buckets.js";
|
|
10
|
-
import { graph_meshlets_rasterize } from "../expand/graph_meshlets_rasterize.js";
|
|
11
8
|
import { graph_expand_meshes_to_meshlets } from "../expand/mesh/graph_expand_meshes_to_meshlets.js";
|
|
12
9
|
import { graph_vgeo_expand_if_enabled } from "../../geometry/virtual/runtime/graph_vgeo_expand_if_enabled.js";
|
|
13
10
|
import { RasterizationCollectionType } from "../expand/RasterizationCollectionType.js";
|
|
14
|
-
import {
|
|
11
|
+
import { graph_meshlets_rasterize_by_bucket } from "../bucket/graph_meshlets_rasterize_by_bucket.js";
|
|
15
12
|
import { rasterization_opaque_buckets } from "../bucket/rasterization_opaque_buckets.js";
|
|
16
13
|
import { graph_mesh_frustum_cull } from "../compute/graph_mesh_frustum_cull.js";
|
|
17
14
|
import { graph_clear_raster_targets } from "../graph_clear_raster_targets.js";
|
|
18
15
|
import { graph_rasterize_meshes_alpha_tested } from "../native/graph_rasterize_meshes_alpha_tested.js";
|
|
19
|
-
import {
|
|
16
|
+
import { graph_gather_meshes_from_buckets } from "./graph_gather_meshes_from_buckets.js";
|
|
20
17
|
|
|
21
18
|
/**
|
|
22
19
|
*
|
|
@@ -74,49 +71,55 @@ export function graph_rasterize_scene_fast_raw({
|
|
|
74
71
|
active_buckets.add(bucket_id);
|
|
75
72
|
}
|
|
76
73
|
|
|
77
|
-
|
|
74
|
+
const opaque = Array.from(rasterization_opaque_buckets(active_buckets));
|
|
75
|
+
|
|
78
76
|
let is_first_draw = true;
|
|
79
77
|
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
if (opaque.length > 0) {
|
|
79
|
+
/*
|
|
80
|
+
Every opaque bucket's meshes in one collection, expanded and cut once, then drawn a bucket at
|
|
81
|
+
a time with no occlusion filtering. The cut is the one per view (CUT_PLAN_2026_09_14 §7 6b),
|
|
82
|
+
and the ids are ascending, which is what the gather's count needs.
|
|
83
|
+
*/
|
|
84
|
+
const gr_opaque_meshes = graph_gather_meshes_from_buckets({
|
|
82
85
|
graph,
|
|
83
86
|
buckets: gr_render_buckets,
|
|
84
|
-
bucket_id,
|
|
87
|
+
bucket_ids: opaque.map(bucket => bucket.bucket_id),
|
|
85
88
|
limits,
|
|
86
89
|
});
|
|
87
90
|
|
|
88
|
-
let
|
|
91
|
+
let gr_meshlets = graph_expand_meshes_to_meshlets({
|
|
89
92
|
graph,
|
|
90
|
-
input_meshes:
|
|
93
|
+
input_meshes: gr_opaque_meshes,
|
|
91
94
|
scene: scene_ctx,
|
|
92
95
|
expected_output_size: limits.compute_buffer_size(RasterizationCollectionType.Meshlets),
|
|
93
96
|
limits,
|
|
94
97
|
});
|
|
95
98
|
|
|
96
|
-
// the seam:
|
|
97
|
-
//
|
|
98
|
-
|
|
99
|
+
// the seam: the view's virtual-geometry instances select their cut and append it to the
|
|
100
|
+
// same collection, which is the whole of what the rest of this function is told
|
|
101
|
+
gr_meshlets = graph_vgeo_expand_if_enabled({
|
|
99
102
|
graph,
|
|
100
|
-
input_meshes:
|
|
101
|
-
output_meshlets:
|
|
103
|
+
input_meshes: gr_opaque_meshes,
|
|
104
|
+
output_meshlets: gr_meshlets,
|
|
102
105
|
view: view_ctx,
|
|
103
106
|
limits,
|
|
104
107
|
});
|
|
105
108
|
|
|
106
|
-
graph_record_stat(graph, limits.stats, RasterizationCollectionType.Meshlets,
|
|
109
|
+
graph_record_stat(graph, limits.stats, RasterizationCollectionType.Meshlets, gr_meshlets);
|
|
107
110
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
[target_depth, targets_color] = graph_meshlets_rasterize({
|
|
111
|
+
[target_depth, targets_color] = graph_meshlets_rasterize_by_bucket({
|
|
111
112
|
graph,
|
|
112
113
|
view: view_ctx,
|
|
113
|
-
input_meshlets:
|
|
114
|
+
input_meshlets: gr_meshlets,
|
|
115
|
+
buckets: opaque,
|
|
114
116
|
depth: target_depth,
|
|
115
117
|
color_targets: targets_color,
|
|
116
118
|
pass_descriptor: job.opaque_pass,
|
|
117
|
-
clear_targets:
|
|
118
|
-
|
|
119
|
+
clear_targets: true,
|
|
120
|
+
cull_policy: job.cull_policy,
|
|
119
121
|
viewport,
|
|
122
|
+
limits,
|
|
120
123
|
});
|
|
121
124
|
|
|
122
125
|
is_first_draw = false;
|
|
@@ -203,7 +206,8 @@ export function graph_rasterize_scene_fast_raw({
|
|
|
203
206
|
* Flow:
|
|
204
207
|
* 1. Frustum cull the scene meshes
|
|
205
208
|
* 2. Sort culled meshes into rasterization buckets
|
|
206
|
-
* 3.
|
|
209
|
+
* 3. Gather every active opaque bucket -> expand to meshlets and cut, once -> rasterize a bucket
|
|
210
|
+
* at a time
|
|
207
211
|
* 4. If an alpha-tested pass is configured, rasterize it without HZB filtering
|
|
208
212
|
*
|
|
209
213
|
* @param {Object} options
|
|
@@ -70,6 +70,10 @@ export type AVBOITSideChannel = {
|
|
|
70
70
|
/**
|
|
71
71
|
* draw the
|
|
72
72
|
* channel's fragments into the accumulators; returns their handles after the draw.
|
|
73
|
+
* `volumetrics_irradiance` is what a fragment standing in a froxel is lit by
|
|
74
|
+
* (`chunk_volumetrics_irradiance_sh`), for a channel whose fragments are lit: the renderer's
|
|
75
|
+
* indirect lighting, whichever mode it runs, and the scene's lights, shadowed and attenuated by
|
|
76
|
+
* the fog, written by the pass that lights the fog.
|
|
73
77
|
*/
|
|
74
78
|
avboit_draw: (args: {
|
|
75
79
|
graph: import("../../../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph;
|
|
@@ -80,6 +84,10 @@ export type AVBOITSideChannel = {
|
|
|
80
84
|
integral: number;
|
|
81
85
|
volumetrics_lut: number;
|
|
82
86
|
volumetrics_metadata: number;
|
|
87
|
+
volumetrics_irradiance: {
|
|
88
|
+
Y: number;
|
|
89
|
+
CoCg: number;
|
|
90
|
+
};
|
|
83
91
|
accumulators: {
|
|
84
92
|
color: number;
|
|
85
93
|
norm: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AVBOITSideChannel.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAoCc,CAAC,IAAI,EAAE;QACpB,KAAW,EAAE,OAAO,iEAAiE,EAAE,UAAU,CAAC;QAClG,MAAY,EAAE,MAAM,CAAC;QACrB,kBAAwB,EAAE,UAAU,MAAM,CAAC,CAAC;QAC5C,SAAe,EAAE,MAAM,CAAC;KACrB,KAAK,MAAM;;;;;;;;kBAED,CAAC,IAAI,EAAE;QACpB,KAAW,EAAE,OAAO,iEAAiE,EAAE,UAAU,CAAC;QAClG,MAAY,EAAE,MAAM,CAAC;QACrB,IAAU,EAAE,MAAM,CAAC;QACnB,aAAmB,EAAE,MAAM,CAAC;QAC5B,gBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC,MAAY,EAAE;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAC,CAAC;KACjE,KAAK;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC
|
|
1
|
+
{"version":3,"file":"AVBOITSideChannel.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAoCc,CAAC,IAAI,EAAE;QACpB,KAAW,EAAE,OAAO,iEAAiE,EAAE,UAAU,CAAC;QAClG,MAAY,EAAE,MAAM,CAAC;QACrB,kBAAwB,EAAE,UAAU,MAAM,CAAC,CAAC;QAC5C,SAAe,EAAE,MAAM,CAAC;KACrB,KAAK,MAAM;;;;;;;;kBAED,CAAC,IAAI,EAAE;QACpB,KAAW,EAAE,OAAO,iEAAiE,EAAE,UAAU,CAAC;QAClG,MAAY,EAAE,MAAM,CAAC;QACrB,IAAU,EAAE,MAAM,CAAC;QACnB,aAAmB,EAAE,MAAM,CAAC;QAC5B,gBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC,MAAY,EAAE;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAC,CAAC;KACjE,KAAK;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC;;;;;;;;;iBAKhD,CAAC,IAAI,EAAE;QACpB,KAAW,EAAE,OAAO,iEAAiE,EAAE,UAAU,CAAC;QAClG,QAAc,EAAE,OAAO,iCAAiC,EAAE,cAAc,CAAC;QACzE,MAAY,EAAE,MAAM,CAAC;QACrB,aAAmB,EAAE,MAAM,CAAC;QAC5B,IAAU,EAAE,MAAM,CAAC;QACnB,QAAc,EAAE,MAAM,CAAC;QACvB,eAAqB,EAAE,MAAM,CAAC;QAC9B,oBAA0B,EAAE,MAAM,CAAC;QACnC,sBAA4B,EAAE;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAC,CAAC;QACxD,YAAkB,EAAE;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAC,CAAC;KACrF,KAAK;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC;;;;;;sBAM9D,MAAM,OAAO"}
|
|
@@ -62,9 +62,14 @@
|
|
|
62
62
|
* integral: number,
|
|
63
63
|
* volumetrics_lut: number,
|
|
64
64
|
* volumetrics_metadata: number,
|
|
65
|
+
* volumetrics_irradiance: {Y: number, CoCg: number},
|
|
65
66
|
* accumulators: {color: number, norm: number, extinction: number, emission: number},
|
|
66
67
|
* }) => {color: number, norm: number, extinction: number, emission: number}} avboit_draw draw the
|
|
67
68
|
* channel's fragments into the accumulators; returns their handles after the draw.
|
|
69
|
+
* `volumetrics_irradiance` is what a fragment standing in a froxel is lit by
|
|
70
|
+
* (`chunk_volumetrics_irradiance_sh`), for a channel whose fragments are lit: the renderer's
|
|
71
|
+
* indirect lighting, whichever mode it runs, and the scene's lights, shadowed and attenuated by
|
|
72
|
+
* the fog, written by the pass that lights the fog.
|
|
68
73
|
* @property {() => boolean} [avboit_is_empty] whether the channel would add nothing this frame;
|
|
69
74
|
* asked before the orchestrator records, and a channel that answers `true` is not asked for
|
|
70
75
|
* anything else in that frame.
|
package/src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.d.ts
CHANGED
|
@@ -155,13 +155,16 @@ export function avboit_create_accumulators(pass: FramePassBuilder, resolution: A
|
|
|
155
155
|
* @param {number} options.shadowmap_atlas
|
|
156
156
|
* @param {number} options.volumetrics_lut
|
|
157
157
|
* @param {number} options.volumetrics_metadata
|
|
158
|
+
* @param {{Y: number, CoCg: number}} options.volumetrics_irradiance the froxel irradiance volume
|
|
159
|
+
* (`chunk_volumetrics_irradiance_sh`), for side channels that light their own fragments; the
|
|
160
|
+
* MBOIT orchestrator ignores it
|
|
158
161
|
* @param {ShadeIndirectLightingMode} options.indirect_lighting_mode
|
|
159
162
|
* @param {AVBOITSettings} [options.avboit] `Renderer.avboit`; the MBOIT orchestrator ignores it
|
|
160
163
|
* @param {import("./AVBOITSideChannel.js").AVBOITSideChannel[]} [options.side_channels] non-meshlet
|
|
161
164
|
* sources of transparent fragments; the MBOIT orchestrator ignores them
|
|
162
165
|
* @returns {number} resource ID of the composited color texture
|
|
163
166
|
*/
|
|
164
|
-
export function graph_rasterize_meshes_transparent_avboit({ graph, buckets, view_ctx, viewport, depth_texture, color_texture, limits, light_cluster_parameters, light_cluster_lookup, light_cluster_data, shadowmap_atlas, volumetrics_lut, volumetrics_metadata, indirect_lighting_mode, avboit, side_channels, }: {
|
|
167
|
+
export function graph_rasterize_meshes_transparent_avboit({ graph, buckets, view_ctx, viewport, depth_texture, color_texture, limits, light_cluster_parameters, light_cluster_lookup, light_cluster_data, shadowmap_atlas, volumetrics_lut, volumetrics_metadata, volumetrics_irradiance, indirect_lighting_mode, avboit, side_channels, }: {
|
|
165
168
|
graph: FrameGraph;
|
|
166
169
|
buckets: number;
|
|
167
170
|
view_ctx: GPUViewContext;
|
|
@@ -175,6 +178,10 @@ export function graph_rasterize_meshes_transparent_avboit({ graph, buckets, view
|
|
|
175
178
|
shadowmap_atlas: number;
|
|
176
179
|
volumetrics_lut: number;
|
|
177
180
|
volumetrics_metadata: number;
|
|
181
|
+
volumetrics_irradiance: {
|
|
182
|
+
Y: number;
|
|
183
|
+
CoCg: number;
|
|
184
|
+
};
|
|
178
185
|
indirect_lighting_mode: ShadeIndirectLightingMode;
|
|
179
186
|
avboit?: AVBOITSettings;
|
|
180
187
|
side_channels?: import("./AVBOITSideChannel.js").AVBOITSideChannel[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph_rasterize_meshes_transparent_avboit.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.js"],"names":[],"mappings":"AA4DA;;;;;GAKG;AACH,oDAHW,UAAU,MAAM,CAAC,GACf,MAAM,EAAE,CAOpB;AAED;;;;;;;;;;;;GAYG;AACH;IAT+B,KAAK;IACA,KAAK;IACd,MAAM,EAAtB,MAAM;IACqB,kBAAkB,EAA7C,UAAU,MAAM,CAAC;IACD,kBAAkB,EAAlC,MAAM;IACU,wBAAwB,EAAxC,MAAM;IACW,SAAS,GAA1B,MAAM;IACJ,MAAM,CA4DlB;AAED;;;;;;;;;;GAUG;AACH;IAP+B,KAAK;IACT,SAAS,EAAzB,MAAM;IACY,gBAAgB,EAAlC,MAAM,EAAE;IACmB,kBAAkB,EAA7C,UAAU,MAAM,CAAC;IACQ,MAAM,GAA/B,cAAc;IACZ,MAAM,CAsDlB;AAED;;;;;;;;;;;;;;;GAeG;AACH,6KAFa;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAiJjE;AAED;;;;;;;;;;GAUG;AACH;IAP+B,KAAK;IACT,IAAI,EAApB,MAAM;IACU,UAAU,EAA1B,MAAM;IACU,QAAQ,EAAxB,MAAM;IACY,gBAAgB,EAAlC,MAAM,EAAE;IACN,MAAM,CAoClB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qUAFa;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAC,CAwN7D;AAED;;;;;;;;GAQG;AACH,+EAHW,UAAU,MAAM,CAAC,GACf;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAe/E;AAED
|
|
1
|
+
{"version":3,"file":"graph_rasterize_meshes_transparent_avboit.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/rasterize/native/avboit/graph_rasterize_meshes_transparent_avboit.js"],"names":[],"mappings":"AA4DA;;;;;GAKG;AACH,oDAHW,UAAU,MAAM,CAAC,GACf,MAAM,EAAE,CAOpB;AAED;;;;;;;;;;;;GAYG;AACH;IAT+B,KAAK;IACA,KAAK;IACd,MAAM,EAAtB,MAAM;IACqB,kBAAkB,EAA7C,UAAU,MAAM,CAAC;IACD,kBAAkB,EAAlC,MAAM;IACU,wBAAwB,EAAxC,MAAM;IACW,SAAS,GAA1B,MAAM;IACJ,MAAM,CA4DlB;AAED;;;;;;;;;;GAUG;AACH;IAP+B,KAAK;IACT,SAAS,EAAzB,MAAM;IACY,gBAAgB,EAAlC,MAAM,EAAE;IACmB,kBAAkB,EAA7C,UAAU,MAAM,CAAC;IACQ,MAAM,GAA/B,cAAc;IACZ,MAAM,CAsDlB;AAED;;;;;;;;;;;;;;;GAeG;AACH,6KAFa;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAiJjE;AAED;;;;;;;;;;GAUG;AACH;IAP+B,KAAK;IACT,IAAI,EAApB,MAAM;IACU,UAAU,EAA1B,MAAM;IACU,QAAQ,EAAxB,MAAM;IACY,gBAAgB,EAAlC,MAAM,EAAE;IACN,MAAM,CAoClB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qUAFa;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAC,CAwN7D;AAED;;;;;;;;GAQG;AACH,+EAHW,UAAU,MAAM,CAAC,GACf;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAe/E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH;IAtB+B,KAAK;IACT,OAAO,EAAvB,MAAM;IACkB,QAAQ;IACd,QAAQ,EAA1B,MAAM,EAAE;IACQ,aAAa,EAA7B,MAAM;IACU,aAAa,EAA7B,MAAM;IACuB,MAAM;IACnB,wBAAwB,EAAxC,MAAM;IACU,oBAAoB,EAApC,MAAM;IACU,kBAAkB,EAAlC,MAAM;IACU,eAAe,EAA/B,MAAM;IACU,eAAe,EAA/B,MAAM;IACU,oBAAoB,EAApC,MAAM;IAC6B,sBAAsB,EAAzD;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC;IAGU,sBAAsB,EAAzD,yBAAyB;IACA,MAAM,GAA/B,cAAc;IACiD,aAAa,GAA5E,OAAO,wBAAwB,EAAE,iBAAiB,EAAE;IAElD,MAAM,CA8RlB;+BAr8B8B,qBAAqB;0CA9BV,uCAAuC"}
|