@woosh/meep-engine 3.51.0 → 3.53.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/package.json +1 -1
- package/src/engine/ecs/animation/Animation.d.ts +4 -25
- package/src/engine/ecs/animation/Animation.d.ts.map +1 -1
- package/src/engine/ecs/animation/Animation.js +9 -41
- package/src/engine/ecs/ik/IKGoalSystem.d.ts +4 -5
- package/src/engine/ecs/ik/IKGoalSystem.d.ts.map +1 -1
- package/src/engine/ecs/ik/IKGoalSystem.js +4 -6
- package/src/engine/graphics/ecs/mesh/assetTypeByPath.js +1 -1
- package/src/engine/graphics3/AnimationGraphSystem.d.ts +9 -22
- package/src/engine/graphics3/AnimationGraphSystem.d.ts.map +1 -1
- package/src/engine/graphics3/AnimationGraphSystem.js +58 -203
- package/src/engine/graphics3/AnimationSystem.d.ts +7 -18
- package/src/engine/graphics3/AnimationSystem.d.ts.map +1 -1
- package/src/engine/graphics3/AnimationSystem.js +62 -243
- package/src/engine/graphics3/FoliageWindSystem.d.ts +67 -0
- package/src/engine/graphics3/FoliageWindSystem.d.ts.map +1 -0
- package/src/engine/graphics3/FoliageWindSystem.js +257 -0
- package/src/engine/graphics3/GPUFluidSystem.d.ts +7 -0
- package/src/engine/graphics3/GPUFluidSystem.d.ts.map +1 -1
- package/src/engine/graphics3/GPUFluidSystem.js +39 -1
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts +0 -1
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts.map +1 -1
- package/src/engine/graphics3/GPUParticleEmitterSystem.js +19 -5
- package/src/engine/graphics3/animation/AnimationClips.d.ts +107 -13
- package/src/engine/graphics3/animation/AnimationClips.d.ts.map +1 -1
- package/src/engine/graphics3/animation/AnimationClips.js +207 -10
- package/src/engine/graphics3/animation/AnimationClipsSink.d.ts +89 -0
- package/src/engine/graphics3/animation/AnimationClipsSink.d.ts.map +1 -0
- package/src/engine/graphics3/animation/AnimationClipsSink.js +205 -0
- package/src/engine/graphics3/animation/FoliageWindRigs.d.ts +43 -0
- package/src/engine/graphics3/animation/FoliageWindRigs.d.ts.map +1 -0
- package/src/engine/graphics3/animation/FoliageWindRigs.js +69 -0
- package/src/engine/graphics3/animation/write_clip_playback.d.ts +17 -11
- package/src/engine/graphics3/animation/write_clip_playback.d.ts.map +1 -1
- package/src/engine/graphics3/animation/write_clip_playback.js +36 -27
- package/src/engine/graphics3/decal/GPUDecalRenderer.d.ts.map +1 -1
- package/src/engine/graphics3/decal/GPUDecalRenderer.js +8 -6
- package/src/engine/graphics3/decal/shader_decal_composite.d.ts.map +1 -1
- package/src/engine/graphics3/decal/shader_decal_composite.js +11 -5
- package/src/engine/graphics3/pose/collect_entity_playbacks.d.ts +7 -7
- package/src/engine/graphics3/pose/collect_entity_playbacks.d.ts.map +1 -1
- package/src/engine/graphics3/pose/collect_entity_playbacks.js +14 -15
- package/src/engine/graphics3/prefab/Prefab.d.ts +6 -0
- package/src/engine/graphics3/prefab/Prefab.d.ts.map +1 -1
- package/src/engine/graphics3/prefab/Prefab.js +169 -162
- package/src/engine/graphics3/prefab/prefab_compile.d.ts.map +1 -1
- package/src/engine/graphics3/prefab/prefab_compile.js +369 -334
- package/src/engine/graphics3/prefab/prefab_instantiate.d.ts.map +1 -1
- package/src/engine/graphics3/prefab/prefab_instantiate.js +43 -2
- package/src/engine/graphics3/terrain/chunk_terrain_material_surface.js +2 -2
- package/src/engine/physics/ecs/ContactProbeSystem.d.ts +2 -3
- package/src/engine/physics/ecs/ContactProbeSystem.d.ts.map +1 -1
- package/src/engine/physics/ecs/ContactProbeSystem.js +2 -4
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/engine/sound/simulation/PROBE_PLACEMENT.md +4 -4
- package/src/engine/sound/simulation/README.md +1 -1
- package/src/engine/sound/simulation/probe/bakeProbeField.d.ts +22 -8
- package/src/engine/sound/simulation/probe/bakeProbeField.d.ts.map +1 -1
- package/src/engine/sound/simulation/probe/bakeProbeField.js +60 -15
- package/src/engine/sound/simulation/probe/bakeProbeReflectors.d.ts.map +1 -1
- package/src/engine/sound/simulation/probe/bakeProbeReflectors.js +19 -23
- package/src/engine/sound/simulation/probe/probe_sdf_grid.d.ts +63 -17
- package/src/engine/sound/simulation/probe/probe_sdf_grid.d.ts.map +1 -1
- package/src/engine/sound/simulation/probe/probe_sdf_grid.js +67 -17
- package/src/generation/foliage/FOLIAGE_DESIGN.md +318 -0
- package/src/generation/foliage/FOLIAGE_PLAN.md +198 -0
- package/src/generation/foliage/animation/build_tree_wind_rig.d.ts +20 -0
- package/src/generation/foliage/animation/build_tree_wind_rig.d.ts.map +1 -0
- package/src/generation/foliage/animation/build_tree_wind_rig.js +108 -0
- package/src/generation/foliage/asset/TreeAsset.d.ts +86 -0
- package/src/generation/foliage/asset/TreeAsset.d.ts.map +1 -0
- package/src/generation/foliage/asset/TreeAsset.js +111 -0
- package/src/generation/foliage/asset/TreeLODAsset.d.ts +115 -0
- package/src/generation/foliage/asset/TreeLODAsset.d.ts.map +1 -0
- package/src/generation/foliage/asset/TreeLODAsset.js +346 -0
- package/src/generation/foliage/asset/generate_tree.d.ts +15 -0
- package/src/generation/foliage/asset/generate_tree.d.ts.map +1 -0
- package/src/generation/foliage/asset/generate_tree.js +93 -0
- package/src/generation/foliage/asset/place_tree.d.ts +82 -0
- package/src/generation/foliage/asset/place_tree.d.ts.map +1 -0
- package/src/generation/foliage/asset/place_tree.js +194 -0
- package/src/generation/foliage/config/BarkMaterialConfig.d.ts +120 -0
- package/src/generation/foliage/config/BarkMaterialConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/BarkMaterialConfig.js +250 -0
- package/src/generation/foliage/config/BranchLevelConfig.d.ts +288 -0
- package/src/generation/foliage/config/BranchLevelConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/BranchLevelConfig.js +536 -0
- package/src/generation/foliage/config/CrownConfig.d.ts +100 -0
- package/src/generation/foliage/config/CrownConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/CrownConfig.js +186 -0
- package/src/generation/foliage/config/CrownEnvelopeType.d.ts +16 -0
- package/src/generation/foliage/config/CrownEnvelopeType.d.ts.map +1 -0
- package/src/generation/foliage/config/CrownEnvelopeType.js +17 -0
- package/src/generation/foliage/config/FoliageCardType.d.ts +12 -0
- package/src/generation/foliage/config/FoliageCardType.d.ts.map +1 -0
- package/src/generation/foliage/config/FoliageCardType.js +18 -0
- package/src/generation/foliage/config/FoliageConfig.d.ts +151 -0
- package/src/generation/foliage/config/FoliageConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/FoliageConfig.js +283 -0
- package/src/generation/foliage/config/FoliageMaterialConfig.d.ts +90 -0
- package/src/generation/foliage/config/FoliageMaterialConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/FoliageMaterialConfig.js +181 -0
- package/src/generation/foliage/config/PhyllotaxisMode.d.ts +13 -0
- package/src/generation/foliage/config/PhyllotaxisMode.d.ts.map +1 -0
- package/src/generation/foliage/config/PhyllotaxisMode.js +20 -0
- package/src/generation/foliage/config/TreeLODConfig.d.ts +87 -0
- package/src/generation/foliage/config/TreeLODConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/TreeLODConfig.js +211 -0
- package/src/generation/foliage/config/TreePreset.d.ts +16 -0
- package/src/generation/foliage/config/TreePreset.d.ts.map +1 -0
- package/src/generation/foliage/config/TreePreset.js +17 -0
- package/src/generation/foliage/config/TreeSpeciesConfig.d.ts +109 -0
- package/src/generation/foliage/config/TreeSpeciesConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/TreeSpeciesConfig.js +400 -0
- package/src/generation/foliage/config/TreeWindConfig.d.ts +84 -0
- package/src/generation/foliage/config/TreeWindConfig.d.ts.map +1 -0
- package/src/generation/foliage/config/TreeWindConfig.js +157 -0
- package/src/generation/foliage/index.d.ts +38 -0
- package/src/generation/foliage/index.d.ts.map +1 -0
- package/src/generation/foliage/index.js +43 -0
- package/src/generation/foliage/material/make_bark_material.d.ts +37 -0
- package/src/generation/foliage/material/make_bark_material.d.ts.map +1 -0
- package/src/generation/foliage/material/make_bark_material.js +802 -0
- package/src/generation/foliage/material/make_foliage_material.d.ts +14 -0
- package/src/generation/foliage/material/make_foliage_material.d.ts.map +1 -0
- package/src/generation/foliage/material/make_foliage_material.js +359 -0
- package/src/generation/foliage/mesh/branch_collar_project.d.ts +42 -0
- package/src/generation/foliage/mesh/branch_collar_project.d.ts.map +1 -0
- package/src/generation/foliage/mesh/branch_collar_project.js +203 -0
- package/src/generation/foliage/mesh/branch_ring_triangulate.d.ts +35 -0
- package/src/generation/foliage/mesh/branch_ring_triangulate.d.ts.map +1 -0
- package/src/generation/foliage/mesh/branch_ring_triangulate.js +72 -0
- package/src/generation/foliage/mesh/foliage_collect_attachments.d.ts +80 -0
- package/src/generation/foliage/mesh/foliage_collect_attachments.d.ts.map +1 -0
- package/src/generation/foliage/mesh/foliage_collect_attachments.js +502 -0
- package/src/generation/foliage/mesh/tree_mesh_apply_canopy_ao.d.ts +19 -0
- package/src/generation/foliage/mesh/tree_mesh_apply_canopy_ao.d.ts.map +1 -0
- package/src/generation/foliage/mesh/tree_mesh_apply_canopy_ao.js +150 -0
- package/src/generation/foliage/mesh/tree_mesh_build_bark.d.ts +55 -0
- package/src/generation/foliage/mesh/tree_mesh_build_bark.d.ts.map +1 -0
- package/src/generation/foliage/mesh/tree_mesh_build_bark.js +1047 -0
- package/src/generation/foliage/mesh/tree_mesh_build_foliage.d.ts +21 -0
- package/src/generation/foliage/mesh/tree_mesh_build_foliage.d.ts.map +1 -0
- package/src/generation/foliage/mesh/tree_mesh_build_foliage.js +415 -0
- package/src/generation/foliage/presets/make_tree_species_preset.d.ts +13 -0
- package/src/generation/foliage/presets/make_tree_species_preset.d.ts.map +1 -0
- package/src/generation/foliage/presets/make_tree_species_preset.js +837 -0
- package/src/generation/foliage/skeleton/TreeSkeleton.d.ts +443 -0
- package/src/generation/foliage/skeleton/TreeSkeleton.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/TreeSkeleton.js +1100 -0
- package/src/generation/foliage/skeleton/crown_envelope_evaluate.d.ts +27 -0
- package/src/generation/foliage/skeleton/crown_envelope_evaluate.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/crown_envelope_evaluate.js +121 -0
- package/src/generation/foliage/skeleton/spine_frame_double_reflection.d.ts +32 -0
- package/src/generation/foliage/skeleton/spine_frame_double_reflection.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/spine_frame_double_reflection.js +87 -0
- package/src/generation/foliage/skeleton/tree_skeleton_assign_skin_joints.d.ts +33 -0
- package/src/generation/foliage/skeleton/tree_skeleton_assign_skin_joints.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/tree_skeleton_assign_skin_joints.js +205 -0
- package/src/generation/foliage/skeleton/tree_skeleton_compute_pipe_radii.d.ts +14 -0
- package/src/generation/foliage/skeleton/tree_skeleton_compute_pipe_radii.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/tree_skeleton_compute_pipe_radii.js +179 -0
- package/src/generation/foliage/skeleton/tree_skeleton_grow.d.ts +18 -0
- package/src/generation/foliage/skeleton/tree_skeleton_grow.d.ts.map +1 -0
- package/src/generation/foliage/skeleton/tree_skeleton_grow.js +1104 -0
- package/src/shade/playground/additive_blending/index.html +197 -0
- package/src/shade/playground/additive_blending/main.d.ts +2 -0
- package/src/shade/playground/additive_blending/main.d.ts.map +1 -0
- package/src/shade/playground/additive_blending/main.js +529 -0
- package/src/shade/playground/foliage_wind/README.md +18 -0
- package/src/shade/playground/foliage_wind/foliage_world.d.ts +127 -0
- package/src/shade/playground/foliage_wind/foliage_world.d.ts.map +1 -0
- package/src/shade/playground/foliage_wind/foliage_world.js +593 -0
- package/src/shade/playground/foliage_wind/index.html +254 -0
- package/src/shade/playground/foliage_wind/main.d.ts +2 -0
- package/src/shade/playground/foliage_wind/main.d.ts.map +1 -0
- package/src/shade/playground/foliage_wind/main.js +263 -0
- package/src/shade/playground/tonemap_sdr/README.md +5 -3
- 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 +88 -31
- package/src/shade/renderer/ShadeToneMappingMode.d.ts +3 -2
- package/src/shade/renderer/ShadeToneMappingMode.js +15 -4
- package/src/shade/renderer/animation/ADDITIVE_BLENDING_PLAN.md +145 -0
- package/src/shade/renderer/animation/ANIMATION_DATABASE_SPEC.d.ts +9 -1
- package/src/shade/renderer/animation/ANIMATION_DATABASE_SPEC.d.ts.map +1 -1
- package/src/shade/renderer/animation/ANIMATION_DATABASE_SPEC.js +53 -1
- package/src/shade/renderer/animation/ANIMATION_FOLIAGE_JOINT_STRUCT.d.ts +8 -0
- package/src/shade/renderer/animation/ANIMATION_FOLIAGE_JOINT_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/animation/ANIMATION_FOLIAGE_JOINT_STRUCT.js +71 -0
- package/src/shade/renderer/animation/ANIMATION_FOLIAGE_RIG_STRUCT.d.ts +11 -0
- package/src/shade/renderer/animation/ANIMATION_FOLIAGE_RIG_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/animation/ANIMATION_FOLIAGE_RIG_STRUCT.js +32 -0
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts +30 -3
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
- package/src/shade/renderer/animation/GPUAnimationManager.js +532 -79
- package/src/shade/renderer/animation/POSE_ACCUMULATOR_LAYOUT.d.ts +19 -12
- package/src/shade/renderer/animation/POSE_ACCUMULATOR_LAYOUT.d.ts.map +1 -1
- package/src/shade/renderer/animation/POSE_ACCUMULATOR_LAYOUT.js +20 -13
- package/src/shade/renderer/animation/ShadeAnimationClip.d.ts +35 -8
- package/src/shade/renderer/animation/ShadeAnimationClip.d.ts.map +1 -1
- package/src/shade/renderer/animation/ShadeAnimationClip.js +433 -2
- package/src/shade/renderer/animation/chunk_pose_accumulator.d.ts.map +1 -1
- package/src/shade/renderer/animation/chunk_pose_accumulator.js +40 -32
- package/src/shade/renderer/animation/foliage/FoliageWindJoint.d.ts +97 -0
- package/src/shade/renderer/animation/foliage/FoliageWindJoint.d.ts.map +1 -0
- package/src/shade/renderer/animation/foliage/FoliageWindJoint.js +161 -0
- package/src/shade/renderer/animation/foliage/FoliageWindRig.d.ts +65 -0
- package/src/shade/renderer/animation/foliage/FoliageWindRig.d.ts.map +1 -0
- package/src/shade/renderer/animation/foliage/FoliageWindRig.js +89 -0
- package/src/shade/renderer/animation/foliage/chunk_foliage_wind_step.d.ts +19 -0
- package/src/shade/renderer/animation/foliage/chunk_foliage_wind_step.d.ts.map +1 -0
- package/src/shade/renderer/animation/foliage/chunk_foliage_wind_step.js +143 -0
- package/src/shade/renderer/animation/foliage/shader_foliage_wind_apply.d.ts +14 -0
- package/src/shade/renderer/animation/foliage/shader_foliage_wind_apply.d.ts.map +1 -0
- package/src/shade/renderer/animation/foliage/shader_foliage_wind_apply.js +116 -0
- package/src/shade/renderer/animation/pose/pose_evaluate_local.d.ts.map +1 -1
- package/src/shade/renderer/animation/pose/pose_evaluate_local.js +39 -29
- package/src/shade/renderer/animation/shader_animation_pose_resolve.js +37 -37
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +2 -2
- package/src/shade/renderer/deferred/tonemap/TonemapAces2Tables.d.ts +38 -0
- package/src/shade/renderer/deferred/tonemap/TonemapAces2Tables.d.ts.map +1 -0
- package/src/shade/renderer/deferred/tonemap/TonemapAces2Tables.js +97 -0
- package/src/shade/renderer/deferred/{TonemapDisplaySettings.d.ts → tonemap/TonemapDisplaySettings.d.ts} +1 -1
- package/src/shade/renderer/deferred/tonemap/TonemapDisplaySettings.d.ts.map +1 -0
- package/src/shade/renderer/deferred/{TonemapDisplaySettings.js → tonemap/TonemapDisplaySettings.js} +5 -5
- package/src/shade/renderer/deferred/{shader_tonemap_HDR.d.ts → tonemap/shader_tonemap_HDR.d.ts} +1 -1
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_HDR.d.ts.map +1 -0
- package/src/shade/renderer/deferred/{shader_tonemap_HDR.js → tonemap/shader_tonemap_HDR.js} +9 -9
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_HDR_aces.d.ts +17 -0
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_HDR_aces.d.ts.map +1 -0
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_HDR_aces.js +101 -0
- package/src/shade/renderer/deferred/{shader_tonemap_HDR_none.d.ts → tonemap/shader_tonemap_HDR_none.d.ts} +1 -1
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_HDR_none.d.ts.map +1 -0
- package/src/shade/renderer/deferred/{shader_tonemap_HDR_none.js → tonemap/shader_tonemap_HDR_none.js} +6 -6
- package/src/shade/renderer/deferred/{shader_tonemap_HDR_pbr_neutral.d.ts → tonemap/shader_tonemap_HDR_pbr_neutral.d.ts} +1 -1
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_HDR_pbr_neutral.d.ts.map +1 -0
- package/src/shade/renderer/deferred/{shader_tonemap_HDR_pbr_neutral.js → tonemap/shader_tonemap_HDR_pbr_neutral.js} +8 -8
- package/src/shade/renderer/deferred/{shader_tonemap_LDR.d.ts → tonemap/shader_tonemap_LDR.d.ts} +1 -1
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_LDR.d.ts.map +1 -0
- package/src/shade/renderer/deferred/{shader_tonemap_LDR.js → tonemap/shader_tonemap_LDR.js} +10 -10
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_LDR_aces.d.ts +10 -0
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_LDR_aces.d.ts.map +1 -0
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_LDR_aces.js +77 -0
- package/src/shade/renderer/deferred/{shader_tonemap_LDR_none.d.ts → tonemap/shader_tonemap_LDR_none.d.ts} +1 -1
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_LDR_none.d.ts.map +1 -0
- package/src/shade/renderer/deferred/{shader_tonemap_LDR_none.js → tonemap/shader_tonemap_LDR_none.js} +7 -7
- package/src/shade/renderer/deferred/{shader_tonemap_LDR_pbr_neutral.d.ts → tonemap/shader_tonemap_LDR_pbr_neutral.d.ts} +1 -1
- package/src/shade/renderer/deferred/tonemap/shader_tonemap_LDR_pbr_neutral.d.ts.map +1 -0
- package/src/shade/renderer/deferred/{shader_tonemap_LDR_pbr_neutral.js → tonemap/shader_tonemap_LDR_pbr_neutral.js} +8 -8
- package/src/shade/renderer/extension/RenderExtension.d.ts +7 -0
- package/src/shade/renderer/extension/RenderExtension.d.ts.map +1 -1
- package/src/shade/renderer/extension/RenderExtension.js +9 -0
- package/src/shade/renderer/extension/RenderExtensionRegistry.d.ts +6 -0
- package/src/shade/renderer/extension/RenderExtensionRegistry.d.ts.map +1 -1
- package/src/shade/renderer/extension/RenderExtensionRegistry.js +15 -0
- package/src/shade/renderer/fluid/GPUFluidCascade.d.ts +10 -3
- package/src/shade/renderer/fluid/GPUFluidCascade.d.ts.map +1 -1
- package/src/shade/renderer/fluid/GPUFluidCascade.js +15 -0
- package/src/shade/renderer/fluid/GPUFluidCascadeStack.d.ts +8 -1
- package/src/shade/renderer/fluid/GPUFluidCascadeStack.d.ts.map +1 -1
- package/src/shade/renderer/fluid/GPUFluidCascadeStack.js +11 -0
- package/src/shade/renderer/fluid/coupling/chunk_fluid_cascade_parent.d.ts.map +1 -1
- package/src/shade/renderer/fluid/coupling/chunk_fluid_cascade_parent.js +51 -48
- package/src/shade/renderer/fluid/forcing/GPUFluidForcing.d.ts +6 -6
- package/src/shade/renderer/fluid/mac/FluidMacPasses.d.ts +6 -0
- package/src/shade/renderer/fluid/mac/FluidMacPasses.d.ts.map +1 -1
- package/src/shade/renderer/fluid/mac/FluidMacPasses.js +16 -0
- package/src/shade/renderer/fluid/mac/chunk_fluid_mac_seams.d.ts.map +1 -1
- package/src/shade/renderer/fluid/mac/chunk_fluid_mac_seams.js +15 -3
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_lattice_corners.d.ts.map +1 -1
- package/src/shade/renderer/fluid/mac/chunk_v3_mac_lattice_corners.js +102 -96
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_correct.js +12 -12
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_predict.js +12 -12
- package/src/shade/renderer/fluid/pressure/GPUFluidPressureSolve.d.ts +8 -1
- package/src/shade/renderer/fluid/pressure/GPUFluidPressureSolve.d.ts.map +1 -1
- package/src/shade/renderer/fluid/pressure/GPUFluidPressureSolve.js +16 -0
- package/src/shade/renderer/fluid/publish/FluidWindPublish.d.ts +7 -0
- package/src/shade/renderer/fluid/publish/FluidWindPublish.d.ts.map +1 -1
- package/src/shade/renderer/fluid/publish/FluidWindPublish.js +10 -0
- package/src/shade/renderer/fluid/query/GPUFluidQueries.d.ts +1 -1
- package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.js +2 -2
- package/src/shade/renderer/loader/SceneBundle.d.ts +7 -0
- package/src/shade/renderer/loader/SceneBundle.d.ts.map +1 -1
- package/src/shade/renderer/loader/SceneBundle.js +119 -111
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
- package/src/shade/renderer/material/standard/fragment_gbuffer.d.ts +4 -0
- package/src/shade/renderer/material/standard/fragment_gbuffer.d.ts.map +1 -1
- package/src/shade/renderer/material/standard/fragment_gbuffer.js +6 -5
- package/src/shade/renderer/object_property/chunk_write_object_property_node3d.d.ts +8 -7
- package/src/shade/renderer/object_property/chunk_write_object_property_node3d.d.ts.map +1 -1
- package/src/shade/renderer/object_property/chunk_write_object_property_node3d.js +9 -8
- package/src/shade/renderer/particles/GPUParticleSystem.d.ts.map +1 -1
- package/src/shade/renderer/particles/GPUParticleSystem.js +3 -1
- 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 +9 -4
- package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader.js +9 -7
- package/src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment.js +15 -7
- package/src/shade/renderer/rasterize/native/avboit/avboit_draw_fragment_body.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/avboit_draw_fragment_body.js +6 -4
- package/src/shade/renderer/rasterize/native/oit/oit_resolve_fragment_body.js +3 -3
- package/src/shade/renderer/rasterize/native/oit/shader_oit_generate_moments.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/oit/shader_oit_generate_moments.js +8 -5
- package/src/shade/renderer/rasterize/native/viz/viz_rasterization_alpha_tested_pass_descriptor.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/viz/viz_rasterization_alpha_tested_pass_descriptor.js +4 -3
- package/src/shade/renderer/shader/chunk/color/tonemap/ACES_TONE_MAPPING_BRIEF_2026_10_17.md +160 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/HDR_TONE_MAPPING_FORMS_BRIEF_2026_10_16.md +5 -1
- package/src/shade/renderer/shader/chunk/color/tonemap/SDR_TONE_MAPPING_BRIEF_2026_10_16.md +15 -5
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/aces2_transform_block.d.ts +41 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/aces2_transform_block.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/aces2_transform_block.js +692 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_aces2_output_transform.d.ts +25 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_aces2_output_transform.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_aces2_output_transform.js +446 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_aces_ue_matrices.d.ts +22 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_aces_ue_matrices.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_aces_ue_matrices.js +68 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_tonemap_ue_filmic.d.ts +32 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_tonemap_ue_filmic.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/aces/chunk_tonemap_ue_filmic.js +163 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_PAPER_WHITE_NITS.d.ts +10 -3
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_PAPER_WHITE_NITS.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/color/tonemap/chunk_PAPER_WHITE_NITS.js +12 -4
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.js +1 -1
- package/src/shade/renderer/texture/SAMPLER_ANISOTROPIC_CLAMP.d.ts +9 -0
- package/src/shade/renderer/texture/SAMPLER_ANISOTROPIC_CLAMP.d.ts.map +1 -0
- package/src/shade/renderer/texture/SAMPLER_ANISOTROPIC_CLAMP.js +17 -0
- package/src/shade/renderer/texture/SAMPLER_LINEAR_UPSCALE.d.ts +8 -0
- package/src/shade/renderer/texture/SAMPLER_LINEAR_UPSCALE.d.ts.map +1 -1
- package/src/shade/renderer/texture/SAMPLER_LINEAR_UPSCALE.js +28 -20
- package/src/shade/renderer/texture/SAMPLER_TRILINEAR_CLAMP.d.ts +8 -0
- package/src/shade/renderer/texture/SAMPLER_TRILINEAR_CLAMP.d.ts.map +1 -0
- package/src/shade/renderer/texture/SAMPLER_TRILINEAR_CLAMP.js +15 -0
- package/src/shade/renderer/view/chunk_view_mip_bias.d.ts +21 -0
- package/src/shade/renderer/view/chunk_view_mip_bias.d.ts.map +1 -0
- package/src/shade/renderer/view/chunk_view_mip_bias.js +44 -0
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +1 -1
- package/src/shade/wgsl/emulator/WGSLLanguageCore.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/WGSLLanguageCore.js +105 -26
- package/src/engine/graphics/composit/CompositingStages.d.ts +0 -6
- package/src/engine/graphics/composit/CompositingStages.d.ts.map +0 -1
- package/src/engine/graphics/composit/CompositingStages.js +0 -8
- package/src/engine/graphics/geometry/buffered/computeBufferAttributeHash.d.ts +0 -7
- package/src/engine/graphics/geometry/buffered/computeBufferAttributeHash.d.ts.map +0 -1
- package/src/engine/graphics/geometry/buffered/computeBufferAttributeHash.js +0 -24
- package/src/engine/graphics/geometry/buffered/computeGeometryBoundingSphereMiniball.d.ts +0 -8
- package/src/engine/graphics/geometry/buffered/computeGeometryBoundingSphereMiniball.d.ts.map +0 -1
- package/src/engine/graphics/geometry/buffered/computeGeometryBoundingSphereMiniball.js +0 -17
- package/src/engine/graphics/geometry/buffered/computeGeometryEquality.d.ts +0 -8
- package/src/engine/graphics/geometry/buffered/computeGeometryEquality.d.ts.map +0 -1
- package/src/engine/graphics/geometry/buffered/computeGeometryEquality.js +0 -60
- package/src/engine/graphics/geometry/buffered/computeGeometryHash.d.ts +0 -7
- package/src/engine/graphics/geometry/buffered/computeGeometryHash.d.ts.map +0 -1
- package/src/engine/graphics/geometry/buffered/computeGeometryHash.js +0 -26
- package/src/engine/graphics/geometry/buffered/compute_buffer_geometry_byte_size.d.ts +0 -7
- package/src/engine/graphics/geometry/buffered/compute_buffer_geometry_byte_size.d.ts.map +0 -1
- package/src/engine/graphics/geometry/buffered/compute_buffer_geometry_byte_size.js +0 -23
- package/src/engine/graphics/geometry/instancing/geometry_copy.d.ts +0 -7
- package/src/engine/graphics/geometry/instancing/geometry_copy.d.ts.map +0 -1
- package/src/engine/graphics/geometry/instancing/geometry_copy.js +0 -15
- package/src/engine/graphics/geometry/instancing/rewriteMaterial.d.ts +0 -2
- package/src/engine/graphics/geometry/instancing/rewriteMaterial.d.ts.map +0 -1
- package/src/engine/graphics/geometry/instancing/rewriteMaterial.js +0 -57
- package/src/engine/graphics/geometry/ribbon/Quad.d.ts +0 -96
- package/src/engine/graphics/geometry/ribbon/Quad.d.ts.map +0 -1
- package/src/engine/graphics/geometry/ribbon/Quad.js +0 -213
- package/src/engine/graphics/geometry/ribbon/copyAttributeV3.d.ts +0 -9
- package/src/engine/graphics/geometry/ribbon/copyAttributeV3.d.ts.map +0 -1
- package/src/engine/graphics/geometry/ribbon/copyAttributeV3.js +0 -12
- package/src/engine/graphics/geometry/ribbon/copyAttributeValue.d.ts +0 -10
- package/src/engine/graphics/geometry/ribbon/copyAttributeValue.d.ts.map +0 -1
- package/src/engine/graphics/geometry/ribbon/copyAttributeValue.js +0 -17
- package/src/engine/graphics/geometry/ribbon/equalAttributeV3.d.ts +0 -10
- package/src/engine/graphics/geometry/ribbon/equalAttributeV3.d.ts.map +0 -1
- package/src/engine/graphics/geometry/ribbon/equalAttributeV3.js +0 -13
- package/src/engine/graphics/geometry/ribbon/equalAttributeValue.d.ts +0 -11
- package/src/engine/graphics/geometry/ribbon/equalAttributeValue.d.ts.map +0 -1
- package/src/engine/graphics/geometry/ribbon/equalAttributeValue.js +0 -24
- package/src/engine/graphics/geometry/ribbon/rotateRibbon.d.ts +0 -6
- package/src/engine/graphics/geometry/ribbon/rotateRibbon.d.ts.map +0 -1
- package/src/engine/graphics/geometry/ribbon/rotateRibbon.js +0 -37
- package/src/engine/graphics/geometry/ribbon/updateTipPosition.d.ts +0 -9
- package/src/engine/graphics/geometry/ribbon/updateTipPosition.d.ts.map +0 -1
- package/src/engine/graphics/geometry/ribbon/updateTipPosition.js +0 -52
- package/src/engine/graphics/geometry/skining/computeSkinnedMeshVertices.d.ts +0 -8
- package/src/engine/graphics/geometry/skining/computeSkinnedMeshVertices.d.ts.map +0 -1
- package/src/engine/graphics/geometry/skining/computeSkinnedMeshVertices.js +0 -54
- package/src/engine/graphics/render/RenderPassType.d.ts +0 -6
- package/src/engine/graphics/render/RenderPassType.d.ts.map +0 -1
- package/src/engine/graphics/render/RenderPassType.js +0 -8
- package/src/engine/graphics/render/layers/RenderLayer.d.ts +0 -78
- package/src/engine/graphics/render/layers/RenderLayer.d.ts.map +0 -1
- package/src/engine/graphics/render/layers/RenderLayer.js +0 -95
- package/src/engine/graphics/render/layers/RenderLayerManager.d.ts +0 -72
- package/src/engine/graphics/render/layers/RenderLayerManager.d.ts.map +0 -1
- package/src/engine/graphics/render/layers/RenderLayerManager.js +0 -160
- package/src/engine/graphics/render/layers/RenderLayerManagerState.d.ts +0 -18
- package/src/engine/graphics/render/layers/RenderLayerManagerState.d.ts.map +0 -1
- package/src/engine/graphics/render/layers/RenderLayerManagerState.js +0 -48
- package/src/engine/graphics/render/layers/RenderLayerState.d.ts +0 -18
- package/src/engine/graphics/render/layers/RenderLayerState.d.ts.map +0 -1
- package/src/engine/graphics/render/layers/RenderLayerState.js +0 -27
- package/src/engine/graphics/render/layers/RenderLayerUtils.d.ts +0 -8
- package/src/engine/graphics/render/layers/RenderLayerUtils.d.ts.map +0 -1
- package/src/engine/graphics/render/layers/RenderLayerUtils.js +0 -103
- package/src/engine/graphics/render/make_bvh_visibility_builder.d.ts +0 -10
- package/src/engine/graphics/render/make_bvh_visibility_builder.d.ts.map +0 -1
- package/src/engine/graphics/render/make_bvh_visibility_builder.js +0 -64
- package/src/engine/graphics/render/view/CameraViewFlags.d.ts +0 -7
- package/src/engine/graphics/render/view/CameraViewFlags.d.ts.map +0 -1
- package/src/engine/graphics/render/view/CameraViewFlags.js +0 -9
- package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts +0 -143
- package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts.map +0 -1
- package/src/engine/graphics/render/visibility/IncrementalDeltaSet.js +0 -328
- package/src/engine/graphics/render/visibility/VisibilityComputer.d.ts +0 -39
- package/src/engine/graphics/render/visibility/VisibilityComputer.d.ts.map +0 -1
- package/src/engine/graphics/render/visibility/VisibilityComputer.js +0 -80
- package/src/engine/graphics/render/visibility/VisibilityFilter.d.ts +0 -29
- package/src/engine/graphics/render/visibility/VisibilityFilter.d.ts.map +0 -1
- package/src/engine/graphics/render/visibility/VisibilityFilter.js +0 -37
- package/src/engine/graphics3/animation/write_graph_playback.d.ts +0 -24
- package/src/engine/graphics3/animation/write_graph_playback.d.ts.map +0 -1
- package/src/engine/graphics3/animation/write_graph_playback.js +0 -48
- package/src/shade/renderer/deferred/TonemapDisplaySettings.d.ts.map +0 -1
- package/src/shade/renderer/deferred/shader_tonemap_HDR.d.ts.map +0 -1
- package/src/shade/renderer/deferred/shader_tonemap_HDR_none.d.ts.map +0 -1
- package/src/shade/renderer/deferred/shader_tonemap_HDR_pbr_neutral.d.ts.map +0 -1
- package/src/shade/renderer/deferred/shader_tonemap_LDR.d.ts.map +0 -1
- package/src/shade/renderer/deferred/shader_tonemap_LDR_none.d.ts.map +0 -1
- package/src/shade/renderer/deferred/shader_tonemap_LDR_pbr_neutral.d.ts.map +0 -1
|
@@ -1,111 +1,119 @@
|
|
|
1
|
-
import { assert } from "../../../core/assert.js";
|
|
2
|
-
import { m4_multiply } from "../../../core/geom/3d/mat4/m4_multiply.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @typedef {import("./SceneNode.js").SceneNode} SceneNode
|
|
6
|
-
* @typedef {import("../animation/Skin.js").Skin} Skin
|
|
7
|
-
* @typedef {import("../animation/ShadeAnimationClip.js").ShadeAnimationClip} ShadeAnimationClip
|
|
8
|
-
* @typedef {import("../light/model/Light.js").Light} Light
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* What came out of a loader: a model as a flat list of {@link SceneNode}s in pre-order, with the
|
|
13
|
-
* skins, clips and lights the same file carried, each addressing nodes by index.
|
|
14
|
-
*
|
|
15
|
-
* Not glTF-specific by design — the bundle describes "what a loader produced", not "what was in
|
|
16
|
-
* a file", and every loader ({@link load_gltf}, {@link load_usd}, {@link deserialize_scene})
|
|
17
|
-
* produces one. It is pure data with no lifecycle: a model compiles from it once into a
|
|
18
|
-
* {@link Prefab} (`prefab_compile`), and a prefab is what gets placed — as entities, each holding
|
|
19
|
-
* a row — however many times the model appears. The bundle is read by that compile and never
|
|
20
|
-
* written, so one bundle is shared by every placement, which is what the asset manager hands out.
|
|
21
|
-
*
|
|
22
|
-
* Pre-order is the one structural promise: a node's parent has a lower index. {@link add_node}
|
|
23
|
-
* refuses anything else, so a reader composes world transforms in a single forward pass.
|
|
24
|
-
*/
|
|
25
|
-
export class SceneBundle {
|
|
26
|
-
/**
|
|
27
|
-
* Every node of the model, parents before children.
|
|
28
|
-
*
|
|
29
|
-
* @type {SceneNode[]}
|
|
30
|
-
*/
|
|
31
|
-
nodes = [];
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Skins extracted from the asset. A skin's `joints` and `meshes` are indices into
|
|
35
|
-
* {@link nodes}. Empty if the asset has no skinned meshes.
|
|
36
|
-
*
|
|
37
|
-
* @type {Skin[]}
|
|
38
|
-
*/
|
|
39
|
-
skins = [];
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Animation clips extracted from the asset. Each channel's `target` is an index into
|
|
43
|
-
* {@link nodes}. Empty if the asset has no animations.
|
|
44
|
-
*
|
|
45
|
-
* @type {ShadeAnimationClip[]}
|
|
46
|
-
*/
|
|
47
|
-
clips = [];
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* @
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
1
|
+
import { assert } from "../../../core/assert.js";
|
|
2
|
+
import { m4_multiply } from "../../../core/geom/3d/mat4/m4_multiply.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {import("./SceneNode.js").SceneNode} SceneNode
|
|
6
|
+
* @typedef {import("../animation/Skin.js").Skin} Skin
|
|
7
|
+
* @typedef {import("../animation/ShadeAnimationClip.js").ShadeAnimationClip} ShadeAnimationClip
|
|
8
|
+
* @typedef {import("../light/model/Light.js").Light} Light
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* What came out of a loader: a model as a flat list of {@link SceneNode}s in pre-order, with the
|
|
13
|
+
* skins, clips and lights the same file carried, each addressing nodes by index.
|
|
14
|
+
*
|
|
15
|
+
* Not glTF-specific by design — the bundle describes "what a loader produced", not "what was in
|
|
16
|
+
* a file", and every loader ({@link load_gltf}, {@link load_usd}, {@link deserialize_scene})
|
|
17
|
+
* produces one. It is pure data with no lifecycle: a model compiles from it once into a
|
|
18
|
+
* {@link Prefab} (`prefab_compile`), and a prefab is what gets placed — as entities, each holding
|
|
19
|
+
* a row — however many times the model appears. The bundle is read by that compile and never
|
|
20
|
+
* written, so one bundle is shared by every placement, which is what the asset manager hands out.
|
|
21
|
+
*
|
|
22
|
+
* Pre-order is the one structural promise: a node's parent has a lower index. {@link add_node}
|
|
23
|
+
* refuses anything else, so a reader composes world transforms in a single forward pass.
|
|
24
|
+
*/
|
|
25
|
+
export class SceneBundle {
|
|
26
|
+
/**
|
|
27
|
+
* Every node of the model, parents before children.
|
|
28
|
+
*
|
|
29
|
+
* @type {SceneNode[]}
|
|
30
|
+
*/
|
|
31
|
+
nodes = [];
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Skins extracted from the asset. A skin's `joints` and `meshes` are indices into
|
|
35
|
+
* {@link nodes}. Empty if the asset has no skinned meshes.
|
|
36
|
+
*
|
|
37
|
+
* @type {Skin[]}
|
|
38
|
+
*/
|
|
39
|
+
skins = [];
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Animation clips extracted from the asset. Each channel's `target` is an index into
|
|
43
|
+
* {@link nodes}. Empty if the asset has no animations.
|
|
44
|
+
*
|
|
45
|
+
* @type {ShadeAnimationClip[]}
|
|
46
|
+
*/
|
|
47
|
+
clips = [];
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Aeroelastic foliage wind rigs extracted from or generated for the asset.
|
|
51
|
+
* Each rig's `root` and each joint's `target` is an index into {@link nodes}.
|
|
52
|
+
*
|
|
53
|
+
* @type {import("../animation/foliage/FoliageWindRig.js").FoliageWindRig[]}
|
|
54
|
+
*/
|
|
55
|
+
foliage_rigs = [];
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Punctual lights extracted from the asset, each with the index of the node it sits on. A
|
|
59
|
+
* light is not a node and has no place of its own; the node's transform is where it is,
|
|
60
|
+
* already turned to shine along the engine's +Z. Empty if the asset has no lights.
|
|
61
|
+
*
|
|
62
|
+
* @type {{light: Light, node: number}[]}
|
|
63
|
+
*/
|
|
64
|
+
lights = [];
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Append a node. Its parent, if it has one, must already be in the bundle — which is what
|
|
68
|
+
* keeps the list in pre-order.
|
|
69
|
+
*
|
|
70
|
+
* @param {SceneNode} node
|
|
71
|
+
* @returns {number} the node's index, what a child, a skin, a clip or a light names it by
|
|
72
|
+
*/
|
|
73
|
+
add_node(node) {
|
|
74
|
+
assert.defined(node, 'node');
|
|
75
|
+
assert.equal(node.isSceneNode, true, 'node.isSceneNode !== true');
|
|
76
|
+
|
|
77
|
+
const index = this.nodes.length;
|
|
78
|
+
|
|
79
|
+
assert.lessThan(node.parent, index, `node ${index} (${node.name}) names parent ${node.parent}, which is not in the bundle yet — add parents before children`);
|
|
80
|
+
|
|
81
|
+
this.nodes.push(node);
|
|
82
|
+
|
|
83
|
+
return index;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* The world matrix of every node, composed root-first in double precision — what a reader
|
|
88
|
+
* that wants where things are in the model's own space asks for, once.
|
|
89
|
+
*
|
|
90
|
+
* @returns {Float64Array[]} one 4x4 per node, column-major
|
|
91
|
+
*/
|
|
92
|
+
compute_world_matrices() {
|
|
93
|
+
const nodes = this.nodes;
|
|
94
|
+
const count = nodes.length;
|
|
95
|
+
const worlds = new Array(count);
|
|
96
|
+
|
|
97
|
+
for (let i = 0; i < count; i++) {
|
|
98
|
+
const node = nodes[i];
|
|
99
|
+
const world = new Float64Array(16);
|
|
100
|
+
const local = node.local.matrix;
|
|
101
|
+
|
|
102
|
+
if (node.parent === -1) {
|
|
103
|
+
world.set(local);
|
|
104
|
+
} else {
|
|
105
|
+
m4_multiply(world, worlds[node.parent], local);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
worlds[i] = world;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return worlds;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* @readonly
|
|
117
|
+
* @type {boolean}
|
|
118
|
+
*/
|
|
119
|
+
SceneBundle.prototype.isSceneBundle = true;
|
|
@@ -13,7 +13,7 @@ export class TinyGltf {
|
|
|
13
13
|
* @readonly
|
|
14
14
|
* @type {TextureFormat}
|
|
15
15
|
*/
|
|
16
|
-
static readonly "__#
|
|
16
|
+
static readonly "__#287@#UNCOMPRESSED_TARGET": TextureFormat;
|
|
17
17
|
/**
|
|
18
18
|
* @param {AssetManager} assetManager
|
|
19
19
|
* @param {AssetRequestScope} [scope]
|
|
@@ -45,6 +45,10 @@ export function build_gbuffer_pipeline_descriptor({ label, material_group, surfa
|
|
|
45
45
|
* @returns {RenderPipelineDescriptor}
|
|
46
46
|
*/
|
|
47
47
|
export function gbuffer_pipeline_descriptor_for_shader(label: string, shader: ShaderDescriptor): RenderPipelineDescriptor;
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @type {number}
|
|
51
|
+
*/
|
|
48
52
|
/**
|
|
49
53
|
* Group 1 of every material's G-buffer pipeline: the visibility buffer and the view that drew it.
|
|
50
54
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment_gbuffer.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/material/standard/fragment_gbuffer.js"],"names":[],"mappings":"AAkGA;;;;;;;;GAQG;AACH,+DAHW,6BAA6B,GAC3B,2BAA2B,CAUvC;AASD;;;;;;;;;;;GAWG;AACH,qDAHW,SAAS,GACP,SAAS,
|
|
1
|
+
{"version":3,"file":"fragment_gbuffer.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/material/standard/fragment_gbuffer.js"],"names":[],"mappings":"AAkGA;;;;;;;;GAQG;AACH,+DAHW,6BAA6B,GAC3B,2BAA2B,CAUvC;AASD;;;;;;;;;;;GAWG;AACH,qDAHW,SAAS,GACP,SAAS,CA+OrB;AAED;;;;;;;;;GASG;AACH;IAL2B,KAAK,EAArB,MAAM;IACiC,cAAc,EAArD,6BAA6B;IACV,OAAO,EAA1B,SAAS;IACP,wBAAwB,CAUpC;AAED;;;;;;;GAOG;AACH,8DAJW,MAAM,UACN,gBAAgB,GACd,wBAAwB,CA4BpC;AA1XD;;;GAGG;AAGH;;;;;;;;;GASG;AACH,qCAFU,6BAA6B,CAEmC;AAa1E;;;;GAIG;AACH,uCAFU,6BAA6B,CAEqC;AAgC5E;;;;GAIG;AACH,wCAFU,2BAA2B,CAEoE;AAqTzG;;;;GAIG;AACH,6BAFU,gBAAgB,CAMvB;8CA9Y2C,wDAAwD;4CAC1D,sDAAsD;0BAFxE,oCAAoC;yCAxCrB,iEAAiE;iCA2CzE,kCAAkC"}
|
|
@@ -9,7 +9,7 @@ import { GEOMETRY_METADATA_STRUCT } from "../../geometry/GEOMETRY_METADATA_STRUC
|
|
|
9
9
|
import { MESHLET_METADATA_STRUCT } from "../../geometry/meshlet/encoding/MESHLET_METADATA_STRUCT.js";
|
|
10
10
|
import { chunk_node3d_flags } from "../../scene/chunk_node3d_flags.js";
|
|
11
11
|
import { chunk_scene_database_access } from "../../scene/chunk_scene_database_access.js";
|
|
12
|
-
import {
|
|
12
|
+
import { chunk_view_mip_bias } from "../../view/chunk_view_mip_bias.js";
|
|
13
13
|
import { chunk_barycentric_full } from "../../shader/chunk/geometry/triangle/chunk_barycentric_full.js";
|
|
14
14
|
import { chunk_barycentric_interpolate_uv } from "../../shader/chunk/geometry/triangle/chunk_barycentric_interpolate_uv.js";
|
|
15
15
|
import { chunk_compute_normal_matrix_from_m4 } from "../../shader/chunk/geometry/mat4/chunk_compute_normal_matrix_from_m4.js";
|
|
@@ -53,7 +53,7 @@ import { SHADING_MATERIAL_RESOURCE_GROUP } from "./SHADING_MATERIAL_RESOURCE_GRO
|
|
|
53
53
|
*
|
|
54
54
|
* @type {number}
|
|
55
55
|
*/
|
|
56
|
-
|
|
56
|
+
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
59
|
* Group 1 of every material's G-buffer pipeline: the visibility buffer and the view that drew it.
|
|
@@ -146,7 +146,7 @@ struct GBufferOutput {
|
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
// this is a multiplies applies to gradients before invoking texture sampling
|
|
149
|
-
|
|
149
|
+
|
|
150
150
|
|
|
151
151
|
@fragment
|
|
152
152
|
fn main(
|
|
@@ -228,7 +228,7 @@ fn main(
|
|
|
228
228
|
var uv_info = barycentric_interpolate_uv(barycentric, geometry_vertex_uv_0, geometry_vertex_uv_1, geometry_vertex_uv_2);
|
|
229
229
|
|
|
230
230
|
// figure out final mip bias
|
|
231
|
-
let uv_derivative_bias =
|
|
231
|
+
let uv_derivative_bias = view_uv_derivative_bias(view.upscale_ratio);
|
|
232
232
|
|
|
233
233
|
// bias UV derivatives to supersample textures
|
|
234
234
|
uv_info.ddx *= uv_derivative_bias.x;
|
|
@@ -367,7 +367,8 @@ fn main(
|
|
|
367
367
|
chunk_rgbe9995_encode,
|
|
368
368
|
chunk_dither_color_8bit_triangle_noise,
|
|
369
369
|
chunk_scene_database_access,
|
|
370
|
-
chunk_node3d_flags,
|
|
370
|
+
chunk_node3d_flags,
|
|
371
|
+
chunk_view_mip_bias,
|
|
371
372
|
]
|
|
372
373
|
);
|
|
373
374
|
}
|
|
@@ -31,13 +31,14 @@
|
|
|
31
31
|
* only to tell a missing `w` curve from an authored zero.
|
|
32
32
|
*
|
|
33
33
|
* `weight` is the clip weight `value` has already been multiplied by.
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* `rest_rotation`
|
|
39
|
-
*
|
|
40
|
-
*
|
|
34
|
+
* All three properties use it to subtract `rest * weight` (`value - rest * weight`),
|
|
35
|
+
* and Rotation also uses it because the identity it substitutes for a missing
|
|
36
|
+
* `w` channel must carry the same weight as the authored channels.
|
|
37
|
+
*
|
|
38
|
+
* `rest_rotation` carries the target's rest value for the bound property
|
|
39
|
+
* (`rest.translation` in `.xyz` for Translation, `rest.rotation` in `.xyzw`
|
|
40
|
+
* for Rotation, `rest.scale` in `.xyz` for Scale). It rides into the slot
|
|
41
|
+
* with the contribution so the resolve pass can reconstruct `rest + delta`.
|
|
41
42
|
*
|
|
42
43
|
* @type {CodeChunk}
|
|
43
44
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk_write_object_property_node3d.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/object_property/chunk_write_object_property_node3d.js"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"chunk_write_object_property_node3d.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/object_property/chunk_write_object_property_node3d.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,iDAFU,SAAS,CA8Bb;0BA3EoB,iCAAiC"}
|
|
@@ -35,13 +35,14 @@ import { Node3DProperty } from "./Node3DProperty.js";
|
|
|
35
35
|
* only to tell a missing `w` curve from an authored zero.
|
|
36
36
|
*
|
|
37
37
|
* `weight` is the clip weight `value` has already been multiplied by.
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
38
|
+
* All three properties use it to subtract `rest * weight` (`value - rest * weight`),
|
|
39
|
+
* and Rotation also uses it because the identity it substitutes for a missing
|
|
40
|
+
* `w` channel must carry the same weight as the authored channels.
|
|
41
41
|
*
|
|
42
|
-
* `rest_rotation`
|
|
43
|
-
*
|
|
44
|
-
*
|
|
42
|
+
* `rest_rotation` carries the target's rest value for the bound property
|
|
43
|
+
* (`rest.translation` in `.xyz` for Translation, `rest.rotation` in `.xyzw`
|
|
44
|
+
* for Rotation, `rest.scale` in `.xyz` for Scale). It rides into the slot
|
|
45
|
+
* with the contribution so the resolve pass can reconstruct `rest + delta`.
|
|
45
46
|
*
|
|
46
47
|
* @type {CodeChunk}
|
|
47
48
|
*/
|
|
@@ -60,13 +61,13 @@ fn write_object_property_node3d(
|
|
|
60
61
|
|
|
61
62
|
switch(property){
|
|
62
63
|
case ${Node3DProperty.Translation}u: {
|
|
63
|
-
pose_accumulator_add_translation(node_index, value.xyz, mask);
|
|
64
|
+
pose_accumulator_add_translation(node_index, value.xyz, mask, weight, rest_rotation.xyz);
|
|
64
65
|
}
|
|
65
66
|
case ${Node3DProperty.Rotation}u: {
|
|
66
67
|
pose_accumulator_add_rotation(node_index, value, mask, weight, rest_rotation);
|
|
67
68
|
}
|
|
68
69
|
case ${Node3DProperty.Scale}u: {
|
|
69
|
-
pose_accumulator_add_scale(node_index, value.xyz, mask);
|
|
70
|
+
pose_accumulator_add_scale(node_index, value.xyz, mask, weight, rest_rotation.xyz);
|
|
70
71
|
}
|
|
71
72
|
default: {}
|
|
72
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GPUParticleSystem.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/particles/GPUParticleSystem.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GPUParticleSystem.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/particles/GPUParticleSystem.js"],"names":[],"mappings":"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"}
|
|
@@ -1120,7 +1120,9 @@ export class GPUParticleSystem {
|
|
|
1120
1120
|
this.atlas_sampler = device.createSampler({
|
|
1121
1121
|
label: "particles/atlas_sampler",
|
|
1122
1122
|
magFilter: "linear",
|
|
1123
|
-
minFilter: "linear",
|
|
1123
|
+
minFilter: "linear",
|
|
1124
|
+
mipmapFilter: "linear",
|
|
1125
|
+
maxAnisotropy: 16,
|
|
1124
1126
|
addressModeU: "clamp-to-edge",
|
|
1125
1127
|
addressModeV: "clamp-to-edge",
|
|
1126
1128
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shader_particle_avboit_draw.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/shaders/shader_particle_avboit_draw.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shader_particle_avboit_draw.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/particles/shaders/shader_particle_avboit_draw.js"],"names":[],"mappings":"AAyMA,2EAAsI;AACtI,8EAA2I;AAC3I,6EAA8I;AAE9I,mEAAmE;AACnE,yEAAwD;AAExD,mDAAmD;AACnD,2DAAsD;yCAjNb,iEAAiE;4CAa9D,sDAAsD;iCAFjE,kCAAkC"}
|
|
@@ -13,7 +13,8 @@ import { ShaderDescriptor } from "../../shader/ShaderDescriptor.js";
|
|
|
13
13
|
import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
|
|
14
14
|
import { ShaderResourceSetDescriptor } from "../../shader/resource/ShaderResourceSetDescriptor.js";
|
|
15
15
|
import { SAMPLER_LINEAR_UPSCALE } from "../../texture/SAMPLER_LINEAR_UPSCALE.js";
|
|
16
|
-
import { VIEW_UNIFORM_STRUCT } from "../../view/VIEW_UNIFORM_STRUCT.js";
|
|
16
|
+
import { VIEW_UNIFORM_STRUCT } from "../../view/VIEW_UNIFORM_STRUCT.js";
|
|
17
|
+
import { chunk_view_mip_bias } from "../../view/chunk_view_mip_bias.js";
|
|
17
18
|
import { VOLUMETRICS_METADATA_STRUCT } from "../../volumetrics/VOLUMETRICS_METADATA_STRUCT.js";
|
|
18
19
|
import { EMITTER_FLAG } from "../data/PARTICLE_EMITTER_STRUCT.js";
|
|
19
20
|
import { PARTICLE_SOFT_FADE_RANGE } from "../ParticleConstants.js";
|
|
@@ -110,7 +111,10 @@ fn vs_general(@builtin(vertex_index) vi : u32, @builtin(instance_index) ii : u32
|
|
|
110
111
|
|
|
111
112
|
@fragment
|
|
112
113
|
fn fs_main(in : ParticleVertexOut) -> ParticleAVBOITDrawOutput {
|
|
113
|
-
let screen_uv = in.clip.xy / vec2<f32>(f32(view.width), f32(view.height));
|
|
114
|
+
let screen_uv = in.clip.xy / vec2<f32>(f32(view.width), f32(view.height));
|
|
115
|
+
let uv_bias = view_uv_derivative_bias(view.upscale_ratio);
|
|
116
|
+
let uv_ddx = dpdx(in.uv) * uv_bias.x;
|
|
117
|
+
let uv_ddy = dpdy(in.uv) * uv_bias.y;
|
|
114
118
|
|
|
115
119
|
// a billboard, stretched or not, is built from the camera's right and up and lies in the view plane,
|
|
116
120
|
// so its footprint is zero; a horizontal, vertical or world-facing quad seen at an angle runs
|
|
@@ -130,7 +134,7 @@ fn fs_main(in : ParticleVertexOut) -> ParticleAVBOITDrawOutput {
|
|
|
130
134
|
discard;
|
|
131
135
|
}
|
|
132
136
|
|
|
133
|
-
var color =
|
|
137
|
+
var color = textureSampleGrad(atlas, atlas_sampler, in.uv, uv_ddx, uv_ddy) * in.color;
|
|
134
138
|
|
|
135
139
|
if ((in.flags & PARTICLE_FLAG_SOFT_DEPTH) != 0u) {
|
|
136
140
|
let scene_vd = particle_scene_view_depth(textureLoad(scene_depth, vec2<i32>(in.clip.xy), 0).r, camera);
|
|
@@ -166,7 +170,8 @@ fn fs_main(in : ParticleVertexOut) -> ParticleAVBOITDrawOutput {
|
|
|
166
170
|
chunk_sample_volumetrics,
|
|
167
171
|
chunk_avboit_view_depth_to_virtual,
|
|
168
172
|
chunk_avboit_footprint_bias,
|
|
169
|
-
chunk_avboit_sample_transmittance,
|
|
173
|
+
chunk_avboit_sample_transmittance,
|
|
174
|
+
chunk_view_mip_bias,
|
|
170
175
|
]);
|
|
171
176
|
|
|
172
177
|
const descriptor = ShaderDescriptor.from({ label: "Particle AVBOIT Draw", body, resources });
|
|
@@ -53,7 +53,7 @@ export class NSS {
|
|
|
53
53
|
* @returns {number}
|
|
54
54
|
*/
|
|
55
55
|
static recommended_jitter_sequence_size(upscale_ratio: number): number;
|
|
56
|
-
static "__#
|
|
56
|
+
static "__#201@#preprocess_tensor_descriptor"(render_w: any, render_h: any): TextureResourceDescriptor;
|
|
57
57
|
/**
|
|
58
58
|
* @param {GraphicsContext} graphics
|
|
59
59
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssr_resolve_shader.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ssr_resolve_shader.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/postprocess/ssr/resolve/ssr_resolve_shader.js"],"names":[],"mappings":"AAmWA;;;;;;;GAOG;AACH,iCAFU,WAAW,CAgBlB;4BAtWyB,gCAAgC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { chunk_ssr_metadata } from "../chunk_ssr_metadata.js";
|
|
2
2
|
import { chunk_is_on_screen_i32 } from "../../../shader/chunk/texture/chunk_is_on_screen_i32.js";
|
|
3
|
-
import {
|
|
3
|
+
import { SAMPLER_TRILINEAR_CLAMP } from "../../../texture/SAMPLER_TRILINEAR_CLAMP.js";
|
|
4
4
|
import { u32 } from "../../../shader/type/WEBGPU_WGSL_PRIMITIVE_TYPES.js";
|
|
5
5
|
import { WebGPUStruct } from "../../../shader/type/WebGPUStruct.js";
|
|
6
6
|
import { CAMERA_UNIFORM_STRUCT } from "../../../camera/CAMERA_UNIFORM_STRUCT.js";
|
|
@@ -62,12 +62,14 @@ resources.createGroup()
|
|
|
62
62
|
.addTexture("tNormal", "uint")
|
|
63
63
|
.addTexture("tColor", "float")
|
|
64
64
|
.addTexture("tAlbedoAO", "unfilterable-float")
|
|
65
|
-
.addSampler("sLinear", "filtering",
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
.addSampler("sLinear", "filtering", SAMPLER_TRILINEAR_CLAMP)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
71
73
|
.addUniform("camera", CAMERA_UNIFORM_STRUCT)
|
|
72
74
|
;
|
|
73
75
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk_forward_shade_standard_fragment.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chunk_forward_shade_standard_fragment.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/rasterize/forward/chunk_forward_shade_standard_fragment.js"],"names":[],"mappings":"AAyCA;;;;;;GAMG;AACH,8DAsKC;0BA/LyB,oCAAoC"}
|
|
@@ -24,7 +24,9 @@ import { MATERIAL_SHADING_INFO_STRUCT } from "../../shader/chunk/material/MATERI
|
|
|
24
24
|
import { CodeChunk } from "../../shader/compiler/CodeChunk.js";
|
|
25
25
|
import { chunk_forward_sample_indirect } from "./chunk_forward_sample_indirect.js";
|
|
26
26
|
import { FORWARD_VERTEX_SHADER_STRUCT } from "./FORWARD_VERTEX_SHADER_STRUCT.js";
|
|
27
|
-
import { CAMERA_RESOURCE } from "../../camera/CAMERA_RESOURCE.js";
|
|
27
|
+
import { CAMERA_RESOURCE } from "../../camera/CAMERA_RESOURCE.js";
|
|
28
|
+
import { VIEW_RESOURCE } from "../../view/VIEW_RESOURCE.js";
|
|
29
|
+
import { chunk_view_mip_bias } from "../../view/chunk_view_mip_bias.js";
|
|
28
30
|
import {
|
|
29
31
|
MATERIAL_DIFFUSE_SAMPLER_RESOURCE,
|
|
30
32
|
MATERIAL_DIFFUSE_TEXTURE_RESOURCE,
|
|
@@ -55,7 +57,11 @@ fn forward_shade_standard_fragment(
|
|
|
55
57
|
) -> vec4f {
|
|
56
58
|
let world_tangent_frame = build_orthonormal_matrix_nt(vert.normal, vert.tangent);
|
|
57
59
|
|
|
58
|
-
let
|
|
60
|
+
let uv_bias = view_uv_derivative_bias(view.upscale_ratio);
|
|
61
|
+
let uv_ddx = dpdx(vert.uv) * uv_bias.x;
|
|
62
|
+
let uv_ddy = dpdy(vert.uv) * uv_bias.y;
|
|
63
|
+
|
|
64
|
+
let t_normal = decode_tangent_normal(textureSampleGrad(texture_normal, texture_normal_sampler, vert.uv, uv_ddx, uv_ddy));
|
|
59
65
|
var world_shading_normal:vec3<f32> = normalize( world_tangent_frame * t_normal );
|
|
60
66
|
|
|
61
67
|
// flip the normal when looking at the surface's back. The raw front_facing cannot say:
|
|
@@ -77,9 +83,9 @@ fn forward_shade_standard_fragment(
|
|
|
77
83
|
view_direction: 'view_direction',
|
|
78
84
|
})};
|
|
79
85
|
|
|
80
|
-
let t_pbr =
|
|
81
|
-
let t_diffuse =
|
|
82
|
-
let t_emissive =
|
|
86
|
+
let t_pbr = textureSampleGrad(texture_orm, texture_orm_sampler, vert.uv, uv_ddx, uv_ddy);
|
|
87
|
+
let t_diffuse = textureSampleGrad(texture_diffuse, texture_diffuse_sampler, vert.uv, uv_ddx, uv_ddy);
|
|
88
|
+
let t_emissive = textureSampleGrad(texture_emissive, texture_emissive_sampler, vert.uv, uv_ddx, uv_ddy);
|
|
83
89
|
|
|
84
90
|
// the vertex stage hands on the vertex's own colour; the material's is applied here
|
|
85
91
|
var diffuse = t_diffuse.rgb * vert.color * material_info.albedo_color.rgb;
|
|
@@ -203,11 +209,13 @@ fn forward_shade_standard_fragment(
|
|
|
203
209
|
chunk_compute_indirect_specular,
|
|
204
210
|
chunk_forward_sample_indirect,
|
|
205
211
|
chunk_compute_specular_occlusion,
|
|
206
|
-
chunk_material_draw_side,
|
|
212
|
+
chunk_material_draw_side,
|
|
213
|
+
chunk_view_mip_bias,
|
|
207
214
|
]
|
|
208
215
|
)
|
|
209
216
|
|
|
210
|
-
chunk_forward_shade_standard_fragment.requireResource(CAMERA_RESOURCE);
|
|
217
|
+
chunk_forward_shade_standard_fragment.requireResource(CAMERA_RESOURCE);
|
|
218
|
+
chunk_forward_shade_standard_fragment.requireResource(VIEW_RESOURCE);
|
|
211
219
|
chunk_forward_shade_standard_fragment.requireResource(MATERIAL_INFO_RESOURCE);
|
|
212
220
|
chunk_forward_shade_standard_fragment.requireResource(MATERIAL_DIFFUSE_TEXTURE_RESOURCE);
|
|
213
221
|
chunk_forward_shade_standard_fragment.requireResource(MATERIAL_DIFFUSE_SAMPLER_RESOURCE);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avboit_draw_fragment_body.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/rasterize/native/avboit/avboit_draw_fragment_body.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,uCAFU,MAAM,CAE2B;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wCAFU,MAAM,
|
|
1
|
+
{"version":3,"file":"avboit_draw_fragment_body.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/rasterize/native/avboit/avboit_draw_fragment_body.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,uCAFU,MAAM,CAE2B;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wCAFU,MAAM,CAsEV;AAEN;;;GAGG;AACH,gDAFU,WAAW,CAWnB;AAEF;;;GAGG;AACH,kCAFU,qBAAqB,CAiB3B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { chunk_sample_volumetrics } from "../../../deferred/chunk_sample_volumetrics.js";
|
|
2
2
|
import { chunk_get_view_space_depth } from "../../../shader/chunk/depth/chunk_get_view_space_depth.js";
|
|
3
|
-
import {
|
|
3
|
+
import { chunk_view_mip_bias } from "../../../view/chunk_view_mip_bias.js";
|
|
4
4
|
import { FORWARD_VERTEX_SHADER_STRUCT } from "../../forward/FORWARD_VERTEX_SHADER_STRUCT.js";
|
|
5
5
|
import { OIT_COVERAGE_MAX } from "../oit/OIT_CONSTANTS.js";
|
|
6
6
|
import { AVBOIT_EXTINCT_TRANSMITTANCE } from "./AVBOIT_CONSTANTS.js";
|
|
@@ -66,7 +66,9 @@ fn main(
|
|
|
66
66
|
|
|
67
67
|
// need to unjitter UV to account for TAA
|
|
68
68
|
var vert_adjusted = vert;
|
|
69
|
-
|
|
69
|
+
let uv_bias = view_uv_derivative_bias(view.upscale_ratio);
|
|
70
|
+
let uv_ddx = dpdx(vert.uv) * uv_bias.x;
|
|
71
|
+
let uv_ddy = dpdy(vert.uv) * uv_bias.y;
|
|
70
72
|
|
|
71
73
|
// linear view depth (vert.position is @builtin(position); .z is device depth) and screen uv,
|
|
72
74
|
// for the volume lookup and the fog composite alike
|
|
@@ -98,7 +100,7 @@ fn main(
|
|
|
98
100
|
var tint = vec3<f32>(1.0);
|
|
99
101
|
let f_transmission = material_info.transmission_factor;
|
|
100
102
|
if (f_transmission > 0.0) {
|
|
101
|
-
let t_diffuse =
|
|
103
|
+
let t_diffuse = textureSampleGrad(texture_diffuse, texture_diffuse_sampler, vert_adjusted.uv, uv_ddx, uv_ddy);
|
|
102
104
|
let base_color = (t_diffuse.rgb / max(t_diffuse.a, 1e-7)) * vert.color * material_info.albedo_color.rgb;
|
|
103
105
|
tint = avboit_transmission_tint(base_color, f_transmission * f32(warp.tint_from_base_color));
|
|
104
106
|
}
|
|
@@ -122,7 +124,7 @@ fn main(
|
|
|
122
124
|
*/
|
|
123
125
|
export const AVBOIT_DRAW_FRAGMENT_DEPENDENCIES = [
|
|
124
126
|
FORWARD_VERTEX_SHADER_STRUCT.declaration_chunk,
|
|
125
|
-
|
|
127
|
+
chunk_view_mip_bias,
|
|
126
128
|
chunk_get_view_space_depth,
|
|
127
129
|
chunk_sample_volumetrics,
|
|
128
130
|
chunk_avboit_view_depth_to_virtual,
|
|
@@ -2,7 +2,7 @@ import { chunk_sample_volumetrics } from "../../../deferred/chunk_sample_volumet
|
|
|
2
2
|
import {
|
|
3
3
|
chunk_resolve_power_moments_4
|
|
4
4
|
} from "../../../shader/chunk/mboit/moments/power/chunk_resolve_power_moments_4.js";
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
import { FORWARD_VERTEX_SHADER_STRUCT } from "../../forward/FORWARD_VERTEX_SHADER_STRUCT.js";
|
|
7
7
|
import { chunk_oit_linearize_depth } from "./chunk_oit_linearize_depth.js";
|
|
8
8
|
import { OIT_COVERAGE_MAX } from "./OIT_CONSTANTS.js";
|
|
@@ -51,7 +51,7 @@ fn main(
|
|
|
51
51
|
|
|
52
52
|
// need to unjitter UV to account for TAA
|
|
53
53
|
var vert_adjusted = vert;
|
|
54
|
-
|
|
54
|
+
|
|
55
55
|
|
|
56
56
|
let shaded = forward_shade_standard_fragment(vert_adjusted, front_facing, ${OIT_RESOLVE_LIGHT_BUDGET}u, ${OIT_RESOLVE_LIGHT_BUDGET}u);
|
|
57
57
|
|
|
@@ -99,7 +99,7 @@ export const OIT_RESOLVE_FRAGMENT_DEPENDENCIES = [
|
|
|
99
99
|
FORWARD_VERTEX_SHADER_STRUCT.declaration_chunk,
|
|
100
100
|
chunk_resolve_power_moments_4,
|
|
101
101
|
chunk_oit_linearize_depth,
|
|
102
|
-
|
|
102
|
+
|
|
103
103
|
chunk_sample_volumetrics,
|
|
104
104
|
];
|
|
105
105
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shader_oit_generate_moments.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/rasterize/native/oit/shader_oit_generate_moments.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shader_oit_generate_moments.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/rasterize/native/oit/shader_oit_generate_moments.js"],"names":[],"mappings":"AAmJA;;;;GAIG;AACH,0CAFU,sBAAsB,CAgE7B;uCAxMoC,iCAAiC"}
|