@aura3d/engine 3.0.0 → 3.0.1
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 +24 -5
- package/dist/animation/AnimationMixer.d.ts +4 -1
- package/dist/animation/AnimationMixer.d.ts.map +1 -1
- package/dist/animation/AnimationMixer.js +36 -29
- package/dist/animation/AnimationMixer.js.map +1 -1
- package/dist/animation/FootIk.d.ts +9 -0
- package/dist/animation/FootIk.d.ts.map +1 -1
- package/dist/animation/FootIk.js +22 -8
- package/dist/animation/FootIk.js.map +1 -1
- package/dist/animation/HumanoidRetargeting.d.ts +6 -2
- package/dist/animation/HumanoidRetargeting.d.ts.map +1 -1
- package/dist/animation/HumanoidRetargeting.js +18 -8
- package/dist/animation/HumanoidRetargeting.js.map +1 -1
- package/dist/animation/LocomotionEvidence.d.ts +34 -0
- package/dist/animation/LocomotionEvidence.d.ts.map +1 -0
- package/dist/animation/LocomotionEvidence.js +48 -0
- package/dist/animation/LocomotionEvidence.js.map +1 -0
- package/dist/animation/RootMotion.d.ts +13 -4
- package/dist/animation/RootMotion.d.ts.map +1 -1
- package/dist/animation/RootMotion.js +21 -1
- package/dist/animation/RootMotion.js.map +1 -1
- package/dist/animation/index.d.ts +1 -0
- package/dist/animation/index.d.ts.map +1 -1
- package/dist/animation/index.js +1 -0
- package/dist/animation/index.js.map +1 -1
- package/dist/assets/GLTFAnimationRuntime.d.ts +84 -4
- package/dist/assets/GLTFAnimationRuntime.d.ts.map +1 -1
- package/dist/assets/GLTFAnimationRuntime.js +308 -23
- package/dist/assets/GLTFAnimationRuntime.js.map +1 -1
- package/dist/assets/GLTFCompressionDecoders.d.ts +1 -0
- package/dist/assets/GLTFCompressionDecoders.d.ts.map +1 -1
- package/dist/assets/GLTFCompressionDecoders.js +20 -5
- package/dist/assets/GLTFCompressionDecoders.js.map +1 -1
- package/dist/assets/GLTFLoader.d.ts.map +1 -1
- package/dist/assets/GLTFLoader.js +21 -7
- package/dist/assets/GLTFLoader.js.map +1 -1
- package/dist/assets/KTX2BasisTextureTranscoder.d.ts.map +1 -1
- package/dist/assets/KTX2BasisTextureTranscoder.js +8 -0
- package/dist/assets/KTX2BasisTextureTranscoder.js.map +1 -1
- package/dist/controls/MapControls.d.ts +1 -1
- package/dist/controls/MapControls.d.ts.map +1 -1
- package/dist/controls/MapControls.js +3 -3
- package/dist/controls/MapControls.js.map +1 -1
- package/dist/controls/OrbitControls.d.ts +17 -3
- package/dist/controls/OrbitControls.d.ts.map +1 -1
- package/dist/controls/OrbitControls.js +24 -7
- package/dist/controls/OrbitControls.js.map +1 -1
- package/dist/controls/TrackballControls.d.ts.map +1 -1
- package/dist/controls/TrackballControls.js +2 -0
- package/dist/controls/TrackballControls.js.map +1 -1
- package/dist/create-aura3d/index.js +1 -1
- package/dist/engine/agent-api/AnimationController.d.ts +5 -1
- package/dist/engine/agent-api/AnimationController.d.ts.map +1 -1
- package/dist/engine/agent-api/AnimationController.js +5 -0
- package/dist/engine/agent-api/AnimationController.js.map +1 -1
- package/dist/engine/agent-api/CameraProjection.d.ts +2 -0
- package/dist/engine/agent-api/CameraProjection.d.ts.map +1 -0
- package/dist/engine/agent-api/CameraProjection.js +2 -0
- package/dist/engine/agent-api/CameraProjection.js.map +1 -0
- package/dist/engine/agent-api/DeferredFrameResources.d.ts +2 -0
- package/dist/engine/agent-api/DeferredFrameResources.d.ts.map +1 -0
- package/dist/engine/agent-api/DeferredFrameResources.js +2 -0
- package/dist/engine/agent-api/DeferredFrameResources.js.map +1 -0
- package/dist/engine/agent-api/FootPlanting.d.ts +6 -0
- package/dist/engine/agent-api/FootPlanting.d.ts.map +1 -1
- package/dist/engine/agent-api/FootPlanting.js +2 -1
- package/dist/engine/agent-api/FootPlanting.js.map +1 -1
- package/dist/engine/agent-api/GameCameraRigs.d.ts.map +1 -1
- package/dist/engine/agent-api/GameCameraRigs.js +7 -2
- package/dist/engine/agent-api/GameCameraRigs.js.map +1 -1
- package/dist/engine/agent-api/LabelTelemetry.d.ts +8 -2
- package/dist/engine/agent-api/LabelTelemetry.d.ts.map +1 -1
- package/dist/engine/agent-api/LabelTelemetry.js +18 -4
- package/dist/engine/agent-api/LabelTelemetry.js.map +1 -1
- package/dist/engine/agent-api/ModelInstanceMatrices.d.ts +2 -0
- package/dist/engine/agent-api/ModelInstanceMatrices.d.ts.map +1 -0
- package/dist/engine/agent-api/ModelInstanceMatrices.js +2 -0
- package/dist/engine/agent-api/ModelInstanceMatrices.js.map +1 -0
- package/dist/engine/agent-api/NavigationCrowds.d.ts +28 -0
- package/dist/engine/agent-api/NavigationCrowds.d.ts.map +1 -1
- package/dist/engine/agent-api/NavigationCrowds.js +73 -1
- package/dist/engine/agent-api/NavigationCrowds.js.map +1 -1
- package/dist/engine/agent-api/PngTexturePixels.d.ts +9 -0
- package/dist/engine/agent-api/PngTexturePixels.d.ts.map +1 -0
- package/dist/engine/agent-api/PngTexturePixels.js +53 -0
- package/dist/engine/agent-api/PngTexturePixels.js.map +1 -0
- package/dist/engine/agent-api/RootDiagnosticSnapshot.d.ts +2 -0
- package/dist/engine/agent-api/RootDiagnosticSnapshot.d.ts.map +1 -0
- package/dist/engine/agent-api/RootDiagnosticSnapshot.js +2 -0
- package/dist/engine/agent-api/RootDiagnosticSnapshot.js.map +1 -0
- package/dist/engine/agent-api/RootFrameClock.d.ts +2 -0
- package/dist/engine/agent-api/RootFrameClock.d.ts.map +1 -0
- package/dist/engine/agent-api/RootFrameClock.js +2 -0
- package/dist/engine/agent-api/RootFrameClock.js.map +1 -0
- package/dist/engine/agent-api/RootPerformanceQuality.d.ts +2 -0
- package/dist/engine/agent-api/RootPerformanceQuality.d.ts.map +1 -0
- package/dist/engine/agent-api/RootPerformanceQuality.js +2 -0
- package/dist/engine/agent-api/RootPerformanceQuality.js.map +1 -0
- package/dist/engine/agent-api/RootRuntimeSupport.d.ts +61 -0
- package/dist/engine/agent-api/RootRuntimeSupport.d.ts.map +1 -0
- package/dist/engine/agent-api/RootRuntimeSupport.js +127 -0
- package/dist/engine/agent-api/RootRuntimeSupport.js.map +1 -0
- package/dist/engine/agent-api/RuntimeNodeHandle.d.ts +22 -0
- package/dist/engine/agent-api/RuntimeNodeHandle.d.ts.map +1 -1
- package/dist/engine/agent-api/RuntimeNodeHandle.js.map +1 -1
- package/dist/engine/agent-api/WorldLabelRenderer.d.ts +13 -2
- package/dist/engine/agent-api/WorldLabelRenderer.d.ts.map +1 -1
- package/dist/engine/agent-api/WorldLabelRenderer.js +58 -26
- package/dist/engine/agent-api/WorldLabelRenderer.js.map +1 -1
- package/dist/engine/agent-api/index.d.ts +103 -8
- package/dist/engine/agent-api/index.d.ts.map +1 -1
- package/dist/engine/agent-api/index.js +750 -242
- 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/RootGpuParticleWorkload.d.ts +34 -0
- package/dist/engine/production-runtime/RootGpuParticleWorkload.d.ts.map +1 -0
- package/dist/engine/production-runtime/RootGpuParticleWorkload.js +117 -0
- package/dist/engine/production-runtime/RootGpuParticleWorkload.js.map +1 -0
- package/dist/engine/production-runtime/RootRenderSourceBridge.d.ts +2 -0
- package/dist/engine/production-runtime/RootRenderSourceBridge.d.ts.map +1 -0
- package/dist/engine/production-runtime/RootRenderSourceBridge.js +2 -0
- package/dist/engine/production-runtime/RootRenderSourceBridge.js.map +1 -0
- package/dist/engine/production-runtime/TypedGLBActor.d.ts +6 -0
- package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
- package/dist/engine/production-runtime/TypedGLBActor.js +13 -0
- package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
- package/dist/engine/production-runtime/index.d.ts +2 -0
- package/dist/engine/production-runtime/index.d.ts.map +1 -1
- package/dist/engine/production-runtime/index.js +2 -0
- package/dist/engine/production-runtime/index.js.map +1 -1
- package/dist/input/Haptics.d.ts +1 -1
- package/dist/input/Haptics.js +1 -1
- package/dist/input/InputSystem.d.ts.map +1 -1
- package/dist/input/InputSystem.js +1 -0
- package/dist/input/InputSystem.js.map +1 -1
- package/dist/input/PointerDevice.d.ts +1 -0
- package/dist/input/PointerDevice.d.ts.map +1 -1
- package/dist/input/PointerDevice.js +1 -1
- package/dist/input/PointerDevice.js.map +1 -1
- package/dist/input/controls/OrbitControls.d.ts +44 -1
- package/dist/input/controls/OrbitControls.d.ts.map +1 -1
- package/dist/input/controls/OrbitControls.js +151 -12
- package/dist/input/controls/OrbitControls.js.map +1 -1
- package/dist/lean/base.d.ts +1 -1
- package/dist/lean/base.d.ts.map +1 -1
- package/dist/lean/base.js +1 -1
- package/dist/lean/base.js.map +1 -1
- package/dist/lean/index.js +1 -1
- package/dist/lean/index.js.map +1 -1
- package/dist/navigation-recast/index.d.ts +116 -0
- package/dist/navigation-recast/index.d.ts.map +1 -0
- package/dist/navigation-recast/index.js +247 -0
- package/dist/navigation-recast/index.js.map +1 -0
- package/dist/physics-rapier/HeightfieldLayout.d.ts +12 -0
- package/dist/physics-rapier/HeightfieldLayout.d.ts.map +1 -0
- package/dist/physics-rapier/HeightfieldLayout.js +19 -0
- package/dist/physics-rapier/HeightfieldLayout.js.map +1 -0
- package/dist/physics-rapier/index.d.ts.map +1 -1
- package/dist/physics-rapier/index.js +2 -1
- package/dist/physics-rapier/index.js.map +1 -1
- package/dist/rendering/CascadedShadowMaps.d.ts.map +1 -1
- package/dist/rendering/CascadedShadowMaps.js +3 -1
- package/dist/rendering/CascadedShadowMaps.js.map +1 -1
- package/dist/rendering/ExtensionScalarAtlas.d.ts +18 -0
- package/dist/rendering/ExtensionScalarAtlas.d.ts.map +1 -0
- package/dist/rendering/ExtensionScalarAtlas.js +107 -0
- package/dist/rendering/ExtensionScalarAtlas.js.map +1 -0
- package/dist/rendering/LeanWebGL2Device.d.ts +265 -0
- package/dist/rendering/LeanWebGL2Device.d.ts.map +1 -0
- package/dist/rendering/LeanWebGL2Device.js +4001 -0
- package/dist/rendering/LeanWebGL2Device.js.map +1 -0
- package/dist/rendering/MaterialBinding.js +1 -1
- package/dist/rendering/MaterialBinding.js.map +1 -1
- package/dist/rendering/PlanarReflection.d.ts +2 -2
- package/dist/rendering/PlanarReflection.js +3 -3
- package/dist/rendering/PlanarReflection.js.map +1 -1
- package/dist/rendering/PostProcessPass.d.ts +19 -0
- package/dist/rendering/PostProcessPass.d.ts.map +1 -1
- package/dist/rendering/PostProcessPass.js +64 -32
- package/dist/rendering/PostProcessPass.js.map +1 -1
- package/dist/rendering/ProjectionMath.d.ts +3 -0
- package/dist/rendering/ProjectionMath.d.ts.map +1 -0
- package/dist/rendering/ProjectionMath.js +26 -0
- package/dist/rendering/ProjectionMath.js.map +1 -0
- package/dist/rendering/ReflectionSurfaces.d.ts +4 -1
- package/dist/rendering/ReflectionSurfaces.d.ts.map +1 -1
- package/dist/rendering/ReflectionSurfaces.js +10 -1
- package/dist/rendering/ReflectionSurfaces.js.map +1 -1
- package/dist/rendering/RenderDevice.d.ts +5 -0
- package/dist/rendering/RenderDevice.d.ts.map +1 -1
- package/dist/rendering/RenderDevice.js.map +1 -1
- package/dist/rendering/Renderer.d.ts +9 -0
- package/dist/rendering/Renderer.d.ts.map +1 -1
- package/dist/rendering/Renderer.js +94 -8
- package/dist/rendering/Renderer.js.map +1 -1
- package/dist/rendering/RendererPostprocessPlan.d.ts +16 -3
- package/dist/rendering/RendererPostprocessPlan.d.ts.map +1 -1
- package/dist/rendering/RendererPostprocessPlan.js +16 -2
- package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
- package/dist/rendering/ScreenSpaceReflectionPass.d.ts +43 -0
- package/dist/rendering/ScreenSpaceReflectionPass.d.ts.map +1 -0
- package/dist/rendering/ScreenSpaceReflectionPass.js +58 -0
- package/dist/rendering/ScreenSpaceReflectionPass.js.map +1 -0
- package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
- package/dist/rendering/ShaderLibrary.js +168 -197
- package/dist/rendering/ShaderLibrary.js.map +1 -1
- package/dist/rendering/ShaderLibraryCore.d.ts +3 -0
- package/dist/rendering/ShaderLibraryCore.d.ts.map +1 -1
- package/dist/rendering/ShaderLibraryCore.js +3 -0
- package/dist/rendering/ShaderLibraryCore.js.map +1 -1
- package/dist/rendering/TemporalHistory.d.ts +37 -0
- package/dist/rendering/TemporalHistory.d.ts.map +1 -0
- package/dist/rendering/TemporalHistory.js +135 -0
- package/dist/rendering/TemporalHistory.js.map +1 -0
- package/dist/rendering/TemporalMath.d.ts +3 -0
- package/dist/rendering/TemporalMath.d.ts.map +1 -0
- package/dist/rendering/TemporalMath.js +9 -0
- package/dist/rendering/TemporalMath.js.map +1 -0
- package/dist/rendering/TexturedPBRMaterial.d.ts +3 -0
- package/dist/rendering/TexturedPBRMaterial.d.ts.map +1 -1
- package/dist/rendering/TexturedPBRMaterial.js +65 -3
- package/dist/rendering/TexturedPBRMaterial.js.map +1 -1
- package/dist/rendering/WebGL2Device.d.ts +15 -0
- package/dist/rendering/WebGL2Device.d.ts.map +1 -1
- package/dist/rendering/WebGL2Device.js +328 -90
- package/dist/rendering/WebGL2Device.js.map +1 -1
- package/dist/rendering/WebGPUDevice.d.ts +16 -5
- package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
- package/dist/rendering/WebGPUDevice.js +357 -58
- package/dist/rendering/WebGPUDevice.js.map +1 -1
- package/dist/rendering/WebGPUExtensionAtlas.d.ts +6 -0
- package/dist/rendering/WebGPUExtensionAtlas.d.ts.map +1 -0
- package/dist/rendering/WebGPUExtensionAtlas.js +225 -0
- package/dist/rendering/WebGPUExtensionAtlas.js.map +1 -0
- package/dist/rendering/effects/GPUParticleBackend.d.ts +4 -2
- package/dist/rendering/effects/GPUParticleBackend.d.ts.map +1 -1
- package/dist/rendering/effects/GPUParticleBackend.js +20 -2
- package/dist/rendering/effects/GPUParticleBackend.js.map +1 -1
- package/dist/rendering/effects/ResidentGPUParticleRenderer.d.ts +158 -0
- package/dist/rendering/effects/ResidentGPUParticleRenderer.d.ts.map +1 -0
- package/dist/rendering/effects/ResidentGPUParticleRenderer.js +576 -0
- package/dist/rendering/effects/ResidentGPUParticleRenderer.js.map +1 -0
- package/dist/rendering/extension-scalar-atlas.d.ts +3 -0
- package/dist/rendering/extension-scalar-atlas.d.ts.map +1 -0
- package/dist/rendering/extension-scalar-atlas.js +2 -0
- package/dist/rendering/extension-scalar-atlas.js.map +1 -0
- package/dist/rendering/index.d.ts +1 -0
- package/dist/rendering/index.d.ts.map +1 -1
- package/dist/rendering/index.js +1 -0
- package/dist/rendering/index.js.map +1 -1
- package/dist/rendering/lean/LeanProductionRenderer.d.ts.map +1 -1
- package/dist/rendering/lean/LeanProductionRenderer.js +2 -2
- package/dist/rendering/lean/LeanProductionRenderer.js.map +1 -1
- package/dist/rendering/lean-core-runtime.d.ts +13 -0
- package/dist/rendering/lean-core-runtime.d.ts.map +1 -0
- package/dist/rendering/lean-core-runtime.js +10 -0
- package/dist/rendering/lean-core-runtime.js.map +1 -0
- package/dist/rendering/postprocess/NativeBloomPyramid.d.ts +17 -1
- package/dist/rendering/postprocess/NativeBloomPyramid.d.ts.map +1 -1
- package/dist/rendering/postprocess/NativeBloomPyramid.js +31 -1
- package/dist/rendering/postprocess/NativeBloomPyramid.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/ProductionRuntimeRenderer.d.ts +3 -0
- package/dist/rendering/production-runtime/ProductionRuntimeRenderer.d.ts.map +1 -1
- package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js +8 -1
- package/dist/rendering/production-runtime/ProductionRuntimeRenderer.js.map +1 -1
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts +4 -0
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.d.ts.map +1 -1
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js +15 -0
- package/dist/rendering/production-runtime/ProductionWebGL2Renderer.js.map +1 -1
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts +7 -1
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.js +28 -2
- package/dist/rendering/production-runtime/ProductionWebGPURenderer.js.map +1 -1
- package/dist/rendering/production-runtime/framegraph/FrameGraph.d.ts +4 -2
- package/dist/rendering/production-runtime/framegraph/FrameGraph.d.ts.map +1 -1
- package/dist/rendering/production-runtime/framegraph/FrameGraph.js +62 -4
- package/dist/rendering/production-runtime/framegraph/FrameGraph.js.map +1 -1
- package/dist/rendering/production-runtime/framegraph/NativeFrameGraphBindings.d.ts +32 -0
- package/dist/rendering/production-runtime/framegraph/NativeFrameGraphBindings.d.ts.map +1 -0
- package/dist/rendering/production-runtime/framegraph/NativeFrameGraphBindings.js +111 -0
- package/dist/rendering/production-runtime/framegraph/NativeFrameGraphBindings.js.map +1 -0
- package/dist/rendering/production-runtime/framegraph/RenderPass.d.ts +23 -0
- package/dist/rendering/production-runtime/framegraph/RenderPass.d.ts.map +1 -1
- package/dist/rendering/production-runtime/framegraph/RenderPass.js +87 -1
- package/dist/rendering/production-runtime/framegraph/RenderPass.js.map +1 -1
- package/dist/rendering/production-runtime/index.d.ts +2 -0
- 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/rendering/production-runtime/passes/DepthPrepass.d.ts +4 -12
- package/dist/rendering/production-runtime/passes/DepthPrepass.d.ts.map +1 -1
- package/dist/rendering/production-runtime/passes/DepthPrepass.js +3 -11
- package/dist/rendering/production-runtime/passes/DepthPrepass.js.map +1 -1
- package/dist/rendering/production-runtime/passes/FramegraphTopology.js +1 -1
- package/dist/rendering/production-runtime/passes/FramegraphTopology.js.map +1 -1
- package/dist/rendering/production-runtime/passes/OpaquePass.d.ts +3 -8
- package/dist/rendering/production-runtime/passes/OpaquePass.d.ts.map +1 -1
- package/dist/rendering/production-runtime/passes/OpaquePass.js +3 -1
- package/dist/rendering/production-runtime/passes/OpaquePass.js.map +1 -1
- package/dist/rendering/production-runtime/passes/ShadowPass.d.ts +3 -8
- package/dist/rendering/production-runtime/passes/ShadowPass.d.ts.map +1 -1
- package/dist/rendering/production-runtime/passes/ShadowPass.js +2 -0
- package/dist/rendering/production-runtime/passes/ShadowPass.js.map +1 -1
- package/dist/rendering/production-runtime/passes/SkyboxPass.d.ts +3 -7
- package/dist/rendering/production-runtime/passes/SkyboxPass.d.ts.map +1 -1
- package/dist/rendering/production-runtime/passes/SkyboxPass.js +2 -0
- package/dist/rendering/production-runtime/passes/SkyboxPass.js.map +1 -1
- package/dist/rendering/production-runtime/passes/ToneMappingPass.d.ts +7 -10
- package/dist/rendering/production-runtime/passes/ToneMappingPass.d.ts.map +1 -1
- package/dist/rendering/production-runtime/passes/ToneMappingPass.js +9 -0
- package/dist/rendering/production-runtime/passes/ToneMappingPass.js.map +1 -1
- package/dist/rendering/production-runtime/passes/TransparentPass.d.ts +4 -9
- package/dist/rendering/production-runtime/passes/TransparentPass.d.ts.map +1 -1
- package/dist/rendering/production-runtime/passes/TransparentPass.js +6 -1
- package/dist/rendering/production-runtime/passes/TransparentPass.js.map +1 -1
- package/dist/rendering/reflection-surfaces.d.ts +5 -0
- package/dist/rendering/reflection-surfaces.d.ts.map +1 -0
- package/dist/rendering/reflection-surfaces.js +3 -0
- package/dist/rendering/reflection-surfaces.js.map +1 -0
- package/dist/rendering/webgpu/WebGPUPostShaders.d.ts +2 -3
- package/dist/rendering/webgpu/WebGPUPostShaders.d.ts.map +1 -1
- package/dist/rendering/webgpu/WebGPUPostShaders.js +2 -3
- package/dist/rendering/webgpu/WebGPUPostShaders.js.map +1 -1
- package/dist/rendering/webgpu/WebGPUTemporal.d.ts +17 -0
- package/dist/rendering/webgpu/WebGPUTemporal.d.ts.map +1 -0
- package/dist/rendering/webgpu/WebGPUTemporal.js +64 -0
- package/dist/rendering/webgpu/WebGPUTemporal.js.map +1 -0
- package/dist/rendering/webgpu.d.ts +6 -0
- package/dist/rendering/webgpu.d.ts.map +1 -1
- package/dist/rendering/webgpu.js +4 -0
- package/dist/rendering/webgpu.js.map +1 -1
- package/package.json +37 -24
- package/templates/cinematic-scene/package.json +2 -2
- package/templates/cinematic-scene/src/main.ts +14 -2
- package/templates/mini-game/package.json +2 -2
- package/templates/product-viewer/package.json +2 -2
- package/templates/production-asset-inspector/package.json +1 -1
- package/templates/production-material-studio/package.json +1 -1
- package/templates/production-product-configurator/package.json +1 -1
- package/templates/production-product-viewer/package.json +1 -1
- package/templates/cinematic-scene/node_modules/.vite/deps/_metadata.json +0 -8
- package/templates/cinematic-scene/node_modules/.vite/deps/package.json +0 -3
- package/templates/cinematic-scene/test-results/.last-run.json +0 -6
- package/templates/cinematic-scene/test-results/route-health-Aura3D-cinematic-scene-reaches-ready-state/error-context.md +0 -64
- package/templates/product-viewer/node_modules/.vite/deps/_metadata.json +0 -8
- package/templates/product-viewer/node_modules/.vite/deps/package.json +0 -3
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Texture } from "./Texture.js";
|
|
2
|
+
export const EXTENSION_SCALAR_ATLAS_SLOTS = ["clearcoat", "clearcoatRoughness", "sheenRoughness", "iridescence", "iridescenceThickness"];
|
|
3
|
+
/** Each map keeps its own dimensions and complete mip chain in an isolated column.
|
|
4
|
+
* Shader texelFetch performs filtering inside the selected map/level, so adjacent
|
|
5
|
+
* columns and mip levels cannot bleed, including repeat and negative UVs.
|
|
6
|
+
*/
|
|
7
|
+
export function createExtensionScalarAtlas(inputs, maxTextureSize = 16384) {
|
|
8
|
+
if (!Number.isSafeInteger(maxTextureSize) || maxTextureSize < 1)
|
|
9
|
+
throw new Error("Invalid atlas maximum texture size");
|
|
10
|
+
// Validate the complete layout before copying source pixels or allocating mip chains.
|
|
11
|
+
const bounds = EXTENSION_SCALAR_ATLAS_SLOTS.map((slot) => {
|
|
12
|
+
const source = inputs[slot];
|
|
13
|
+
const width = source?.width ?? 1, height = source?.height ?? 1;
|
|
14
|
+
if (!Number.isSafeInteger(width) || width < 1 || !Number.isSafeInteger(height) || height < 1 || (source && source.data.length !== width * height * 4))
|
|
15
|
+
throw new Error(`Invalid extension atlas pixels for ${slot}`);
|
|
16
|
+
let stripHeight = height, mipWidth = width, mipHeight = height;
|
|
17
|
+
while (mipWidth > 1 || mipHeight > 1) {
|
|
18
|
+
mipWidth = Math.max(1, Math.floor(mipWidth / 2));
|
|
19
|
+
mipHeight = Math.max(1, Math.floor(mipHeight / 2));
|
|
20
|
+
stripHeight += mipHeight;
|
|
21
|
+
}
|
|
22
|
+
if (width > maxTextureSize || stripHeight > maxTextureSize)
|
|
23
|
+
throw new Error(`Extension atlas source ${slot} exceeds maximum texture size ${maxTextureSize}`);
|
|
24
|
+
return { width, height, stripHeight };
|
|
25
|
+
}).sort((a, b) => b.height - a.height);
|
|
26
|
+
let preflightX = 0, preflightY = 0, preflightRow = 0;
|
|
27
|
+
for (const bound of bounds) {
|
|
28
|
+
if (preflightX + bound.width > maxTextureSize) {
|
|
29
|
+
preflightY += preflightRow;
|
|
30
|
+
preflightX = 0;
|
|
31
|
+
preflightRow = 0;
|
|
32
|
+
}
|
|
33
|
+
if (preflightY + bound.stripHeight > maxTextureSize)
|
|
34
|
+
throw new Error(`Extension atlas cannot fit within ${maxTextureSize} square pixels`);
|
|
35
|
+
preflightX += bound.width;
|
|
36
|
+
preflightRow = Math.max(preflightRow, bound.stripHeight);
|
|
37
|
+
}
|
|
38
|
+
const chains = EXTENSION_SCALAR_ATLAS_SLOTS.map((slot) => {
|
|
39
|
+
const input = inputs[slot] ?? { width: 1, height: 1, data: new Uint8Array([255, 255, 255, 255]) };
|
|
40
|
+
if (!Number.isSafeInteger(input.width) || input.width < 1 || !Number.isSafeInteger(input.height) || input.height < 1 || input.data.length !== input.width * input.height * 4)
|
|
41
|
+
throw new Error(`Invalid extension atlas pixels for ${slot}`);
|
|
42
|
+
if (input.width > maxTextureSize || input.height > maxTextureSize)
|
|
43
|
+
throw new Error(`Extension atlas source ${slot} exceeds maximum texture size ${maxTextureSize}`);
|
|
44
|
+
const levels = [{ ...input, data: new Uint8Array(input.data) }];
|
|
45
|
+
while (levels.at(-1).width > 1 || levels.at(-1).height > 1) {
|
|
46
|
+
const source = levels.at(-1);
|
|
47
|
+
const width = Math.max(1, Math.floor(source.width / 2));
|
|
48
|
+
const height = Math.max(1, Math.floor(source.height / 2));
|
|
49
|
+
const data = new Uint8Array(width * height * 4);
|
|
50
|
+
// Area-weighted reduction retains the final odd row/column for NPOT maps.
|
|
51
|
+
for (let y = 0; y < height; y++)
|
|
52
|
+
for (let x = 0; x < width; x++) {
|
|
53
|
+
const left = x * source.width / width, right = (x + 1) * source.width / width;
|
|
54
|
+
const top = y * source.height / height, bottom = (y + 1) * source.height / height;
|
|
55
|
+
const sums = [0, 0, 0, 0];
|
|
56
|
+
let weight = 0;
|
|
57
|
+
for (let sy = Math.floor(top); sy < Math.ceil(bottom); sy++)
|
|
58
|
+
for (let sx = Math.floor(left); sx < Math.ceil(right); sx++) {
|
|
59
|
+
const area = (Math.min(right, sx + 1) - Math.max(left, sx)) * (Math.min(bottom, sy + 1) - Math.max(top, sy));
|
|
60
|
+
weight += area;
|
|
61
|
+
for (let channel = 0; channel < 4; channel++)
|
|
62
|
+
sums[channel] = sums[channel] + source.data[(sy * source.width + sx) * 4 + channel] * area;
|
|
63
|
+
}
|
|
64
|
+
for (let channel = 0; channel < 4; channel++)
|
|
65
|
+
data[(y * width + x) * 4 + channel] = Math.round(sums[channel] / weight);
|
|
66
|
+
}
|
|
67
|
+
levels.push({ width, height, data });
|
|
68
|
+
}
|
|
69
|
+
return { slot, levels };
|
|
70
|
+
});
|
|
71
|
+
const placements = new Map();
|
|
72
|
+
let cursorX = 0, cursorY = 0, rowHeight = 0, width = 0;
|
|
73
|
+
for (const { slot, levels } of [...chains].sort((a, b) => b.levels[0].height - a.levels[0].height)) {
|
|
74
|
+
const stripWidth = levels[0].width, stripHeight = levels.reduce((sum, level) => sum + level.height, 0);
|
|
75
|
+
if (stripHeight > maxTextureSize)
|
|
76
|
+
throw new Error(`Extension atlas mip strip ${slot} exceeds maximum texture size ${maxTextureSize}`);
|
|
77
|
+
if (cursorX + stripWidth > maxTextureSize) {
|
|
78
|
+
cursorY += rowHeight;
|
|
79
|
+
cursorX = 0;
|
|
80
|
+
rowHeight = 0;
|
|
81
|
+
}
|
|
82
|
+
if (cursorY + stripHeight > maxTextureSize)
|
|
83
|
+
throw new Error(`Extension atlas cannot fit within ${maxTextureSize} square pixels`);
|
|
84
|
+
placements.set(slot, { x: cursorX, y: cursorY });
|
|
85
|
+
cursorX += stripWidth;
|
|
86
|
+
rowHeight = Math.max(rowHeight, stripHeight);
|
|
87
|
+
width = Math.max(width, cursorX);
|
|
88
|
+
}
|
|
89
|
+
const height = cursorY + rowHeight;
|
|
90
|
+
const data = new Uint8Array(width * height * 4);
|
|
91
|
+
const metadata = {};
|
|
92
|
+
const originsY = {};
|
|
93
|
+
for (const { slot, levels } of chains) {
|
|
94
|
+
const base = levels[0];
|
|
95
|
+
const { x, y: originY } = placements.get(slot);
|
|
96
|
+
originsY[slot] = originY;
|
|
97
|
+
metadata[slot] = [x, base.width, base.height, levels.length - 1];
|
|
98
|
+
let y = originY;
|
|
99
|
+
for (const level of levels) {
|
|
100
|
+
for (let row = 0; row < level.height; row++)
|
|
101
|
+
data.set(level.data.subarray(row * level.width * 4, (row + 1) * level.width * 4), ((y + row) * width + x) * 4);
|
|
102
|
+
y += level.height;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return { texture: new Texture({ width, height, data, colorSpace: "linear", label: "extension-scalar-atlas" }), originsY, ...metadata };
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=ExtensionScalarAtlas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExtensionScalarAtlas.js","sourceRoot":"","sources":["../../../../packages/rendering/src/ExtensionScalarAtlas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { type BufferUsage, type DrawCommand, type LdrPostprocessPresentationOptions, type RenderBuffer, type RenderDevice, type RenderDeviceDiagnostics, type RenderDeviceInfo, type RenderShaderProgram, type RenderTarget, type RenderTargetDescriptor, type ShaderSources } from "./RenderDevice.js";
|
|
2
|
+
import { type BloomQualityPreset } from "./postprocess/NativeBloomPyramid.js";
|
|
3
|
+
export interface LeanWebGL2DeviceOptions {
|
|
4
|
+
readonly canvas: HTMLCanvasElement | OffscreenCanvas;
|
|
5
|
+
readonly antialias?: boolean;
|
|
6
|
+
readonly alpha?: boolean;
|
|
7
|
+
readonly preserveDrawingBuffer?: boolean;
|
|
8
|
+
readonly errorCheckMode?: LeanWebGL2ErrorCheckMode;
|
|
9
|
+
}
|
|
10
|
+
export type LeanWebGL2ErrorCheckMode = "strict" | "frame";
|
|
11
|
+
export interface WebGL2BloomDiagnostics {
|
|
12
|
+
readonly quality: BloomQualityPreset;
|
|
13
|
+
readonly mipCount: number;
|
|
14
|
+
readonly targetCount: number;
|
|
15
|
+
readonly targetBytes: number;
|
|
16
|
+
readonly compositeGain: number;
|
|
17
|
+
readonly threshold: number;
|
|
18
|
+
readonly intensity: number;
|
|
19
|
+
readonly softKnee: number;
|
|
20
|
+
readonly shoulder: number;
|
|
21
|
+
readonly halfFloat: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare class LeanWebGL2Device implements RenderDevice {
|
|
24
|
+
private readonly errorCheckMode;
|
|
25
|
+
readonly kind = "webgl2";
|
|
26
|
+
readonly info: RenderDeviceInfo;
|
|
27
|
+
disposed: boolean;
|
|
28
|
+
contextLost: boolean;
|
|
29
|
+
private readonly gl;
|
|
30
|
+
private nextId;
|
|
31
|
+
private drawCalls;
|
|
32
|
+
private buffers;
|
|
33
|
+
private shaders;
|
|
34
|
+
private renderTargets;
|
|
35
|
+
private activeRenderTarget;
|
|
36
|
+
private textures;
|
|
37
|
+
private textureUploadModes;
|
|
38
|
+
private fallbackTexture;
|
|
39
|
+
private fallbackCubeTexture;
|
|
40
|
+
private readonly samplerObjectCache;
|
|
41
|
+
private presentationProgram;
|
|
42
|
+
private ldrPostprocessProgram;
|
|
43
|
+
private bloomBrightExtractProgram;
|
|
44
|
+
private bloomBlurProgram;
|
|
45
|
+
private bloomCompositeProgram;
|
|
46
|
+
private bloomDownsampleProgram;
|
|
47
|
+
private bloomAccumulateProgram;
|
|
48
|
+
private bloomPyramidResources;
|
|
49
|
+
private outlineProgram;
|
|
50
|
+
private ssaoProgram;
|
|
51
|
+
private ssrProgram;
|
|
52
|
+
private depthOfFieldProgram;
|
|
53
|
+
private motionBlurProgram;
|
|
54
|
+
private motionBlurVelocityTexture;
|
|
55
|
+
private motionBlurVelocitySize;
|
|
56
|
+
private taaProgram;
|
|
57
|
+
private taaHistoryTexture;
|
|
58
|
+
private taaHistorySize;
|
|
59
|
+
private bloomPingPongResources;
|
|
60
|
+
private bloomBrightLutTexture;
|
|
61
|
+
private bloomBrightLutThreshold;
|
|
62
|
+
private bloomCompositeLutTexture;
|
|
63
|
+
private bloomCompositeLutIntensity;
|
|
64
|
+
private bloomCompositeLutShoulder;
|
|
65
|
+
private lastBloomDiagnostics;
|
|
66
|
+
private outlineBlendLutTexture;
|
|
67
|
+
private outlineBlendLutKey;
|
|
68
|
+
private depthReadbackProgram;
|
|
69
|
+
private readonly uniformLocationCache;
|
|
70
|
+
private readonly textureSamplerParameterCache;
|
|
71
|
+
private readonly stateCache;
|
|
72
|
+
private readonly textureUnitBindings;
|
|
73
|
+
private readonly vertexArrayCache;
|
|
74
|
+
private readonly vertexFormatIds;
|
|
75
|
+
private presentationVertexArray;
|
|
76
|
+
private activeTextureUnitIndex;
|
|
77
|
+
private shaderProgramCreateCount;
|
|
78
|
+
private uniformLocationLookupCount;
|
|
79
|
+
private bufferUpdateCount;
|
|
80
|
+
private textureBindCount;
|
|
81
|
+
private samplerParameterUploadCount;
|
|
82
|
+
private samplerAnisotropyUploadCount;
|
|
83
|
+
private vertexArrayCreateCount;
|
|
84
|
+
private nativeInstancedSubmissions;
|
|
85
|
+
private nextVertexFormatId;
|
|
86
|
+
private releasedTextureHandles;
|
|
87
|
+
private nativeEnvironmentBindings;
|
|
88
|
+
private nativeShadowMapBindings;
|
|
89
|
+
private shadowRenderTargetsAllocated;
|
|
90
|
+
private lastError;
|
|
91
|
+
private frameActive;
|
|
92
|
+
private viewportWidth;
|
|
93
|
+
private viewportHeight;
|
|
94
|
+
private readonly maxVertexAttributes;
|
|
95
|
+
private readonly anisotropicFilteringExtension;
|
|
96
|
+
private readonly maxTextureAnisotropy;
|
|
97
|
+
/**
|
|
98
|
+
* WS-2.6 — subscribers for context loss and restoration.
|
|
99
|
+
*
|
|
100
|
+
* The device has tracked `contextLost` since before 1.6 and acted on it internally, but nothing
|
|
101
|
+
* could *observe* it: there was no callback, so a consumer could only poll `diagnostics()`. That is
|
|
102
|
+
* why the parity table listed context-loss recovery as a gap while the listeners existed — the
|
|
103
|
+
* device layer was never the gap, the absence of a public signal was.
|
|
104
|
+
*/
|
|
105
|
+
private readonly deviceLostListeners;
|
|
106
|
+
private readonly deviceRestoredListeners;
|
|
107
|
+
private readonly contextLostListener?;
|
|
108
|
+
private readonly contextRestoredListener?;
|
|
109
|
+
private readonly canvas?;
|
|
110
|
+
static create(options: LeanWebGL2DeviceOptions): LeanWebGL2Device;
|
|
111
|
+
private constructor();
|
|
112
|
+
/**
|
|
113
|
+
* Subscribe to WebGL context loss. Returns an unsubscribe function.
|
|
114
|
+
*
|
|
115
|
+
* A lost context is not an error a caller can prevent — the browser reclaims GPU resources under
|
|
116
|
+
* memory pressure, on driver reset, or when a tab is backgrounded too long. What a caller can do is
|
|
117
|
+
* be told, so it can recreate resources rather than render nothing.
|
|
118
|
+
*/
|
|
119
|
+
onDeviceLost(listener: () => void): () => void;
|
|
120
|
+
/** Subscribe to context restoration. Returns an unsubscribe function. */
|
|
121
|
+
onDeviceRestored(listener: () => void): () => void;
|
|
122
|
+
/** True while the WebGL context is lost. Polling alternative to {@link onDeviceLost}. */
|
|
123
|
+
isDeviceLost(): boolean;
|
|
124
|
+
createBuffer(usage: BufferUsage, byteLength: number, initialData?: ArrayBufferView): RenderBuffer;
|
|
125
|
+
updateBuffer(buffer: RenderBuffer, byteOffset: number, data: ArrayBufferView): void;
|
|
126
|
+
readBuffer(buffer: RenderBuffer, byteOffset?: number, byteLength?: number): Uint8Array;
|
|
127
|
+
createShaderProgram(sources: ShaderSources): RenderShaderProgram;
|
|
128
|
+
createRenderTarget(descriptor: RenderTargetDescriptor): RenderTarget;
|
|
129
|
+
setRenderTarget(target: RenderTarget | null): void;
|
|
130
|
+
private resolveMultisampleTarget;
|
|
131
|
+
writeRenderTargetPixels(target: RenderTarget, pixels: Uint8Array): void;
|
|
132
|
+
presentRenderTarget(source: RenderTarget): void;
|
|
133
|
+
presentLdrPostprocess(source: RenderTarget, options: LdrPostprocessPresentationOptions): void;
|
|
134
|
+
readPixels(x: number, y: number, width: number, height: number): Uint8Array;
|
|
135
|
+
readFloatPixels(x: number, y: number, width: number, height: number): Float32Array;
|
|
136
|
+
readDepthPixels(x: number, y: number, width: number, height: number): Float32Array;
|
|
137
|
+
beginFrame(width: number, height: number): void;
|
|
138
|
+
clear(color: readonly [number, number, number, number]): void;
|
|
139
|
+
clearRenderTarget(color: readonly [number, number, number, number]): void;
|
|
140
|
+
draw(command: DrawCommand): void;
|
|
141
|
+
endFrame(): void;
|
|
142
|
+
captureState(): ReadonlyMap<string, string | number | boolean | null>;
|
|
143
|
+
getDiagnostics(): RenderDeviceDiagnostics;
|
|
144
|
+
dispose(): void;
|
|
145
|
+
private copyDepthTextureToBytes;
|
|
146
|
+
private drawRenderTargetToBackbuffer;
|
|
147
|
+
private ensureBloomPingPongResources;
|
|
148
|
+
private ensureBloomLutTextures;
|
|
149
|
+
private createNativeBloomDataTexture;
|
|
150
|
+
private ensureOutlineBlendLutTexture;
|
|
151
|
+
private ensureMotionBlurVelocityTexture;
|
|
152
|
+
private ensureTaaHistoryTexture;
|
|
153
|
+
private drawNativeLdrStage;
|
|
154
|
+
private executeNativeBloomPasses;
|
|
155
|
+
/**
|
|
156
|
+
* Balanced/cinematic bloom: bright-extract once, then a half-resolution mip
|
|
157
|
+
* chain where every level is downsampled, separably blurred, and accumulated
|
|
158
|
+
* with its energy-preserving weight. Returns a full-resolution bloom texture
|
|
159
|
+
* holding the weighted sum, ready for the existing composite program.
|
|
160
|
+
*/
|
|
161
|
+
private executeNativeBloomPyramidPasses;
|
|
162
|
+
private executeNativeOutlinePasses;
|
|
163
|
+
private executeNativeSsaoPass;
|
|
164
|
+
private executeNativeSsrPass;
|
|
165
|
+
private executeNativeDepthOfFieldPass;
|
|
166
|
+
private executeNativeMotionBlurPass;
|
|
167
|
+
private executeNativeTaaPass;
|
|
168
|
+
private bindFullscreenTexture;
|
|
169
|
+
private disposeBloomPingPongResources;
|
|
170
|
+
/**
|
|
171
|
+
* Diagnostics for the most recent native bloom execution (muse3jsparity-PRD
|
|
172
|
+
* A1). Null when no native bloom pass has run yet on this device.
|
|
173
|
+
*/
|
|
174
|
+
getBloomDiagnostics(): WebGL2BloomDiagnostics | null;
|
|
175
|
+
private recordBloomDiagnostics;
|
|
176
|
+
/**
|
|
177
|
+
* PART U: every live GPU allocation with bytes + lane owner — registry
|
|
178
|
+
* render targets (B1 shadow maps arrive labeled, B4 captures arrive as
|
|
179
|
+
* `-mirror-target`/`-scene-color-target`) plus the raw-handle residents the
|
|
180
|
+
* registry set cannot see: the A1 bloom pyramid (two targets per mip plus
|
|
181
|
+
* two level-0 accumulators), the legacy bloom ping-pong pair, the A1/A3
|
|
182
|
+
* lookup textures, and the motion-blur/taa history textures. The
|
|
183
|
+
* depth-readback scratch pair is intentionally absent: it is allocated and
|
|
184
|
+
* deleted inside one synchronous call, so it is never live at a diagnostics
|
|
185
|
+
* boundary. A5 volumetric light, C4 decals, and the G1 SDF atlas own no GPU
|
|
186
|
+
* target (forward uniforms + CPU kernel, CPU geometry, CPU atlas data), so
|
|
187
|
+
* no entry is emitted for them; a target appearing under their owner would
|
|
188
|
+
* be the signal that the lane grew one.
|
|
189
|
+
*/
|
|
190
|
+
private describeGpuTargetInventory;
|
|
191
|
+
private disposeBloomPyramidResources;
|
|
192
|
+
/**
|
|
193
|
+
* Mip-chain targets for the balanced/cinematic bloom pyramid. Each level is a
|
|
194
|
+
* single texture+framebuffer at the planned size with linear filtering so the
|
|
195
|
+
* downsample and accumulate passes can sample across levels. Half-float backs
|
|
196
|
+
* the chain when the source is HDR or the cinematic preset requests it.
|
|
197
|
+
*/
|
|
198
|
+
private ensureBloomPyramidResources;
|
|
199
|
+
private captureTextureUnit0;
|
|
200
|
+
private restoreTextureUnit0;
|
|
201
|
+
private captureTextureUnitBinding;
|
|
202
|
+
private restoreTextureUnitBinding;
|
|
203
|
+
private prepareFullscreenPresentation;
|
|
204
|
+
private restoreFullscreenPresentationState;
|
|
205
|
+
private ensurePresentationVertexArray;
|
|
206
|
+
private ensureDepthReadbackProgram;
|
|
207
|
+
private ensurePresentationProgram;
|
|
208
|
+
private ensureBloomBrightExtractProgram;
|
|
209
|
+
private ensureBloomBlurProgram;
|
|
210
|
+
private ensureBloomCompositeProgram;
|
|
211
|
+
private ensureBloomDownsampleProgram;
|
|
212
|
+
private ensureBloomAccumulateProgram;
|
|
213
|
+
private ensureOutlineProgram;
|
|
214
|
+
private ensureSsaoProgram;
|
|
215
|
+
private ensureSsrProgram;
|
|
216
|
+
private ensureDepthOfFieldProgram;
|
|
217
|
+
private ensureMotionBlurProgram;
|
|
218
|
+
private ensureTaaProgram;
|
|
219
|
+
private createFullscreenProgram;
|
|
220
|
+
private ensureLdrPostprocessProgram;
|
|
221
|
+
private compileShader;
|
|
222
|
+
private reflectProgram;
|
|
223
|
+
private uploadUniforms;
|
|
224
|
+
private getUniformLocation;
|
|
225
|
+
private uploadTextureUniform;
|
|
226
|
+
private activateTextureUnit;
|
|
227
|
+
private bindTextureForUnit;
|
|
228
|
+
private setTextureParameterIfNeeded;
|
|
229
|
+
private applySamplerAnisotropy;
|
|
230
|
+
private getSamplerHandle;
|
|
231
|
+
private samplerKey;
|
|
232
|
+
private getFallbackTextureHandle;
|
|
233
|
+
private getFallbackCubeTextureHandle;
|
|
234
|
+
private getTextureHandle;
|
|
235
|
+
private uploadCubeTexture;
|
|
236
|
+
private uploadRgba8FallbackTexture;
|
|
237
|
+
private cubeFaceTarget;
|
|
238
|
+
private rgba8TextureInternalFormat;
|
|
239
|
+
private textureUploadFormat;
|
|
240
|
+
private resolveRenderTargetFormat;
|
|
241
|
+
private releaseDisposedTextureHandles;
|
|
242
|
+
private resolveCompressedTextureFormat;
|
|
243
|
+
private magFilter;
|
|
244
|
+
private minFilter;
|
|
245
|
+
private addressMode;
|
|
246
|
+
private bindVertexFormat;
|
|
247
|
+
private bindVertexArrayForCommand;
|
|
248
|
+
private bindNoVertexArray;
|
|
249
|
+
private vertexArrayCacheKey;
|
|
250
|
+
private vertexFormatId;
|
|
251
|
+
private bindInstanceAttributes;
|
|
252
|
+
private resolveAttributeLocation;
|
|
253
|
+
private applyDefaultAttributes;
|
|
254
|
+
private disableUnboundVertexAttributes;
|
|
255
|
+
private primitive;
|
|
256
|
+
private applyRenderState;
|
|
257
|
+
private requireBuffer;
|
|
258
|
+
private stencilCompare;
|
|
259
|
+
private stencilOperation;
|
|
260
|
+
private requireShader;
|
|
261
|
+
private assertAlive;
|
|
262
|
+
private assertFrame;
|
|
263
|
+
private readError;
|
|
264
|
+
}
|
|
265
|
+
//# sourceMappingURL=LeanWebGL2Device.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeanWebGL2Device.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/LeanWebGL2Device.ts"],"names":[],"mappings":"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"}
|