@aura3d/engine 1.4.4 → 1.5.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/README.md +65 -30
- package/dist/animation/Retargeting.d.ts +12 -0
- package/dist/animation/Retargeting.d.ts.map +1 -0
- package/dist/animation/Retargeting.js +19 -0
- package/dist/animation/Retargeting.js.map +1 -0
- package/dist/assets/GLTFLoader.d.ts +4 -0
- package/dist/assets/GLTFLoader.d.ts.map +1 -1
- package/dist/assets/GLTFLoader.js +39 -4
- package/dist/assets/GLTFLoader.js.map +1 -1
- package/dist/assets/GLTFRenderResources.d.ts +16 -0
- package/dist/assets/GLTFRenderResources.d.ts.map +1 -1
- package/dist/assets/GLTFRenderResources.js +42 -2
- package/dist/assets/GLTFRenderResources.js.map +1 -1
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.d.ts +6 -0
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.d.ts.map +1 -1
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.js +2 -1
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.js.map +1 -1
- package/dist/assets/index.d.ts +0 -1
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +0 -1
- package/dist/assets/index.js.map +1 -1
- package/dist/assets/loaders/index.d.ts +0 -1
- package/dist/assets/loaders/index.d.ts.map +1 -1
- package/dist/assets/loaders/index.js +0 -1
- package/dist/assets/loaders/index.js.map +1 -1
- package/dist/aura3d-cli/asset-intent.d.ts +148 -0
- package/dist/aura3d-cli/asset-intent.d.ts.map +1 -0
- package/dist/aura3d-cli/asset-intent.js +145 -0
- package/dist/aura3d-cli/asset-intent.js.map +1 -0
- package/dist/aura3d-cli/asset-role-admission.d.ts +174 -0
- package/dist/aura3d-cli/asset-role-admission.d.ts.map +1 -0
- package/dist/aura3d-cli/asset-role-admission.js +381 -0
- package/dist/aura3d-cli/asset-role-admission.js.map +1 -0
- package/dist/aura3d-cli/asset-screening-effects.d.ts +95 -0
- package/dist/aura3d-cli/asset-screening-effects.d.ts.map +1 -0
- package/dist/aura3d-cli/asset-screening-effects.js +321 -0
- package/dist/aura3d-cli/asset-screening-effects.js.map +1 -0
- package/dist/aura3d-cli/asset-screening-pipeline.d.ts +132 -0
- package/dist/aura3d-cli/asset-screening-pipeline.d.ts.map +1 -0
- package/dist/aura3d-cli/asset-screening-pipeline.js +277 -0
- package/dist/aura3d-cli/asset-screening-pipeline.js.map +1 -0
- package/dist/aura3d-cli/cartoon-asset-profiles.d.ts +15 -0
- package/dist/aura3d-cli/cartoon-asset-profiles.d.ts.map +1 -0
- package/dist/aura3d-cli/cartoon-asset-profiles.js +46 -0
- package/dist/aura3d-cli/cartoon-asset-profiles.js.map +1 -0
- package/dist/aura3d-cli/cli-help.js +1 -1
- package/dist/aura3d-cli/cli.js +16 -2
- package/dist/aura3d-cli/cli.js.map +1 -1
- package/dist/aura3d-cli/index.d.ts +8 -0
- package/dist/aura3d-cli/index.d.ts.map +1 -1
- package/dist/aura3d-cli/index.js +390 -17
- package/dist/aura3d-cli/index.js.map +1 -1
- package/dist/aura3d-cli/pull-bridge/search.d.ts +4 -0
- package/dist/aura3d-cli/pull-bridge/search.d.ts.map +1 -1
- package/dist/aura3d-cli/pull-bridge/search.js +22 -0
- package/dist/aura3d-cli/pull-bridge/search.js.map +1 -1
- package/dist/aura3d-cli/pull-bridge.d.ts +20 -5
- package/dist/aura3d-cli/pull-bridge.d.ts.map +1 -1
- package/dist/aura3d-cli/pull-bridge.js +38 -1
- package/dist/aura3d-cli/pull-bridge.js.map +1 -1
- package/dist/controls/ControlState.d.ts +1 -1
- package/dist/controls/ControlState.d.ts.map +1 -1
- package/dist/controls/DragControls.d.ts +21 -1
- package/dist/controls/DragControls.d.ts.map +1 -1
- package/dist/controls/DragControls.js +24 -2
- package/dist/controls/DragControls.js.map +1 -1
- package/dist/controls/FirstPersonControls.d.ts +10 -1
- package/dist/controls/FirstPersonControls.d.ts.map +1 -1
- package/dist/controls/FirstPersonControls.js +18 -2
- package/dist/controls/FirstPersonControls.js.map +1 -1
- package/dist/controls/FlyControls.d.ts +42 -0
- package/dist/controls/FlyControls.d.ts.map +1 -1
- package/dist/controls/FlyControls.js +106 -3
- package/dist/controls/FlyControls.js.map +1 -1
- package/dist/controls/MapControls.d.ts +13 -0
- package/dist/controls/MapControls.d.ts.map +1 -1
- package/dist/controls/MapControls.js +40 -2
- package/dist/controls/MapControls.js.map +1 -1
- package/dist/controls/OrbitControls.d.ts +54 -0
- package/dist/controls/OrbitControls.d.ts.map +1 -1
- package/dist/controls/OrbitControls.js +133 -0
- package/dist/controls/OrbitControls.js.map +1 -1
- package/dist/controls/PointerLockControls.d.ts +12 -5
- package/dist/controls/PointerLockControls.d.ts.map +1 -1
- package/dist/controls/PointerLockControls.js +30 -11
- package/dist/controls/PointerLockControls.js.map +1 -1
- package/dist/controls/SelectionManager.d.ts +22 -1
- package/dist/controls/SelectionManager.d.ts.map +1 -1
- package/dist/controls/SelectionManager.js +64 -6
- package/dist/controls/SelectionManager.js.map +1 -1
- package/dist/controls/TransformControls.d.ts +135 -1
- package/dist/controls/TransformControls.d.ts.map +1 -1
- package/dist/controls/TransformControls.js +534 -10
- package/dist/controls/TransformControls.js.map +1 -1
- package/dist/controls/index.d.ts +7 -2
- package/dist/controls/index.d.ts.map +1 -1
- package/dist/controls/index.js +1 -1
- package/dist/controls/index.js.map +1 -1
- package/dist/create-aura3d/index.js +1 -1
- package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts +2 -0
- package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts.map +1 -1
- package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js +781 -46
- package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js.map +1 -1
- package/dist/create-aura3d/showcase-spec-game-template-evidence.d.ts.map +1 -1
- package/dist/create-aura3d/showcase-spec-game-template-evidence.js +24 -4
- package/dist/create-aura3d/showcase-spec-game-template-evidence.js.map +1 -1
- package/dist/create-aura3d/showcase-spec-platformer-artifacts.d.ts.map +1 -1
- package/dist/create-aura3d/showcase-spec-platformer-artifacts.js +28 -17
- package/dist/create-aura3d/showcase-spec-platformer-artifacts.js.map +1 -1
- package/dist/create-aura3d/showcase-spec-racing-artifacts.d.ts.map +1 -1
- package/dist/create-aura3d/showcase-spec-racing-artifacts.js +10 -5
- package/dist/create-aura3d/showcase-spec-racing-artifacts.js.map +1 -1
- package/dist/create-aura3d/showcase-spec-replacement-candidates.js +26 -0
- package/dist/create-aura3d/showcase-spec-replacement-candidates.js.map +1 -1
- package/dist/ecs/components/MeshComponent.d.ts +5 -2
- package/dist/ecs/components/MeshComponent.d.ts.map +1 -1
- package/dist/ecs/components/MeshComponent.js.map +1 -1
- package/dist/editor-runtime/CartoonSceneEditor.d.ts +111 -0
- package/dist/editor-runtime/CartoonSceneEditor.d.ts.map +1 -0
- package/dist/editor-runtime/CartoonSceneEditor.js +285 -0
- package/dist/editor-runtime/CartoonSceneEditor.js.map +1 -0
- package/dist/editor-runtime/InteractiveTransformGizmo.d.ts +142 -0
- package/dist/editor-runtime/InteractiveTransformGizmo.d.ts.map +1 -0
- package/dist/editor-runtime/InteractiveTransformGizmo.js +468 -0
- package/dist/editor-runtime/InteractiveTransformGizmo.js.map +1 -0
- package/dist/editor-runtime/index.d.ts +2 -0
- package/dist/editor-runtime/index.d.ts.map +1 -1
- package/dist/editor-runtime/index.js +1 -0
- package/dist/editor-runtime/index.js.map +1 -1
- package/dist/engine/agent-api/CartoonAssetManifest.d.ts +50 -0
- package/dist/engine/agent-api/CartoonAssetManifest.d.ts.map +1 -0
- package/dist/engine/agent-api/CartoonAssetManifest.js +65 -0
- package/dist/engine/agent-api/CartoonAssetManifest.js.map +1 -0
- package/dist/engine/agent-api/CartoonDirector.d.ts +120 -0
- package/dist/engine/agent-api/CartoonDirector.d.ts.map +1 -0
- package/dist/engine/agent-api/CartoonDirector.js +432 -0
- package/dist/engine/agent-api/CartoonDirector.js.map +1 -0
- package/dist/engine/agent-api/CartoonEpisodePackage.d.ts +51 -0
- package/dist/engine/agent-api/CartoonEpisodePackage.d.ts.map +1 -0
- package/dist/engine/agent-api/CartoonEpisodePackage.js +79 -0
- package/dist/engine/agent-api/CartoonEpisodePackage.js.map +1 -0
- package/dist/engine/agent-api/CartoonMotionQuality.d.ts +83 -0
- package/dist/engine/agent-api/CartoonMotionQuality.d.ts.map +1 -0
- package/dist/engine/agent-api/CartoonMotionQuality.js +128 -0
- package/dist/engine/agent-api/CartoonMotionQuality.js.map +1 -0
- package/dist/engine/agent-api/CartoonPerformance.d.ts +150 -0
- package/dist/engine/agent-api/CartoonPerformance.d.ts.map +1 -0
- package/dist/engine/agent-api/CartoonPerformance.js +345 -0
- package/dist/engine/agent-api/CartoonPerformance.js.map +1 -0
- package/dist/engine/agent-api/CartoonRenderQueue.d.ts +143 -0
- package/dist/engine/agent-api/CartoonRenderQueue.d.ts.map +1 -0
- package/dist/engine/agent-api/CartoonRenderQueue.js +410 -0
- package/dist/engine/agent-api/CartoonRenderQueue.js.map +1 -0
- package/dist/engine/agent-api/CartoonRouteProof.d.ts +112 -0
- package/dist/engine/agent-api/CartoonRouteProof.d.ts.map +1 -0
- package/dist/engine/agent-api/CartoonRouteProof.js +127 -0
- package/dist/engine/agent-api/CartoonRouteProof.js.map +1 -0
- package/dist/engine/agent-api/GameEvidence.d.ts +1 -0
- package/dist/engine/agent-api/GameEvidence.d.ts.map +1 -1
- package/dist/engine/agent-api/GameEvidence.js +1 -0
- package/dist/engine/agent-api/GameEvidence.js.map +1 -1
- package/dist/engine/agent-api/GameGenreKits.d.ts +13 -0
- package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
- package/dist/engine/agent-api/GameGenreKits.js +57 -11
- package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
- package/dist/engine/agent-api/GameRuntime.d.ts +1 -0
- package/dist/engine/agent-api/GameRuntime.d.ts.map +1 -1
- package/dist/engine/agent-api/GameRuntime.js +1 -0
- package/dist/engine/agent-api/GameRuntime.js.map +1 -1
- package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts +12 -0
- package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts.map +1 -1
- package/dist/engine/agent-api/GameSceneGeometryBindings.js +2 -0
- package/dist/engine/agent-api/GameSceneGeometryBindings.js.map +1 -1
- package/dist/engine/agent-api/LayeredSceneComposition.d.ts +295 -0
- package/dist/engine/agent-api/LayeredSceneComposition.d.ts.map +1 -0
- package/dist/engine/agent-api/LayeredSceneComposition.js +387 -0
- package/dist/engine/agent-api/LayeredSceneComposition.js.map +1 -0
- package/dist/engine/agent-api/SceneGroundingUtils.d.ts +62 -0
- package/dist/engine/agent-api/SceneGroundingUtils.d.ts.map +1 -1
- package/dist/engine/agent-api/SceneGroundingUtils.js +37 -0
- package/dist/engine/agent-api/SceneGroundingUtils.js.map +1 -1
- package/dist/engine/agent-api/SubjectFramingUtils.d.ts +127 -0
- package/dist/engine/agent-api/SubjectFramingUtils.d.ts.map +1 -0
- package/dist/engine/agent-api/SubjectFramingUtils.js +126 -0
- package/dist/engine/agent-api/SubjectFramingUtils.js.map +1 -0
- package/dist/engine/agent-api/TouchControlBinding.d.ts +81 -0
- package/dist/engine/agent-api/TouchControlBinding.d.ts.map +1 -0
- package/dist/engine/agent-api/TouchControlBinding.js +116 -0
- package/dist/engine/agent-api/TouchControlBinding.js.map +1 -0
- package/dist/engine/agent-api/index.d.ts +39 -0
- package/dist/engine/agent-api/index.d.ts.map +1 -1
- package/dist/engine/agent-api/index.js +546 -74
- package/dist/engine/agent-api/index.js.map +1 -1
- package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
- package/dist/engine/production-runtime/GameRenderPreset.d.ts +32 -0
- package/dist/engine/production-runtime/GameRenderPreset.d.ts.map +1 -1
- package/dist/engine/production-runtime/GameRenderPreset.js +37 -2
- package/dist/engine/production-runtime/GameRenderPreset.js.map +1 -1
- package/dist/engine/production-runtime/TypedGLBActor.d.ts +8 -0
- package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
- package/dist/engine/production-runtime/TypedGLBActor.js +2 -1
- package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
- package/dist/input/controls/PointerLockControls.d.ts +1 -1
- package/dist/input/controls/PointerLockControls.d.ts.map +1 -1
- package/dist/input/controls/PointerLockControls.js +12 -0
- package/dist/input/controls/PointerLockControls.js.map +1 -1
- package/dist/physics/Collider.d.ts +1 -1
- package/dist/physics/Collider.d.ts.map +1 -1
- package/dist/physics/Collider.js +2 -2
- package/dist/physics/Collider.js.map +1 -1
- package/dist/physics/CollisionEvents.d.ts +1 -0
- package/dist/physics/CollisionEvents.d.ts.map +1 -1
- package/dist/physics/CollisionEvents.js.map +1 -1
- package/dist/physics/NarrowPhase.d.ts +11 -0
- package/dist/physics/NarrowPhase.d.ts.map +1 -0
- package/dist/physics/NarrowPhase.js +565 -0
- package/dist/physics/NarrowPhase.js.map +1 -0
- package/dist/physics/PhysicsDebugDraw.js +19 -1
- package/dist/physics/PhysicsDebugDraw.js.map +1 -1
- package/dist/physics/PhysicsWorld.d.ts +43 -0
- package/dist/physics/PhysicsWorld.d.ts.map +1 -1
- package/dist/physics/PhysicsWorld.js +305 -30
- package/dist/physics/PhysicsWorld.js.map +1 -1
- package/dist/physics/RigidBody.d.ts +8 -1
- package/dist/physics/RigidBody.d.ts.map +1 -1
- package/dist/physics/RigidBody.js +32 -5
- package/dist/physics/RigidBody.js.map +1 -1
- package/dist/physics/Shape.d.ts +16 -2
- package/dist/physics/Shape.d.ts.map +1 -1
- package/dist/physics/Shape.js +93 -31
- package/dist/physics/Shape.js.map +1 -1
- package/dist/physics/TimeOfImpact.d.ts +15 -0
- package/dist/physics/TimeOfImpact.d.ts.map +1 -0
- package/dist/physics/TimeOfImpact.js +81 -0
- package/dist/physics/TimeOfImpact.js.map +1 -0
- package/dist/physics/index.d.ts +2 -0
- package/dist/physics/index.d.ts.map +1 -1
- package/dist/physics/index.js +2 -0
- package/dist/physics/index.js.map +1 -1
- package/dist/rendering/CascadedShadowMaps.d.ts +9 -1
- package/dist/rendering/CascadedShadowMaps.d.ts.map +1 -1
- package/dist/rendering/CascadedShadowMaps.js +68 -0
- package/dist/rendering/CascadedShadowMaps.js.map +1 -1
- package/dist/rendering/ClusteredForwardLighting.d.ts +28 -0
- package/dist/rendering/ClusteredForwardLighting.d.ts.map +1 -0
- package/dist/rendering/ClusteredForwardLighting.js +156 -0
- package/dist/rendering/ClusteredForwardLighting.js.map +1 -0
- package/dist/rendering/DepthPass.d.ts +14 -1
- package/dist/rendering/DepthPass.d.ts.map +1 -1
- package/dist/rendering/DepthPass.js +19 -4
- package/dist/rendering/DepthPass.js.map +1 -1
- package/dist/rendering/EnvironmentMapResources.d.ts +59 -1
- package/dist/rendering/EnvironmentMapResources.d.ts.map +1 -1
- package/dist/rendering/EnvironmentMapResources.js +140 -100
- package/dist/rendering/EnvironmentMapResources.js.map +1 -1
- package/dist/rendering/EnvironmentPlatform.d.ts +3 -2
- package/dist/rendering/EnvironmentPlatform.d.ts.map +1 -1
- package/dist/rendering/EnvironmentPlatform.js +99 -44
- package/dist/rendering/EnvironmentPlatform.js.map +1 -1
- package/dist/rendering/ForwardPass.d.ts +37 -0
- package/dist/rendering/ForwardPass.d.ts.map +1 -1
- package/dist/rendering/ForwardPass.js +234 -7
- package/dist/rendering/ForwardPass.js.map +1 -1
- package/dist/rendering/Geometry.d.ts +19 -0
- package/dist/rendering/Geometry.d.ts.map +1 -1
- package/dist/rendering/Geometry.js +64 -0
- package/dist/rendering/Geometry.js.map +1 -1
- package/dist/rendering/IBL.d.ts.map +1 -1
- package/dist/rendering/IBL.js +0 -1
- package/dist/rendering/IBL.js.map +1 -1
- package/dist/rendering/LightCollector.d.ts +5 -1
- package/dist/rendering/LightCollector.d.ts.map +1 -1
- package/dist/rendering/LightCollector.js +16 -3
- package/dist/rendering/LightCollector.js.map +1 -1
- package/dist/rendering/LightUniforms.d.ts +26 -1
- package/dist/rendering/LightUniforms.d.ts.map +1 -1
- package/dist/rendering/LightUniforms.js +140 -8
- package/dist/rendering/LightUniforms.js.map +1 -1
- package/dist/rendering/LightingRig.d.ts +77 -0
- package/dist/rendering/LightingRig.d.ts.map +1 -1
- package/dist/rendering/LightingRig.js +100 -11
- package/dist/rendering/LightingRig.js.map +1 -1
- package/dist/rendering/MeshConsolidation.d.ts +63 -0
- package/dist/rendering/MeshConsolidation.d.ts.map +1 -0
- package/dist/rendering/MeshConsolidation.js +251 -0
- package/dist/rendering/MeshConsolidation.js.map +1 -0
- package/dist/rendering/PMREM.d.ts +13 -1
- package/dist/rendering/PMREM.d.ts.map +1 -1
- package/dist/rendering/PMREM.js +18 -4
- package/dist/rendering/PMREM.js.map +1 -1
- package/dist/rendering/PostProcessPass.d.ts +24 -2
- package/dist/rendering/PostProcessPass.d.ts.map +1 -1
- package/dist/rendering/PostProcessPass.js +136 -18
- package/dist/rendering/PostProcessPass.js.map +1 -1
- package/dist/rendering/PrimitiveSubmissionAudit.d.ts +195 -0
- package/dist/rendering/PrimitiveSubmissionAudit.d.ts.map +1 -0
- package/dist/rendering/PrimitiveSubmissionAudit.js +280 -0
- package/dist/rendering/PrimitiveSubmissionAudit.js.map +1 -0
- package/dist/rendering/ProductTurntableFixtures.d.ts.map +1 -1
- package/dist/rendering/ProductTurntableFixtures.js +93 -13
- package/dist/rendering/ProductTurntableFixtures.js.map +1 -1
- package/dist/rendering/ReflectionProbe.d.ts +59 -0
- package/dist/rendering/ReflectionProbe.d.ts.map +1 -1
- package/dist/rendering/ReflectionProbe.js +224 -0
- package/dist/rendering/ReflectionProbe.js.map +1 -1
- package/dist/rendering/ReflectionSurfaces.d.ts +4 -2
- package/dist/rendering/ReflectionSurfaces.d.ts.map +1 -1
- package/dist/rendering/ReflectionSurfaces.js +13 -8
- package/dist/rendering/ReflectionSurfaces.js.map +1 -1
- package/dist/rendering/RenderBackend.d.ts +1 -1
- package/dist/rendering/RenderBackend.d.ts.map +1 -1
- package/dist/rendering/RenderBackend.js +5 -1
- package/dist/rendering/RenderBackend.js.map +1 -1
- package/dist/rendering/RenderDevice.d.ts +13 -2
- package/dist/rendering/RenderDevice.d.ts.map +1 -1
- package/dist/rendering/RenderDevice.js +5 -2
- package/dist/rendering/RenderDevice.js.map +1 -1
- package/dist/rendering/Renderer.d.ts +41 -1
- package/dist/rendering/Renderer.d.ts.map +1 -1
- package/dist/rendering/Renderer.js +406 -61
- package/dist/rendering/Renderer.js.map +1 -1
- package/dist/rendering/RendererPostprocessPlan.d.ts +10 -3
- package/dist/rendering/RendererPostprocessPlan.d.ts.map +1 -1
- package/dist/rendering/RendererPostprocessPlan.js +25 -5
- package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
- package/dist/rendering/RendererVisualPipelineReport.d.ts +3 -2
- package/dist/rendering/RendererVisualPipelineReport.d.ts.map +1 -1
- package/dist/rendering/RendererVisualPipelineReport.js +2 -0
- package/dist/rendering/RendererVisualPipelineReport.js.map +1 -1
- package/dist/rendering/ScreenSpaceLineMaterial.d.ts +34 -0
- package/dist/rendering/ScreenSpaceLineMaterial.d.ts.map +1 -0
- package/dist/rendering/ScreenSpaceLineMaterial.js +93 -0
- package/dist/rendering/ScreenSpaceLineMaterial.js.map +1 -0
- package/dist/rendering/ShaderChunks.d.ts +7 -0
- package/dist/rendering/ShaderChunks.d.ts.map +1 -1
- package/dist/rendering/ShaderChunks.js +137 -0
- package/dist/rendering/ShaderChunks.js.map +1 -1
- package/dist/rendering/ShaderLibrary.d.ts +17 -0
- package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
- package/dist/rendering/ShaderLibrary.js +940 -98
- package/dist/rendering/ShaderLibrary.js.map +1 -1
- package/dist/rendering/ShadowPass.d.ts +10 -0
- package/dist/rendering/ShadowPass.d.ts.map +1 -1
- package/dist/rendering/ShadowPass.js +8 -1
- package/dist/rendering/ShadowPass.js.map +1 -1
- package/dist/rendering/SkinnedLitMaterial.d.ts +6 -0
- package/dist/rendering/SkinnedLitMaterial.d.ts.map +1 -1
- package/dist/rendering/SkinnedLitMaterial.js +22 -8
- package/dist/rendering/SkinnedLitMaterial.js.map +1 -1
- package/dist/rendering/SkinnedUnlitMaterial.d.ts +8 -0
- package/dist/rendering/SkinnedUnlitMaterial.d.ts.map +1 -1
- package/dist/rendering/SkinnedUnlitMaterial.js +26 -9
- package/dist/rendering/SkinnedUnlitMaterial.js.map +1 -1
- package/dist/rendering/SpecularPrefilter.d.ts +42 -0
- package/dist/rendering/SpecularPrefilter.d.ts.map +1 -0
- package/dist/rendering/SpecularPrefilter.js +480 -0
- package/dist/rendering/SpecularPrefilter.js.map +1 -0
- package/dist/rendering/TerrainFixtures.d.ts +24 -0
- package/dist/rendering/TerrainFixtures.d.ts.map +1 -1
- package/dist/rendering/TerrainFixtures.js +96 -0
- package/dist/rendering/TerrainFixtures.js.map +1 -1
- package/dist/rendering/Texture.d.ts +7 -0
- package/dist/rendering/Texture.d.ts.map +1 -1
- package/dist/rendering/Texture.js +9 -0
- package/dist/rendering/Texture.js.map +1 -1
- package/dist/rendering/VertexFormat.d.ts +34 -1
- package/dist/rendering/VertexFormat.d.ts.map +1 -1
- package/dist/rendering/VertexFormat.js +61 -0
- package/dist/rendering/VertexFormat.js.map +1 -1
- package/dist/rendering/WebGL2Device.d.ts +48 -0
- package/dist/rendering/WebGL2Device.d.ts.map +1 -1
- package/dist/rendering/WebGL2Device.js +1298 -44
- package/dist/rendering/WebGL2Device.js.map +1 -1
- package/dist/rendering/WebGPUDevice.d.ts +7 -2
- package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
- package/dist/rendering/WebGPUDevice.js +111 -17
- package/dist/rendering/WebGPUDevice.js.map +1 -1
- package/dist/rendering/WebGPUSkinningLimits.d.ts +14 -0
- package/dist/rendering/WebGPUSkinningLimits.d.ts.map +1 -0
- package/dist/rendering/WebGPUSkinningLimits.js +14 -0
- package/dist/rendering/WebGPUSkinningLimits.js.map +1 -0
- package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts +19 -0
- package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts.map +1 -0
- package/dist/rendering/cartoon/CartoonMaterialStyle.js +13 -0
- package/dist/rendering/cartoon/CartoonMaterialStyle.js.map +1 -0
- package/dist/rendering/cartoon/CartoonRenderPreset.d.ts +36 -0
- package/dist/rendering/cartoon/CartoonRenderPreset.d.ts.map +1 -0
- package/dist/rendering/cartoon/CartoonRenderPreset.js +23 -0
- package/dist/rendering/cartoon/CartoonRenderPreset.js.map +1 -0
- package/dist/rendering/cartoon/CartoonToonMaterial.d.ts +130 -0
- package/dist/rendering/cartoon/CartoonToonMaterial.d.ts.map +1 -0
- package/dist/rendering/cartoon/CartoonToonMaterial.js +303 -0
- package/dist/rendering/cartoon/CartoonToonMaterial.js.map +1 -0
- package/dist/rendering/cartoon/CartoonVisualQuality.d.ts +28 -0
- package/dist/rendering/cartoon/CartoonVisualQuality.d.ts.map +1 -0
- package/dist/rendering/cartoon/CartoonVisualQuality.js +39 -0
- package/dist/rendering/cartoon/CartoonVisualQuality.js.map +1 -0
- package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts +79 -0
- package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts.map +1 -0
- package/dist/rendering/cartoon/applyCartoonRenderPreset.js +88 -0
- package/dist/rendering/cartoon/applyCartoonRenderPreset.js.map +1 -0
- package/dist/rendering/cartoon/index.d.ts +6 -0
- package/dist/rendering/cartoon/index.d.ts.map +1 -0
- package/dist/rendering/cartoon/index.js +6 -0
- package/dist/rendering/cartoon/index.js.map +1 -0
- package/dist/rendering/index.d.ts +26 -15
- package/dist/rendering/index.d.ts.map +1 -1
- package/dist/rendering/index.js +15 -9
- package/dist/rendering/index.js.map +1 -1
- package/dist/rendering/postprocess/NativeLdrEffectLuts.d.ts +93 -0
- package/dist/rendering/postprocess/NativeLdrEffectLuts.d.ts.map +1 -0
- package/dist/rendering/postprocess/NativeLdrEffectLuts.js +202 -0
- package/dist/rendering/postprocess/NativeLdrEffectLuts.js.map +1 -0
- package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts.map +1 -1
- package/dist/rendering/production-runtime/PBRHDRPipeline.js +3 -0
- package/dist/rendering/production-runtime/PBRHDRPipeline.js.map +1 -1
- package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts +1 -0
- package/dist/rendering/production-runtime/ProductionRendererTypes.d.ts.map +1 -1
- package/dist/rendering/production-runtime/ProductionRendererTypes.js.map +1 -1
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts.map +1 -1
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js +5 -3
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js.map +1 -1
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.js +9 -5
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.js.map +1 -1
- package/dist/rendering/production-runtime/TransmissionBackdropCapture.d.ts +5 -0
- package/dist/rendering/production-runtime/TransmissionBackdropCapture.d.ts.map +1 -1
- package/dist/rendering/production-runtime/TransmissionBackdropCapture.js +40 -0
- package/dist/rendering/production-runtime/TransmissionBackdropCapture.js.map +1 -1
- package/dist/rendering/production-runtime/environment/HDRLoader.d.ts +6 -0
- package/dist/rendering/production-runtime/environment/HDRLoader.d.ts.map +1 -1
- package/dist/rendering/production-runtime/environment/HDRLoader.js +19 -0
- package/dist/rendering/production-runtime/environment/HDRLoader.js.map +1 -1
- package/dist/rendering/production-runtime/index.d.ts +3 -1
- package/dist/rendering/production-runtime/index.d.ts.map +1 -1
- package/dist/rendering/production-runtime/index.js +1 -0
- package/dist/rendering/production-runtime/index.js.map +1 -1
- package/dist/scene/Light.d.ts +1 -1
- package/dist/scene/Light.d.ts.map +1 -1
- package/dist/scene/RectAreaLight.d.ts +22 -0
- package/dist/scene/RectAreaLight.d.ts.map +1 -0
- package/dist/scene/RectAreaLight.js +46 -0
- package/dist/scene/RectAreaLight.js.map +1 -0
- package/dist/scene/Scene.d.ts +6 -1
- package/dist/scene/Scene.d.ts.map +1 -1
- package/dist/scene/Scene.js +8 -1
- package/dist/scene/Scene.js.map +1 -1
- package/dist/scene/SceneSerializer.d.ts +3 -1
- package/dist/scene/SceneSerializer.d.ts.map +1 -1
- package/dist/scene/SceneSerializer.js +14 -7
- package/dist/scene/SceneSerializer.js.map +1 -1
- package/dist/scene/index.d.ts +1 -0
- package/dist/scene/index.d.ts.map +1 -1
- package/dist/scene/index.js +1 -0
- package/dist/scene/index.js.map +1 -1
- package/dist/scripting/CartoonNodeCategories.d.ts +3 -0
- package/dist/scripting/CartoonNodeCategories.d.ts.map +1 -0
- package/dist/scripting/CartoonNodeCategories.js +9 -0
- package/dist/scripting/CartoonNodeCategories.js.map +1 -0
- package/dist/scripting/CartoonVisualNodes.d.ts +3 -0
- package/dist/scripting/CartoonVisualNodes.d.ts.map +1 -0
- package/dist/scripting/CartoonVisualNodes.js +41 -0
- package/dist/scripting/CartoonVisualNodes.js.map +1 -0
- package/package.json +124 -113
- package/templates/cinematic-scene/package.json +1 -1
- package/templates/mini-game/package.json +1 -1
- package/templates/product-viewer/package.json +1 -1
- package/templates/production-asset-inspector/README.md +5 -0
- package/templates/production-asset-inspector/asset-manifest.json +9 -0
- package/templates/production-asset-inspector/index.html +2 -0
- package/templates/production-asset-inspector/package.json +17 -0
- package/templates/production-asset-inspector/src/main.ts +16 -0
- package/templates/production-material-studio/README.md +5 -0
- package/templates/production-material-studio/asset-manifest.json +9 -0
- package/templates/production-material-studio/index.html +2 -0
- package/templates/production-material-studio/package.json +17 -0
- package/templates/production-material-studio/src/main.ts +16 -0
- package/templates/production-product-configurator/README.md +5 -0
- package/templates/production-product-configurator/asset-manifest.json +9 -0
- package/templates/production-product-configurator/index.html +2 -0
- package/templates/production-product-configurator/package.json +17 -0
- package/templates/production-product-configurator/src/main.ts +16 -0
- package/templates/production-product-viewer/README.md +7 -0
- package/templates/production-product-viewer/asset-manifest.json +8 -0
- package/templates/production-product-viewer/index.html +26 -0
- package/templates/production-product-viewer/package.json +17 -0
- package/templates/production-product-viewer/src/main.ts +70 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentPlatform.js","sourceRoot":"","sources":["../../../../packages/rendering/src/EnvironmentPlatform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EnvironmentPlatform.js","sourceRoot":"","sources":["../../../../packages/rendering/src/EnvironmentPlatform.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,7 +39,33 @@ export type RenderMaterial = Material | MaterialInstance;
|
|
|
39
39
|
export interface SkinningPaletteBinding {
|
|
40
40
|
readonly jointCount: number;
|
|
41
41
|
readonly matrices: Float32Array;
|
|
42
|
+
/**
|
|
43
|
+
* Second influence set for eight-influence skinning. Only meaningful when the
|
|
44
|
+
* geometry carries `joints1`/`weights1` attributes and the material uses an
|
|
45
|
+
* eight-influence shader.
|
|
46
|
+
*/
|
|
47
|
+
readonly extraInfluences?: boolean;
|
|
42
48
|
}
|
|
49
|
+
/** Which GPU path carried the joint palette for a submission. */
|
|
50
|
+
export type SkinningPalettePath = "uniform-array" | "data-texture";
|
|
51
|
+
export interface SkinningPaletteDiagnostics {
|
|
52
|
+
readonly submissions: number;
|
|
53
|
+
readonly jointsUploaded: number;
|
|
54
|
+
readonly maxJointCount: number;
|
|
55
|
+
readonly uniformArraySubmissions: number;
|
|
56
|
+
readonly dataTextureSubmissions: number;
|
|
57
|
+
readonly eightInfluenceSubmissions: number;
|
|
58
|
+
readonly maxUniformJoints: number;
|
|
59
|
+
}
|
|
60
|
+
/** Joints addressable through the uniform-array palette. Re-exported for shaders. */
|
|
61
|
+
export declare const MAX_UNIFORM_SKINNING_JOINTS = 96;
|
|
62
|
+
/**
|
|
63
|
+
* Upper bound on joints per skin, using the data-texture palette path.
|
|
64
|
+
*
|
|
65
|
+
* Chosen to stay well inside a 1024-wide RGBA32F texture (1024 joints = 4096 texels =
|
|
66
|
+
* a 1024x4 texture) while covering rigs far beyond anything the uniform path allows.
|
|
67
|
+
*/
|
|
68
|
+
export declare const MAX_SKINNING_JOINTS = 1024;
|
|
43
69
|
export declare const MAX_GPU_MORPH_VERTICES = 64;
|
|
44
70
|
export declare const MAX_GPU_MORPH_TARGETS = 4;
|
|
45
71
|
export declare const MAX_GPU_INSTANCES = 64;
|
|
@@ -51,6 +77,8 @@ export interface ForwardPassOptions {
|
|
|
51
77
|
readonly inputColorResource?: string;
|
|
52
78
|
readonly shadowMap?: ForwardShadowMapOptions;
|
|
53
79
|
readonly cameraPosition?: readonly [number, number, number];
|
|
80
|
+
readonly cameraViewMatrix?: Float32Array | readonly number[];
|
|
81
|
+
readonly cameraViewProjectionMatrix?: Float32Array | readonly number[];
|
|
54
82
|
readonly outputColorSpace?: "linear" | "srgb";
|
|
55
83
|
readonly shaderLibrary?: ShaderLibrary;
|
|
56
84
|
}
|
|
@@ -95,6 +123,13 @@ export interface ForwardShadowMapOptions {
|
|
|
95
123
|
readonly texelSize?: readonly [number, number];
|
|
96
124
|
readonly filterKernel?: ShadowFilterKernel;
|
|
97
125
|
readonly pointLight?: ForwardPointShadowMapOptions;
|
|
126
|
+
readonly cascades?: readonly ForwardShadowCascadeOptions[];
|
|
127
|
+
}
|
|
128
|
+
export interface ForwardShadowCascadeOptions {
|
|
129
|
+
readonly index: number;
|
|
130
|
+
readonly near: number;
|
|
131
|
+
readonly far: number;
|
|
132
|
+
readonly shadowMap: Omit<ForwardShadowMapOptions, "cascades">;
|
|
98
133
|
}
|
|
99
134
|
export interface ForwardPointShadowMapOptions {
|
|
100
135
|
readonly texture: TextureBinding;
|
|
@@ -114,10 +149,12 @@ export declare class ForwardPass extends BaseRenderPass {
|
|
|
114
149
|
private readonly materialBinding;
|
|
115
150
|
private readonly shaderLibrary;
|
|
116
151
|
private readonly skinningPaletteUploads;
|
|
152
|
+
private clusteredLighting;
|
|
117
153
|
constructor(options: ForwardPassOptions);
|
|
118
154
|
execute(context: RenderPassContext): void;
|
|
119
155
|
private drawItem;
|
|
120
156
|
private applyLightUniforms;
|
|
121
157
|
private getShader;
|
|
122
158
|
}
|
|
159
|
+
export declare function selectForwardShadowMap(shadowMap: ForwardShadowMapOptions | undefined, item: RenderItem, cameraViewMatrix?: Float32Array | readonly number[], cameraPosition?: readonly [number, number, number]): ForwardShadowMapOptions | undefined;
|
|
123
160
|
//# sourceMappingURL=ForwardPass.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForwardPass.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/ForwardPass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ForwardPass.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/ForwardPass.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,26 @@ import { applyMorphTargets } from "./MorphTarget.js";
|
|
|
8
8
|
import { RenderDeviceError } from "./RenderDevice.js";
|
|
9
9
|
import { RenderPipeline } from "./RenderPipeline.js";
|
|
10
10
|
import { BaseRenderPass } from "./RenderPass.js";
|
|
11
|
+
import { MAX_UNIFORM_SKINNING_JOINTS as SHADER_MAX_UNIFORM_SKINNING_JOINTS } from "./ShaderChunks.js";
|
|
11
12
|
import { ShaderModule } from "./ShaderModule.js";
|
|
12
13
|
import { createDefaultShaderLibrary } from "./ShaderLibrary.js";
|
|
13
14
|
import { createShadowFilterKernel } from "./ShadowMap.js";
|
|
15
|
+
import { Sampler } from "./Sampler.js";
|
|
16
|
+
import { Texture } from "./Texture.js";
|
|
14
17
|
import { TextureBinding } from "./TextureBinding.js";
|
|
15
18
|
import { UnlitMaterial } from "./UnlitMaterial.js";
|
|
16
19
|
import { sortRenderQueueItems } from "./performance/RenderItemSorting.js";
|
|
20
|
+
import { createClusteredForwardLighting } from "./ClusteredForwardLighting.js";
|
|
21
|
+
/** Joints addressable through the uniform-array palette. Re-exported for shaders. */
|
|
22
|
+
export const MAX_UNIFORM_SKINNING_JOINTS = SHADER_MAX_UNIFORM_SKINNING_JOINTS;
|
|
23
|
+
/**
|
|
24
|
+
* Upper bound on joints per skin, using the data-texture palette path.
|
|
25
|
+
*
|
|
26
|
+
* Chosen to stay well inside a 1024-wide RGBA32F texture (1024 joints = 4096 texels =
|
|
27
|
+
* a 1024x4 texture) while covering rigs far beyond anything the uniform path allows.
|
|
28
|
+
*/
|
|
29
|
+
export const MAX_SKINNING_JOINTS = 1024;
|
|
30
|
+
const SKINNING_PALETTE_TEXTURE_MAX_WIDTH = 1024;
|
|
17
31
|
export const MAX_GPU_MORPH_VERTICES = 64;
|
|
18
32
|
export const MAX_GPU_MORPH_TARGETS = 4;
|
|
19
33
|
export const MAX_GPU_INSTANCES = 64;
|
|
@@ -31,6 +45,7 @@ export class ForwardPass extends BaseRenderPass {
|
|
|
31
45
|
materialBinding = new MaterialBinding();
|
|
32
46
|
shaderLibrary;
|
|
33
47
|
skinningPaletteUploads = new SkinningPaletteUploadManager();
|
|
48
|
+
clusteredLighting = null;
|
|
34
49
|
constructor(options) {
|
|
35
50
|
super("forward", options.inputColorResource ? [options.inputColorResource] : [], ["color"]);
|
|
36
51
|
this.options = options;
|
|
@@ -38,8 +53,17 @@ export class ForwardPass extends BaseRenderPass {
|
|
|
38
53
|
}
|
|
39
54
|
execute(context) {
|
|
40
55
|
this.skinningPaletteUploads.beginFrame();
|
|
41
|
-
|
|
42
|
-
this.
|
|
56
|
+
this.clusteredLighting = (this.options.lights?.length ?? 0) > 16
|
|
57
|
+
? createClusteredForwardLighting(this.options.lights ?? [], context.width, context.height, this.options.cameraViewProjectionMatrix)
|
|
58
|
+
: null;
|
|
59
|
+
try {
|
|
60
|
+
for (const item of sortForwardRenderItems(this.options.items, this.options.cameraPosition)) {
|
|
61
|
+
this.drawItem(context.device, item);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
this.clusteredLighting?.dispose();
|
|
66
|
+
this.clusteredLighting = null;
|
|
43
67
|
}
|
|
44
68
|
}
|
|
45
69
|
drawItem(device, item) {
|
|
@@ -67,9 +91,10 @@ export class ForwardPass extends BaseRenderPass {
|
|
|
67
91
|
}
|
|
68
92
|
const binding = this.materialBinding.bind(material, shader);
|
|
69
93
|
const uniforms = new Map(binding.uniforms);
|
|
94
|
+
applyClusteredLightingUniforms(this.clusteredLighting, shader, uniforms);
|
|
70
95
|
applyEnvironmentLightingUniforms(this.options.environmentLighting, item, shader, uniforms);
|
|
71
96
|
applyEnvironmentFogUniforms(this.options.environmentFog, item, shader, uniforms);
|
|
72
|
-
applyForwardShadowMapUniforms(this.options.shadowMap, item, shader, uniforms);
|
|
97
|
+
applyForwardShadowMapUniforms(selectForwardShadowMap(this.options.shadowMap, item, this.options.cameraViewMatrix, this.options.cameraPosition), item, shader, uniforms);
|
|
73
98
|
applyOutputColorSpaceUniform(this.options.outputColorSpace ?? "srgb", item, shader, uniforms);
|
|
74
99
|
applyCameraUniforms(this.options.cameraPosition, item, shader, uniforms);
|
|
75
100
|
applyAlphaCutoffUniform(item, shader, uniforms);
|
|
@@ -153,13 +178,42 @@ class SkinningPaletteUploadManager {
|
|
|
153
178
|
submissions = 0;
|
|
154
179
|
jointsUploaded = 0;
|
|
155
180
|
maxJointCount = 0;
|
|
181
|
+
uniformArraySubmissions = 0;
|
|
182
|
+
dataTextureSubmissions = 0;
|
|
183
|
+
eightInfluenceSubmissions = 0;
|
|
156
184
|
beginFrame() {
|
|
157
185
|
this.submissions = 0;
|
|
158
186
|
this.jointsUploaded = 0;
|
|
159
187
|
this.maxJointCount = 0;
|
|
188
|
+
this.uniformArraySubmissions = 0;
|
|
189
|
+
this.dataTextureSubmissions = 0;
|
|
190
|
+
this.eightInfluenceSubmissions = 0;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Which palette paths this frame actually used. Published rather than inferred so a
|
|
194
|
+
* claim about data-texture or eight-influence skinning rests on observed submissions.
|
|
195
|
+
*/
|
|
196
|
+
diagnostics() {
|
|
197
|
+
return {
|
|
198
|
+
submissions: this.submissions,
|
|
199
|
+
jointsUploaded: this.jointsUploaded,
|
|
200
|
+
maxJointCount: this.maxJointCount,
|
|
201
|
+
uniformArraySubmissions: this.uniformArraySubmissions,
|
|
202
|
+
dataTextureSubmissions: this.dataTextureSubmissions,
|
|
203
|
+
eightInfluenceSubmissions: this.eightInfluenceSubmissions,
|
|
204
|
+
maxUniformJoints: MAX_UNIFORM_SKINNING_JOINTS
|
|
205
|
+
};
|
|
160
206
|
}
|
|
161
207
|
bind(item, skinning, material, shader, uniforms) {
|
|
162
|
-
applySkinningUniforms(skinning, material, shader, uniforms);
|
|
208
|
+
const path = applySkinningUniforms(skinning, material, shader, uniforms);
|
|
209
|
+
if (path === "data-texture")
|
|
210
|
+
this.dataTextureSubmissions += 1;
|
|
211
|
+
else
|
|
212
|
+
this.uniformArraySubmissions += 1;
|
|
213
|
+
const eightInfluence = item.geometry.vertexBuffer.format.hasAttribute("joints1")
|
|
214
|
+
&& item.geometry.vertexBuffer.format.hasAttribute("weights1");
|
|
215
|
+
if (eightInfluence)
|
|
216
|
+
this.eightInfluenceSubmissions += 1;
|
|
163
217
|
const validatedJointCounts = SkinningPaletteUploadManager.validatedGeometryJointCounts.get(item.geometry) ?? new Set();
|
|
164
218
|
if (!validatedJointCounts.has(skinning.jointCount)) {
|
|
165
219
|
validateSkinningGeometryContract(item, skinning);
|
|
@@ -457,6 +511,37 @@ function invertMat4(matrix) {
|
|
|
457
511
|
(a20 * b03 - a21 * b01 + a22 * b00) * invDet
|
|
458
512
|
];
|
|
459
513
|
}
|
|
514
|
+
export function selectForwardShadowMap(shadowMap, item, cameraViewMatrix, cameraPosition) {
|
|
515
|
+
const cascades = shadowMap?.cascades;
|
|
516
|
+
if (!shadowMap || !cascades || cascades.length === 0)
|
|
517
|
+
return shadowMap;
|
|
518
|
+
const center = renderItemWorldCenter(item);
|
|
519
|
+
const depth = cameraViewMatrix && cameraViewMatrix.length >= 16
|
|
520
|
+
? Math.max(0, -(cameraViewMatrix[2] * center[0]
|
|
521
|
+
+ cameraViewMatrix[6] * center[1]
|
|
522
|
+
+ cameraViewMatrix[10] * center[2]
|
|
523
|
+
+ cameraViewMatrix[14]))
|
|
524
|
+
: cameraPosition
|
|
525
|
+
? Math.hypot(center[0] - cameraPosition[0], center[1] - cameraPosition[1], center[2] - cameraPosition[2])
|
|
526
|
+
: cascades[0].near;
|
|
527
|
+
const selected = cascades.find((cascade) => depth <= cascade.far) ?? cascades[cascades.length - 1];
|
|
528
|
+
return selected.shadowMap;
|
|
529
|
+
}
|
|
530
|
+
function renderItemWorldCenter(item) {
|
|
531
|
+
const local = item.boundingBoxCenter ?? [
|
|
532
|
+
(item.geometry.bounds.min[0] + item.geometry.bounds.max[0]) / 2,
|
|
533
|
+
(item.geometry.bounds.min[1] + item.geometry.bounds.max[1]) / 2,
|
|
534
|
+
(item.geometry.bounds.min[2] + item.geometry.bounds.max[2]) / 2
|
|
535
|
+
];
|
|
536
|
+
const matrix = item.modelMatrix;
|
|
537
|
+
if (!matrix || matrix.length < 16)
|
|
538
|
+
return local;
|
|
539
|
+
return [
|
|
540
|
+
matrix[0] * local[0] + matrix[4] * local[1] + matrix[8] * local[2] + matrix[12],
|
|
541
|
+
matrix[1] * local[0] + matrix[5] * local[1] + matrix[9] * local[2] + matrix[13],
|
|
542
|
+
matrix[2] * local[0] + matrix[6] * local[1] + matrix[10] * local[2] + matrix[14]
|
|
543
|
+
];
|
|
544
|
+
}
|
|
460
545
|
function applyForwardShadowMapUniforms(shadowMap, item, shader, uniforms) {
|
|
461
546
|
const requiredUniforms = [
|
|
462
547
|
"u_shadowMapTexture",
|
|
@@ -535,6 +620,33 @@ function applyForwardShadowMapUniforms(shadowMap, item, shader, uniforms) {
|
|
|
535
620
|
uniforms.set("u_shadowPcfSampleCount", filterKernel.samples.length);
|
|
536
621
|
uniforms.set("u_shadowPcfSamples", pcfSamples);
|
|
537
622
|
}
|
|
623
|
+
function applyClusteredLightingUniforms(clustered, shader, uniforms) {
|
|
624
|
+
const required = [
|
|
625
|
+
"u_clusteredLightEnabled",
|
|
626
|
+
"u_clusterGridSize",
|
|
627
|
+
"u_clusterViewportSize",
|
|
628
|
+
"u_clusterLightData",
|
|
629
|
+
"u_clusterLightIndices"
|
|
630
|
+
];
|
|
631
|
+
if (!required.every((name) => shader.reflection.uniforms.has(name)))
|
|
632
|
+
return;
|
|
633
|
+
if (!clustered) {
|
|
634
|
+
uniforms.set("u_clusteredLightEnabled", 0);
|
|
635
|
+
uniforms.set("u_clusterGridSize", [1, 1]);
|
|
636
|
+
uniforms.set("u_clusterViewportSize", [1, 1]);
|
|
637
|
+
uniforms.set("u_clusterLightData", new TextureBinding({ name: "u_clusterLightData", required: false }));
|
|
638
|
+
uniforms.set("u_clusterLightIndices", new TextureBinding({ name: "u_clusterLightIndices", required: false }));
|
|
639
|
+
return;
|
|
640
|
+
}
|
|
641
|
+
uniforms.set("u_clusteredLightEnabled", 1);
|
|
642
|
+
uniforms.set("u_clusterGridSize", [clustered.diagnostics.gridWidth, clustered.diagnostics.gridHeight]);
|
|
643
|
+
uniforms.set("u_clusterViewportSize", [
|
|
644
|
+
clustered.diagnostics.viewportWidth,
|
|
645
|
+
clustered.diagnostics.viewportHeight
|
|
646
|
+
]);
|
|
647
|
+
uniforms.set("u_clusterLightData", clustered.lightData);
|
|
648
|
+
uniforms.set("u_clusterLightIndices", clustered.lightIndices);
|
|
649
|
+
}
|
|
538
650
|
function applyForwardPointShadowMapUniforms(pointShadowMap, item, shader, uniforms) {
|
|
539
651
|
const requiredUniforms = [
|
|
540
652
|
"u_pointShadowMapTexture",
|
|
@@ -1242,9 +1354,11 @@ function applySkinningUniforms(skinning, material, shader, uniforms) {
|
|
|
1242
1354
|
material: material.name
|
|
1243
1355
|
});
|
|
1244
1356
|
}
|
|
1245
|
-
if (!Number.isInteger(skinning.jointCount) || skinning.jointCount <= 0 || skinning.jointCount >
|
|
1246
|
-
throw new RenderDeviceError(
|
|
1247
|
-
jointCount: skinning.jointCount
|
|
1357
|
+
if (!Number.isInteger(skinning.jointCount) || skinning.jointCount <= 0 || skinning.jointCount > MAX_SKINNING_JOINTS) {
|
|
1358
|
+
throw new RenderDeviceError(`Skinning jointCount must be an integer in [1, ${MAX_SKINNING_JOINTS}]`, "INVALID_SKINNING_PALETTE", {
|
|
1359
|
+
jointCount: skinning.jointCount,
|
|
1360
|
+
maxUniformJoints: MAX_UNIFORM_SKINNING_JOINTS,
|
|
1361
|
+
maxJoints: MAX_SKINNING_JOINTS
|
|
1248
1362
|
});
|
|
1249
1363
|
}
|
|
1250
1364
|
if (skinning.matrices.length !== skinning.jointCount * 16) {
|
|
@@ -1259,7 +1373,68 @@ function applySkinningUniforms(skinning, material, shader, uniforms) {
|
|
|
1259
1373
|
});
|
|
1260
1374
|
}
|
|
1261
1375
|
uniforms.set("u_jointCount", skinning.jointCount);
|
|
1376
|
+
// Over the uniform-array limit the palette travels as an RGBA32F data texture, four
|
|
1377
|
+
// texels per matrix. A mat4 uniform costs four vec4 slots, so a uniform array cannot
|
|
1378
|
+
// be grown far enough for large rigs without exhausting MAX_VERTEX_UNIFORM_VECTORS.
|
|
1379
|
+
const path = skinning.jointCount > MAX_UNIFORM_SKINNING_JOINTS ? "data-texture" : "uniform-array";
|
|
1380
|
+
if (path === "data-texture") {
|
|
1381
|
+
if (!shader.reflection.uniforms.has("u_jointPaletteTexture") || !shader.reflection.uniforms.has("u_jointPaletteMode")) {
|
|
1382
|
+
throw new RenderDeviceError(`Skinning palettes above ${MAX_UNIFORM_SKINNING_JOINTS} joints require a shader with data-texture palette uniforms`, "SKINNING_SHADER_CONTRACT", { material: material.name, jointCount: skinning.jointCount });
|
|
1383
|
+
}
|
|
1384
|
+
const texture = createSkinningPaletteTexture(skinning, material.name);
|
|
1385
|
+
uniforms.set("u_jointPaletteMode", 1);
|
|
1386
|
+
uniforms.set("u_jointPaletteTexture", new TextureBinding({
|
|
1387
|
+
name: "u_jointPaletteTexture",
|
|
1388
|
+
texture,
|
|
1389
|
+
sampler: new Sampler({ minFilter: "nearest", magFilter: "nearest", addressU: "clamp-to-edge", addressV: "clamp-to-edge" }),
|
|
1390
|
+
required: true
|
|
1391
|
+
}));
|
|
1392
|
+
uniforms.set("u_jointPaletteTextureSize", [texture.width, texture.height]);
|
|
1393
|
+
// The uniform array is still declared by the shader, so give it a valid value.
|
|
1394
|
+
uniforms.set("u_jointMatrices", new Float32Array(MAX_UNIFORM_SKINNING_JOINTS * 16));
|
|
1395
|
+
return path;
|
|
1396
|
+
}
|
|
1397
|
+
if (shader.reflection.uniforms.has("u_jointPaletteMode")) {
|
|
1398
|
+
uniforms.set("u_jointPaletteMode", 0);
|
|
1399
|
+
if (shader.reflection.uniforms.has("u_jointPaletteTextureSize"))
|
|
1400
|
+
uniforms.set("u_jointPaletteTextureSize", [1, 1]);
|
|
1401
|
+
if (shader.reflection.uniforms.has("u_jointPaletteTexture")) {
|
|
1402
|
+
uniforms.set("u_jointPaletteTexture", new TextureBinding({ name: "u_jointPaletteTexture", required: false }));
|
|
1403
|
+
}
|
|
1404
|
+
}
|
|
1262
1405
|
uniforms.set("u_jointMatrices", skinning.matrices);
|
|
1406
|
+
return path;
|
|
1407
|
+
}
|
|
1408
|
+
/**
|
|
1409
|
+
* Packs a joint palette into an RGBA32F texture, one texel per matrix column.
|
|
1410
|
+
*
|
|
1411
|
+
* Width is a multiple of four so no matrix straddles a row boundary, which keeps the
|
|
1412
|
+
* shader's texel addressing a simple divide and avoids per-column row recomputation.
|
|
1413
|
+
*/
|
|
1414
|
+
function createSkinningPaletteTexture(skinning, materialName) {
|
|
1415
|
+
const texelsPerMatrix = 4;
|
|
1416
|
+
const totalTexels = skinning.jointCount * texelsPerMatrix;
|
|
1417
|
+
const width = Math.min(SKINNING_PALETTE_TEXTURE_MAX_WIDTH, Math.max(texelsPerMatrix, ceilToMultiple(Math.ceil(Math.sqrt(totalTexels)), texelsPerMatrix)));
|
|
1418
|
+
const height = Math.ceil(totalTexels / width);
|
|
1419
|
+
const data = new Float32Array(width * height * 4);
|
|
1420
|
+
data.set(skinning.matrices.subarray(0, Math.min(skinning.matrices.length, data.length)));
|
|
1421
|
+
if (skinning.matrices.length > data.length) {
|
|
1422
|
+
throw new RenderDeviceError("Skinning palette does not fit the data texture", "INVALID_SKINNING_PALETTE", {
|
|
1423
|
+
material: materialName,
|
|
1424
|
+
jointCount: skinning.jointCount
|
|
1425
|
+
});
|
|
1426
|
+
}
|
|
1427
|
+
return new Texture({
|
|
1428
|
+
width,
|
|
1429
|
+
height,
|
|
1430
|
+
format: "rgba32f",
|
|
1431
|
+
colorSpace: "linear",
|
|
1432
|
+
label: `aura3d-skinning-palette-${skinning.jointCount}-joints`,
|
|
1433
|
+
data
|
|
1434
|
+
});
|
|
1435
|
+
}
|
|
1436
|
+
function ceilToMultiple(value, multiple) {
|
|
1437
|
+
return Math.ceil(value / multiple) * multiple;
|
|
1263
1438
|
}
|
|
1264
1439
|
function validateSkinningGeometryContract(item, skinning) {
|
|
1265
1440
|
const format = item.geometry.vertexBuffer.format;
|
|
@@ -1284,10 +1459,62 @@ function validateSkinningGeometryContract(item, skinning) {
|
|
|
1284
1459
|
weightComponents: weightsAttribute.components
|
|
1285
1460
|
});
|
|
1286
1461
|
}
|
|
1462
|
+
// Eight-influence geometry must supply both halves of the second set, and both must
|
|
1463
|
+
// be vec4. A half-declared second set would silently drop influences at draw time.
|
|
1464
|
+
const hasJoints1 = format.hasAttribute("joints1");
|
|
1465
|
+
const hasWeights1 = format.hasAttribute("weights1");
|
|
1466
|
+
if (hasJoints1 !== hasWeights1) {
|
|
1467
|
+
throw new RenderDeviceError("Eight-influence skinned geometry must declare both joints1 and weights1", "SKINNING_GEOMETRY_CONTRACT", {
|
|
1468
|
+
label: item.label,
|
|
1469
|
+
hasJoints1,
|
|
1470
|
+
hasWeights1
|
|
1471
|
+
});
|
|
1472
|
+
}
|
|
1473
|
+
const eightInfluence = hasJoints1 && hasWeights1;
|
|
1474
|
+
if (eightInfluence) {
|
|
1475
|
+
const joints1Attribute = format.getAttribute("joints1");
|
|
1476
|
+
const weights1Attribute = format.getAttribute("weights1");
|
|
1477
|
+
if (joints1Attribute.components !== 4 || weights1Attribute.components !== 4) {
|
|
1478
|
+
throw new RenderDeviceError("Eight-influence skinned geometry must use four components per second-set attribute", "SKINNING_GEOMETRY_CONTRACT", {
|
|
1479
|
+
label: item.label,
|
|
1480
|
+
joints1Components: joints1Attribute.components,
|
|
1481
|
+
weights1Components: weights1Attribute.components
|
|
1482
|
+
});
|
|
1483
|
+
}
|
|
1484
|
+
}
|
|
1287
1485
|
for (let vertex = 0; vertex < item.geometry.vertexBuffer.vertexCount; vertex += 1) {
|
|
1288
1486
|
const joints = item.geometry.vertexBuffer.getAttribute(vertex, "joints");
|
|
1289
1487
|
const weights = item.geometry.vertexBuffer.getAttribute(vertex, "weights");
|
|
1290
1488
|
let weightSum = 0;
|
|
1489
|
+
if (eightInfluence) {
|
|
1490
|
+
// Validate the second set with the same rules, and fold it into the weight sum so
|
|
1491
|
+
// a vertex whose influence is split across both sets is not reported as unweighted.
|
|
1492
|
+
const joints1 = item.geometry.vertexBuffer.getAttribute(vertex, "joints1");
|
|
1493
|
+
const weights1 = item.geometry.vertexBuffer.getAttribute(vertex, "weights1");
|
|
1494
|
+
for (let influence = 0; influence < 4; influence += 1) {
|
|
1495
|
+
const joint = joints1[influence] ?? 0;
|
|
1496
|
+
const weight = weights1[influence] ?? 0;
|
|
1497
|
+
if (!Number.isFinite(weight) || weight < 0) {
|
|
1498
|
+
throw new RenderDeviceError("Skinned render item weights must be finite non-negative values", "SKINNING_GEOMETRY_CONTRACT", {
|
|
1499
|
+
label: item.label,
|
|
1500
|
+
jointCount: skinning.jointCount,
|
|
1501
|
+
vertex,
|
|
1502
|
+
influence: influence + 4,
|
|
1503
|
+
weight
|
|
1504
|
+
});
|
|
1505
|
+
}
|
|
1506
|
+
if (!Number.isInteger(joint) || joint < 0 || joint >= skinning.jointCount) {
|
|
1507
|
+
throw new RenderDeviceError("Skinned render item joint indices must reference palette joints", "SKINNING_GEOMETRY_CONTRACT", {
|
|
1508
|
+
label: item.label,
|
|
1509
|
+
jointCount: skinning.jointCount,
|
|
1510
|
+
vertex,
|
|
1511
|
+
influence: influence + 4,
|
|
1512
|
+
joint
|
|
1513
|
+
});
|
|
1514
|
+
}
|
|
1515
|
+
weightSum += weight;
|
|
1516
|
+
}
|
|
1517
|
+
}
|
|
1291
1518
|
for (let influence = 0; influence < 4; influence += 1) {
|
|
1292
1519
|
const joint = joints[influence] ?? 0;
|
|
1293
1520
|
const weight = weights[influence] ?? 0;
|