super-three 0.184.0 → 0.185.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/build/three.cjs +1260 -927
- package/build/three.core.js +1104 -829
- package/build/three.core.min.js +1 -1
- package/build/three.module.js +156 -98
- package/build/three.module.min.js +1 -1
- package/build/three.tsl.js +11 -4
- package/build/three.tsl.min.js +1 -1
- package/build/three.webgpu.js +7538 -3367
- package/build/three.webgpu.min.js +1 -1
- package/build/three.webgpu.nodes.js +7538 -3366
- package/build/three.webgpu.nodes.min.js +1 -1
- package/examples/jsm/Addons.js +3 -0
- package/examples/jsm/controls/ArcballControls.js +6 -2
- package/examples/jsm/controls/FirstPersonControls.js +79 -42
- package/examples/jsm/controls/TransformControls.js +68 -15
- package/examples/jsm/csm/CSMFrustum.js +31 -6
- package/examples/jsm/csm/CSMShadowNode.js +4 -1
- package/examples/jsm/effects/AsciiEffect.js +14 -1
- package/examples/jsm/exporters/DRACOExporter.js +27 -6
- package/examples/jsm/exporters/GLTFExporter.js +114 -12
- package/examples/jsm/exporters/PLYExporter.js +286 -73
- package/examples/jsm/exporters/USDZExporter.js +347 -112
- package/examples/jsm/generators/CityGenerator.js +346 -0
- package/examples/jsm/generators/ForestGenerator.js +347 -0
- package/examples/jsm/generators/TerrainGenerator.js +504 -0
- package/examples/jsm/generators/TreeGenerator.js +377 -0
- package/examples/jsm/generators/city/SidewalkGenerator.js +253 -0
- package/examples/jsm/generators/city/SkyscraperGenerator.js +1357 -0
- package/examples/jsm/geometries/LoftGeometry.js +355 -0
- package/examples/jsm/helpers/LightProbeGridHelper.js +1 -1
- package/examples/jsm/helpers/LightProbeHelper.js +5 -4
- package/examples/jsm/helpers/ViewHelper.js +16 -6
- package/examples/jsm/inspector/Inspector.js +53 -15
- package/examples/jsm/inspector/RendererInspector.js +152 -36
- package/examples/jsm/inspector/extensions/tsl-graph/TSLGraphEditor.js +1 -1
- package/examples/jsm/inspector/extensions/tsl-graph/TSLGraphLoader.js +1 -1
- package/examples/jsm/inspector/tabs/Console.js +200 -18
- package/examples/jsm/inspector/tabs/Memory.js +8 -0
- package/examples/jsm/inspector/tabs/Parameters.js +64 -4
- package/examples/jsm/inspector/tabs/Performance.js +21 -6
- package/examples/jsm/inspector/tabs/Settings.js +51 -9
- package/examples/jsm/inspector/tabs/Timeline.js +178 -93
- package/examples/jsm/inspector/tabs/Viewer.js +628 -16
- package/examples/jsm/inspector/ui/Graph.js +162 -25
- package/examples/jsm/inspector/ui/Item.js +92 -13
- package/examples/jsm/inspector/ui/List.js +1 -1
- package/examples/jsm/inspector/ui/Profiler.js +90 -45
- package/examples/jsm/inspector/ui/Style.js +1788 -1401
- package/examples/jsm/inspector/ui/Tab.js +5 -3
- package/examples/jsm/inspector/ui/Values.js +71 -6
- package/examples/jsm/inspector/ui/utils.js +130 -10
- package/examples/jsm/libs/basis/README.md +0 -1
- package/examples/jsm/libs/demuxer_mp4.js +3 -3
- package/examples/jsm/libs/draco/README.md +0 -1
- package/examples/jsm/libs/meshopt_clusterizer.module.js +421 -0
- package/examples/jsm/libs/meshopt_simplifier.module.js +627 -0
- package/examples/jsm/libs/mikktspace.module.js +34 -9
- package/examples/jsm/lighting/ClusteredLighting.js +55 -0
- package/examples/jsm/lighting/LightProbeGrid.js +106 -76
- package/examples/jsm/lines/LineMaterial.js +38 -15
- package/examples/jsm/lines/LineSegments2.js +8 -0
- package/examples/jsm/lines/webgpu/LineSegments2.js +8 -0
- package/examples/jsm/loaders/3DMLoader.js +1 -1
- package/examples/jsm/loaders/DRACOLoader.js +46 -13
- package/examples/jsm/loaders/EXRLoader.js +27 -55
- package/examples/jsm/loaders/HDRLoader.js +6 -28
- package/examples/jsm/loaders/KTX2Loader.js +31 -12
- package/examples/jsm/loaders/LDrawLoader.js +8 -8
- package/examples/jsm/loaders/LUT3dlLoader.js +2 -2
- package/examples/jsm/loaders/LUTCubeLoader.js +2 -2
- package/examples/jsm/loaders/LWOLoader.js +4 -0
- package/examples/jsm/loaders/LottieLoader.js +1 -1
- package/examples/jsm/loaders/MaterialXLoader.js +31 -9
- package/examples/jsm/loaders/NRRDLoader.js +3 -3
- package/examples/jsm/loaders/PCDLoader.js +7 -7
- package/examples/jsm/loaders/PLYLoader.js +218 -55
- package/examples/jsm/loaders/SVGLoader.js +547 -495
- package/examples/jsm/loaders/TTFLoader.js +1 -1
- package/examples/jsm/loaders/USDLoader.js +33 -9
- package/examples/jsm/loaders/VRMLLoader.js +1 -1
- package/examples/jsm/loaders/usd/USDAParser.js +93 -20
- package/examples/jsm/loaders/usd/USDCParser.js +1 -1
- package/examples/jsm/loaders/usd/USDComposer.js +52 -19
- package/examples/jsm/misc/TileCreasedNormalsPlugin.js +270 -0
- package/examples/jsm/misc/Volume.js +2 -2
- package/examples/jsm/objects/GroundedSkybox.js +1 -1
- package/examples/jsm/objects/Reflector.js +2 -3
- package/examples/jsm/objects/Water2Mesh.js +1 -1
- package/examples/jsm/physics/AmmoPhysics.js +15 -8
- package/examples/jsm/physics/RapierPhysics.js +27 -2
- package/examples/jsm/shaders/VolumeShader.js +31 -44
- package/examples/jsm/transpiler/GLSLDecoder.js +6 -6
- package/examples/jsm/transpiler/Linker.js +1 -1
- package/examples/jsm/tsl/display/BloomNode.js +59 -19
- package/examples/jsm/tsl/display/DepthOfFieldNode.js +2 -2
- package/examples/jsm/tsl/display/FXAANode.js +11 -12
- package/examples/jsm/tsl/display/GTAONode.js +34 -13
- package/examples/jsm/tsl/display/GodraysNode.js +1 -1
- package/examples/jsm/tsl/display/ImportanceSampledEnvironment.js +560 -0
- package/examples/jsm/tsl/display/PixelationPassNode.js +2 -2
- package/examples/jsm/tsl/display/RecurrentDenoiseNode.js +912 -0
- package/examples/jsm/tsl/display/SSAAPassNode.js +13 -25
- package/examples/jsm/tsl/display/SSGINode.js +89 -39
- package/examples/jsm/tsl/display/SSRNode.js +829 -132
- package/examples/jsm/tsl/display/SSSNode.js +2 -2
- package/examples/jsm/tsl/display/TemporalReprojectNode.js +1023 -0
- package/examples/jsm/tsl/lighting/ClusteredLightsNode.js +622 -0
- package/examples/jsm/tsl/lighting/DynamicLightsNode.js +1 -1
- package/examples/jsm/tsl/math/curlNoise.js +107 -0
- package/examples/jsm/tsl/shadows/TileShadowNode.js +1 -1
- package/examples/jsm/tsl/shadows/TileShadowNodeHelper.js +3 -3
- package/examples/jsm/tsl/utils/GroundedSkybox.js +62 -0
- package/examples/jsm/tsl/utils/RNoise.js +51 -0
- package/examples/jsm/tsl/utils/SpecularHelpers.js +325 -0
- package/examples/jsm/utils/BufferGeometryUtils.js +126 -59
- package/examples/jsm/utils/GeometryCompressionUtils.js +1 -1
- package/examples/jsm/utils/SceneOptimizer.js +1 -1
- package/examples/jsm/webxr/ARButton.js +1 -1
- package/examples/jsm/webxr/WebGLXRFallback.js +89 -0
- package/examples/jsm/webxr/XRControllerModelFactory.js +2 -2
- package/package.json +7 -7
- package/src/Three.TSL.js +10 -3
- package/src/Three.WebGPU.js +4 -0
- package/src/animation/AnimationAction.js +15 -11
- package/src/animation/AnimationClip.js +0 -139
- package/src/animation/KeyframeTrack.js +2 -2
- package/src/animation/PropertyBinding.js +2 -2
- package/src/cameras/Camera.js +2 -2
- package/src/cameras/StereoCamera.js +5 -2
- package/src/constants.js +1 -1
- package/src/core/BufferGeometry.js +29 -7
- package/src/core/Object3D.js +17 -7
- package/src/core/Raycaster.js +1 -1
- package/src/core/RenderTarget.js +15 -2
- package/src/extras/PMREMGenerator.js +6 -4
- package/src/extras/TextureUtils.js +1 -1
- package/src/extras/core/ShapePath.js +149 -160
- package/src/geometries/SphereGeometry.js +8 -3
- package/src/helpers/DirectionalLightHelper.js +2 -0
- package/src/helpers/HemisphereLightHelper.js +2 -0
- package/src/helpers/PointLightHelper.js +2 -0
- package/src/helpers/SpotLightHelper.js +1 -1
- package/src/loaders/DataTextureLoader.js +69 -38
- package/src/loaders/LoadingManager.js +5 -0
- package/src/loaders/MaterialLoader.js +36 -266
- package/src/loaders/ObjectLoader.js +3 -1
- package/src/materials/LineBasicMaterial.js +4 -0
- package/src/materials/Material.js +196 -1
- package/src/materials/MeshBasicMaterial.js +24 -0
- package/src/materials/MeshDepthMaterial.js +10 -0
- package/src/materials/MeshDistanceMaterial.js +10 -0
- package/src/materials/MeshLambertMaterial.js +40 -1
- package/src/materials/MeshMatcapMaterial.js +25 -1
- package/src/materials/MeshNormalMaterial.js +9 -1
- package/src/materials/MeshPhongMaterial.js +40 -1
- package/src/materials/MeshPhysicalMaterial.js +38 -0
- package/src/materials/MeshStandardMaterial.js +42 -1
- package/src/materials/MeshToonMaterial.js +34 -1
- package/src/materials/PointsMaterial.js +7 -0
- package/src/materials/ShaderMaterial.js +86 -0
- package/src/materials/SpriteMaterial.js +7 -0
- package/src/materials/nodes/Line2NodeMaterial.js +378 -322
- package/src/materials/nodes/MeshBasicNodeMaterial.js +2 -2
- package/src/materials/nodes/MeshNormalNodeMaterial.js +2 -2
- package/src/materials/nodes/MeshPhongNodeMaterial.js +0 -9
- package/src/materials/nodes/MeshPhysicalNodeMaterial.js +0 -30
- package/src/materials/nodes/MeshSSSNodeMaterial.js +0 -13
- package/src/materials/nodes/MeshStandardNodeMaterial.js +0 -11
- package/src/materials/nodes/NodeMaterial.js +115 -71
- package/src/materials/nodes/SpriteNodeMaterial.js +0 -10
- package/src/materials/nodes/manager/NodeMaterialObserver.js +49 -20
- package/src/math/Box3.js +5 -0
- package/src/math/FrustumArray.js +103 -133
- package/src/math/Interpolant.js +1 -1
- package/src/math/MathUtils.js +2 -2
- package/src/math/Matrix3.js +11 -0
- package/src/math/Matrix4.js +28 -3
- package/src/math/Vector2.js +2 -2
- package/src/math/Vector3.js +2 -2
- package/src/math/Vector4.js +2 -2
- package/src/math/interpolants/BezierInterpolant.js +4 -6
- package/src/nodes/Nodes.js +2 -5
- package/src/nodes/TSL.js +8 -6
- package/src/nodes/accessors/Arrays.js +4 -4
- package/src/nodes/accessors/Batch.js +108 -0
- package/src/nodes/accessors/Bitangent.js +2 -2
- package/src/nodes/accessors/BufferAttributeNode.js +13 -2
- package/src/nodes/accessors/Camera.js +7 -7
- package/src/nodes/accessors/ClippingNode.js +1 -1
- package/src/nodes/accessors/Instance.js +264 -0
- package/src/nodes/accessors/MaterialNode.js +18 -2
- package/src/nodes/accessors/MaterialProperties.js +4 -3
- package/src/nodes/accessors/{MorphNode.js → Morph.js} +99 -112
- package/src/nodes/accessors/Normal.js +13 -13
- package/src/nodes/accessors/Position.js +5 -1
- package/src/nodes/accessors/ReferenceNode.js +1 -0
- package/src/nodes/accessors/ReflectVector.js +3 -3
- package/src/nodes/accessors/SceneProperties.js +1 -1
- package/src/nodes/accessors/Skinning.js +263 -0
- package/src/nodes/accessors/StorageBufferNode.js +2 -2
- package/src/nodes/accessors/StorageTexture3DNode.js +100 -0
- package/src/nodes/accessors/StorageTextureNode.js +39 -7
- package/src/nodes/accessors/Tangent.js +4 -4
- package/src/nodes/accessors/TextureNode.js +60 -5
- package/src/nodes/code/FunctionNode.js +2 -16
- package/src/nodes/core/MRTNode.js +7 -2
- package/src/nodes/core/Node.js +39 -2
- package/src/nodes/core/NodeBuilder.js +201 -41
- package/src/nodes/core/NodeUtils.js +13 -13
- package/src/nodes/core/OutputStructNode.js +1 -1
- package/src/nodes/core/OverrideContextNode.js +153 -0
- package/src/nodes/core/PropertyNode.js +51 -5
- package/src/nodes/core/StackNode.js +56 -34
- package/src/nodes/core/StructNode.js +4 -6
- package/src/nodes/core/StructTypeNode.js +6 -6
- package/src/nodes/core/VarNode.js +8 -0
- package/src/nodes/core/VaryingNode.js +12 -2
- package/src/nodes/display/BlendModes.js +1 -41
- package/src/nodes/display/BumpMapNode.js +6 -1
- package/src/nodes/display/ColorAdjustment.js +10 -9
- package/src/nodes/display/FrontFacingNode.js +38 -9
- package/src/nodes/display/NormalMapNode.js +2 -2
- package/src/nodes/display/PassNode.js +35 -43
- package/src/nodes/display/PremultiplyAlphaFunctions.js +39 -0
- package/src/nodes/display/RenderOutputNode.js +12 -3
- package/src/nodes/functions/VolumetricLightingModel.js +40 -7
- package/src/nodes/gpgpu/WorkgroupInfoNode.js +1 -1
- package/src/nodes/lighting/EnvironmentNode.js +2 -2
- package/src/nodes/lighting/IESSpotLightNode.js +40 -2
- package/src/nodes/lighting/LightingContextNode.js +10 -2
- package/src/nodes/lighting/LightsNode.js +90 -37
- package/src/nodes/lighting/PointShadowNode.js +6 -1
- package/src/nodes/lighting/ShadowFilterNode.js +21 -52
- package/src/nodes/lighting/ShadowNode.js +34 -14
- package/src/nodes/materialx/lib/mx_noise.js +2 -2
- package/src/nodes/math/ConditionalNode.js +3 -3
- package/src/nodes/math/MathNode.js +39 -11
- package/src/nodes/math/OperatorNode.js +23 -23
- package/src/nodes/parsers/GLSLNodeFunction.js +1 -1
- package/src/nodes/pmrem/PMREMNode.js +33 -2
- package/src/nodes/tsl/TSLCore.js +63 -18
- package/src/nodes/utils/EquirectUV.js +30 -5
- package/src/nodes/utils/FunctionOverloadingNode.js +1 -1
- package/src/nodes/utils/Packing.js +35 -4
- package/src/nodes/utils/RTTNode.js +40 -24
- package/src/nodes/utils/ReflectorNode.js +1 -0
- package/src/nodes/utils/StorageArrayElementNode.js +1 -1
- package/src/objects/BatchedMesh.js +22 -14
- package/src/objects/InstancedMesh.js +0 -11
- package/src/objects/Skeleton.js +0 -9
- package/src/renderers/WebGLRenderer.js +19 -15
- package/src/renderers/common/Backend.js +49 -5
- package/src/renderers/common/Bindings.js +114 -45
- package/src/renderers/common/Buffer.js +9 -0
- package/src/renderers/common/ClippingContext.js +10 -2
- package/src/renderers/common/Info.js +63 -22
- package/src/renderers/common/Lighting.js +53 -5
- package/src/renderers/common/RenderList.js +41 -4
- package/src/renderers/common/RenderObject.js +73 -13
- package/src/renderers/common/Renderer.js +281 -108
- package/src/renderers/common/Sampler.js +16 -48
- package/src/renderers/common/Textures.js +32 -5
- package/src/renderers/common/TimestampQueryPool.js +1 -1
- package/src/renderers/common/UniformsGroup.js +31 -9
- package/src/renderers/common/XRManager.js +340 -22
- package/src/renderers/common/extras/PMREMGenerator.js +15 -38
- package/src/renderers/common/nodes/NodeBuilderState.js +9 -1
- package/src/renderers/common/nodes/NodeLibrary.js +4 -4
- package/src/renderers/common/nodes/NodeManager.js +63 -14
- package/src/renderers/common/nodes/NodeUniformBuffer.js +13 -0
- package/src/renderers/shaders/ShaderChunk/common.glsl.js +13 -4
- package/src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js +0 -6
- package/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +2 -2
- package/src/renderers/shaders/ShaderChunk/envmap_vertex.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +2 -2
- package/src/renderers/shaders/ShaderChunk/normal_vertex.glsl.js +6 -0
- package/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderLib/distance.glsl.js +1 -1
- package/src/renderers/webgl/WebGLOutput.js +2 -1
- package/src/renderers/webgl/WebGLProgram.js +5 -4
- package/src/renderers/webgl/WebGLPrograms.js +12 -5
- package/src/renderers/webgl/WebGLRenderLists.js +9 -1
- package/src/renderers/webgl/WebGLShaderCache.js +5 -11
- package/src/renderers/webgl/WebGLTextures.js +20 -7
- package/src/renderers/webgl/WebGLUniformsGroups.js +66 -38
- package/src/renderers/webgl-fallback/WebGLBackend.js +84 -25
- package/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +138 -8
- package/src/renderers/webgl-fallback/utils/WebGLAttributeUtils.js +1 -1
- package/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +52 -22
- package/src/renderers/webgl-fallback/utils/WebGLUtils.js +4 -2
- package/src/renderers/webgpu/WebGPUBackend.js +480 -169
- package/src/renderers/webgpu/descriptors/GPUBindGroupDescriptor.js +48 -0
- package/src/renderers/webgpu/descriptors/GPUBufferDescriptor.js +57 -0
- package/src/renderers/webgpu/descriptors/GPUCommandEncoderDescriptor.js +30 -0
- package/src/renderers/webgpu/descriptors/GPUComputePassDescriptor.js +38 -0
- package/src/renderers/webgpu/descriptors/GPUComputePipelineDescriptor.js +48 -0
- package/src/renderers/webgpu/descriptors/GPUCopyExternalImageDestInfo.js +47 -0
- package/src/renderers/webgpu/descriptors/GPUCopyExternalImageSourceInfo.js +50 -0
- package/src/renderers/webgpu/descriptors/GPUExtent3D.js +51 -0
- package/src/renderers/webgpu/descriptors/GPUPipelineLayoutDescriptor.js +39 -0
- package/src/renderers/webgpu/descriptors/GPUQuerySetDescriptor.js +47 -0
- package/src/renderers/webgpu/descriptors/GPURenderBundleEncoderDescriptor.js +74 -0
- package/src/renderers/webgpu/descriptors/GPURenderPassColorAttachment.js +72 -0
- package/src/renderers/webgpu/descriptors/GPURenderPassDepthStencilAttachment.js +99 -0
- package/src/renderers/webgpu/descriptors/GPURenderPassDescriptor.js +72 -0
- package/src/renderers/webgpu/descriptors/GPURenderPassTimestampWrites.js +49 -0
- package/src/renderers/webgpu/descriptors/GPURenderPipelineDescriptor.js +130 -0
- package/src/renderers/webgpu/descriptors/GPUSamplerDescriptor.js +119 -0
- package/src/renderers/webgpu/descriptors/GPUShaderModuleDescriptor.js +46 -0
- package/src/renderers/webgpu/descriptors/GPUTexelCopyBufferInfo.js +57 -0
- package/src/renderers/webgpu/descriptors/GPUTexelCopyBufferLayout.js +48 -0
- package/src/renderers/webgpu/descriptors/GPUTexelCopyTextureInfo.js +61 -0
- package/src/renderers/webgpu/descriptors/GPUTextureDescriptor.js +99 -0
- package/src/renderers/webgpu/descriptors/GPUTextureViewDescriptor.js +108 -0
- package/src/renderers/webgpu/nodes/StandardNodeLibrary.js +0 -1
- package/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +164 -7
- package/src/renderers/webgpu/nodes/WGSLNodeFunction.js +1 -1
- package/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +98 -38
- package/src/renderers/webgpu/utils/WebGPUBindingUtils.js +72 -68
- package/src/renderers/webgpu/utils/WebGPUPipelineUtils.js +164 -69
- package/src/renderers/webgpu/utils/WebGPUTexturePassUtils.js +158 -95
- package/src/renderers/webgpu/utils/WebGPUTextureUtils.js +297 -141
- package/src/renderers/webgpu/utils/WebGPUTimestampQueryPool.js +33 -18
- package/src/renderers/webgpu/utils/WebGPUUtils.js +38 -3
- package/src/textures/DepthTexture.js +1 -1
- package/src/textures/ExternalTexture.js +0 -3
- package/examples/fonts/LICENSE +0 -13
- package/examples/fonts/MPLUSRounded1c/MPLUSRounded1c-Regular.typeface.json.zip +0 -0
- package/examples/fonts/MPLUSRounded1c/OFL.txt +0 -91
- package/examples/fonts/README.md +0 -11
- package/examples/fonts/droid/NOTICE +0 -190
- package/examples/fonts/droid/README.txt +0 -18
- package/examples/fonts/droid/droid_sans_bold.typeface.json +0 -1
- package/examples/fonts/droid/droid_sans_mono_regular.typeface.json +0 -1
- package/examples/fonts/droid/droid_sans_regular.typeface.json +0 -1
- package/examples/fonts/droid/droid_serif_bold.typeface.json +0 -1
- package/examples/fonts/droid/droid_serif_regular.typeface.json +0 -1
- package/examples/fonts/gentilis_bold.typeface.json +0 -1
- package/examples/fonts/gentilis_regular.typeface.json +0 -1
- package/examples/fonts/helvetiker_bold.typeface.json +0 -1
- package/examples/fonts/helvetiker_regular.typeface.json +0 -1
- package/examples/fonts/optimer_bold.typeface.json +0 -1
- package/examples/fonts/optimer_regular.typeface.json +0 -1
- package/examples/fonts/ttf/README.md +0 -9
- package/examples/fonts/ttf/kenpixel.ttf +0 -0
- package/examples/jsm/inspector/extensions/extensions.json +0 -6
- package/examples/jsm/libs/ammo.wasm.js +0 -822
- package/examples/jsm/libs/ammo.wasm.wasm +0 -0
- package/examples/jsm/libs/draco/draco_encoder.js +0 -33
- package/examples/jsm/libs/draco/gltf/draco_encoder.js +0 -33
- package/examples/jsm/libs/lottie_canvas.module.js +0 -14849
- package/examples/jsm/libs/opentype.module.js +0 -14506
- package/examples/jsm/libs/rhino3dm/rhino3dm.js +0 -21
- package/examples/jsm/libs/rhino3dm/rhino3dm.module.js +0 -16
- package/examples/jsm/libs/rhino3dm/rhino3dm.wasm +0 -0
- package/examples/jsm/lighting/TiledLighting.js +0 -42
- package/examples/jsm/tsl/display/AnamorphicNode.js +0 -293
- package/examples/jsm/tsl/lighting/TiledLightsNode.js +0 -442
- package/src/nodes/accessors/BatchNode.js +0 -163
- package/src/nodes/accessors/InstanceNode.js +0 -349
- package/src/nodes/accessors/InstancedMeshNode.js +0 -50
- package/src/nodes/accessors/SkinningNode.js +0 -328
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable descriptor for `GPUDevice.createBindGroup()`.
|
|
3
|
+
*
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
class GPUBindGroupDescriptor {
|
|
7
|
+
|
|
8
|
+
constructor() {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The label of the bind group.
|
|
12
|
+
*
|
|
13
|
+
* @type {string}
|
|
14
|
+
*/
|
|
15
|
+
this.label = '';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The bind group layout the bind group conforms to.
|
|
19
|
+
*
|
|
20
|
+
* @type {?GPUBindGroupLayout}
|
|
21
|
+
* @default null
|
|
22
|
+
*/
|
|
23
|
+
this.layout = null;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The bind group entries.
|
|
27
|
+
*
|
|
28
|
+
* @type {Array<Object>}
|
|
29
|
+
*/
|
|
30
|
+
this.entries = [];
|
|
31
|
+
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Resets the descriptor to its default state. The internal `entries` array
|
|
36
|
+
* is emptied without releasing its backing storage.
|
|
37
|
+
*/
|
|
38
|
+
reset() {
|
|
39
|
+
|
|
40
|
+
this.label = '';
|
|
41
|
+
this.layout = null;
|
|
42
|
+
this.entries.length = 0;
|
|
43
|
+
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export default GPUBindGroupDescriptor;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable descriptor for `GPUDevice.createBuffer()`.
|
|
3
|
+
*
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
class GPUBufferDescriptor {
|
|
7
|
+
|
|
8
|
+
constructor() {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The label of the buffer.
|
|
12
|
+
*
|
|
13
|
+
* @type {string}
|
|
14
|
+
*/
|
|
15
|
+
this.label = '';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The size of the buffer in bytes.
|
|
19
|
+
*
|
|
20
|
+
* @type {number}
|
|
21
|
+
* @default 0
|
|
22
|
+
*/
|
|
23
|
+
this.size = 0;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The allowed usages for the buffer.
|
|
27
|
+
*
|
|
28
|
+
* @type {number}
|
|
29
|
+
* @default 0
|
|
30
|
+
*/
|
|
31
|
+
this.usage = 0;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Whether the buffer is in the mapped state at creation.
|
|
35
|
+
*
|
|
36
|
+
* @type {boolean}
|
|
37
|
+
* @default false
|
|
38
|
+
*/
|
|
39
|
+
this.mappedAtCreation = false;
|
|
40
|
+
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Resets the descriptor to its default state.
|
|
45
|
+
*/
|
|
46
|
+
reset() {
|
|
47
|
+
|
|
48
|
+
this.label = '';
|
|
49
|
+
this.size = 0;
|
|
50
|
+
this.usage = 0;
|
|
51
|
+
this.mappedAtCreation = false;
|
|
52
|
+
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export default GPUBufferDescriptor;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable descriptor for `GPUDevice.createCommandEncoder()`.
|
|
3
|
+
*
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
class GPUCommandEncoderDescriptor {
|
|
7
|
+
|
|
8
|
+
constructor() {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The label of the command encoder.
|
|
12
|
+
*
|
|
13
|
+
* @type {string}
|
|
14
|
+
*/
|
|
15
|
+
this.label = '';
|
|
16
|
+
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Resets the descriptor to its default state.
|
|
21
|
+
*/
|
|
22
|
+
reset() {
|
|
23
|
+
|
|
24
|
+
this.label = '';
|
|
25
|
+
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export default GPUCommandEncoderDescriptor;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable descriptor for `GPUCommandEncoder.beginComputePass()`.
|
|
3
|
+
*
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
class GPUComputePassDescriptor {
|
|
7
|
+
|
|
8
|
+
constructor() {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The label of the compute pass.
|
|
12
|
+
*
|
|
13
|
+
* @type {string}
|
|
14
|
+
*/
|
|
15
|
+
this.label = '';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Defines which timestamp values are written and where.
|
|
19
|
+
*
|
|
20
|
+
* @type {Object|undefined}
|
|
21
|
+
*/
|
|
22
|
+
this.timestampWrites = undefined;
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Resets the descriptor to its default state.
|
|
28
|
+
*/
|
|
29
|
+
reset() {
|
|
30
|
+
|
|
31
|
+
this.label = '';
|
|
32
|
+
this.timestampWrites = undefined;
|
|
33
|
+
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export default GPUComputePassDescriptor;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable descriptor for `GPUDevice.createComputePipeline()`.
|
|
3
|
+
*
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
class GPUComputePipelineDescriptor {
|
|
7
|
+
|
|
8
|
+
constructor() {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The label of the compute pipeline.
|
|
12
|
+
*
|
|
13
|
+
* @type {string}
|
|
14
|
+
*/
|
|
15
|
+
this.label = '';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The pipeline layout the pipeline conforms to, or `'auto'`.
|
|
19
|
+
*
|
|
20
|
+
* @type {?GPUPipelineLayout|string}
|
|
21
|
+
* @default null
|
|
22
|
+
*/
|
|
23
|
+
this.layout = null;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The programmable compute stage.
|
|
27
|
+
*
|
|
28
|
+
* @type {?Object}
|
|
29
|
+
* @default null
|
|
30
|
+
*/
|
|
31
|
+
this.compute = null;
|
|
32
|
+
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Resets the descriptor to its default state.
|
|
37
|
+
*/
|
|
38
|
+
reset() {
|
|
39
|
+
|
|
40
|
+
this.label = '';
|
|
41
|
+
this.layout = null;
|
|
42
|
+
this.compute = null;
|
|
43
|
+
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export default GPUComputePipelineDescriptor;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import GPUTexelCopyTextureInfo from './GPUTexelCopyTextureInfo.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Reusable descriptor for `GPUCopyExternalImageDestInfo`, the destination
|
|
5
|
+
* argument to `GPUQueue.copyExternalImageToTexture()`.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @augments GPUTexelCopyTextureInfo
|
|
9
|
+
*/
|
|
10
|
+
class GPUCopyExternalImageDestInfo extends GPUTexelCopyTextureInfo {
|
|
11
|
+
|
|
12
|
+
constructor() {
|
|
13
|
+
|
|
14
|
+
super();
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The predefined color space the destination texture is interpreted in.
|
|
18
|
+
*
|
|
19
|
+
* @type {string}
|
|
20
|
+
* @default 'srgb'
|
|
21
|
+
*/
|
|
22
|
+
this.colorSpace = 'srgb';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Whether the destination texture has premultiplied alpha.
|
|
26
|
+
*
|
|
27
|
+
* @type {boolean}
|
|
28
|
+
* @default false
|
|
29
|
+
*/
|
|
30
|
+
this.premultipliedAlpha = false;
|
|
31
|
+
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Resets the descriptor to its default state.
|
|
36
|
+
*/
|
|
37
|
+
reset() {
|
|
38
|
+
|
|
39
|
+
super.reset();
|
|
40
|
+
this.colorSpace = 'srgb';
|
|
41
|
+
this.premultipliedAlpha = false;
|
|
42
|
+
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export default GPUCopyExternalImageDestInfo;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable descriptor for `GPUCopyExternalImageSourceInfo`, the source argument
|
|
3
|
+
* to `GPUQueue.copyExternalImageToTexture()`.
|
|
4
|
+
*
|
|
5
|
+
* @private
|
|
6
|
+
*/
|
|
7
|
+
class GPUCopyExternalImageSourceInfo {
|
|
8
|
+
|
|
9
|
+
constructor() {
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The image-like source.
|
|
13
|
+
*
|
|
14
|
+
* @type {?(ImageBitmap|ImageData|HTMLImageElement|HTMLVideoElement|VideoFrame|HTMLCanvasElement|OffscreenCanvas)}
|
|
15
|
+
* @default null
|
|
16
|
+
*/
|
|
17
|
+
this.source = null;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The origin offset within the source.
|
|
21
|
+
*
|
|
22
|
+
* @type {{x: number, y: number}}
|
|
23
|
+
*/
|
|
24
|
+
this.origin = { x: 0, y: 0 };
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Whether the source is flipped vertically before copying.
|
|
28
|
+
*
|
|
29
|
+
* @type {boolean}
|
|
30
|
+
* @default false
|
|
31
|
+
*/
|
|
32
|
+
this.flipY = false;
|
|
33
|
+
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Resets the descriptor to its default state.
|
|
38
|
+
*/
|
|
39
|
+
reset() {
|
|
40
|
+
|
|
41
|
+
this.source = null;
|
|
42
|
+
this.origin.x = 0;
|
|
43
|
+
this.origin.y = 0;
|
|
44
|
+
this.flipY = false;
|
|
45
|
+
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export default GPUCopyExternalImageSourceInfo;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable descriptor for `GPUExtent3D` in its dictionary form, used by
|
|
3
|
+
* `GPUQueue.writeTexture()`, `GPUQueue.copyExternalImageToTexture()` and
|
|
4
|
+
* the various `GPUCommandEncoder` copy methods.
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
*/
|
|
8
|
+
class GPUExtent3D {
|
|
9
|
+
|
|
10
|
+
constructor() {
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* The width of the extent.
|
|
14
|
+
*
|
|
15
|
+
* @type {number}
|
|
16
|
+
* @default 0
|
|
17
|
+
*/
|
|
18
|
+
this.width = 0;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The height of the extent.
|
|
22
|
+
*
|
|
23
|
+
* @type {number}
|
|
24
|
+
* @default 1
|
|
25
|
+
*/
|
|
26
|
+
this.height = 1;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* The depth (for 3D textures) or number of array layers.
|
|
30
|
+
*
|
|
31
|
+
* @type {number}
|
|
32
|
+
* @default 1
|
|
33
|
+
*/
|
|
34
|
+
this.depthOrArrayLayers = 1;
|
|
35
|
+
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Resets the descriptor to its default state.
|
|
40
|
+
*/
|
|
41
|
+
reset() {
|
|
42
|
+
|
|
43
|
+
this.width = 0;
|
|
44
|
+
this.height = 1;
|
|
45
|
+
this.depthOrArrayLayers = 1;
|
|
46
|
+
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export default GPUExtent3D;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable descriptor for `GPUDevice.createPipelineLayout()`.
|
|
3
|
+
*
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
class GPUPipelineLayoutDescriptor {
|
|
7
|
+
|
|
8
|
+
constructor() {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The label of the pipeline layout.
|
|
12
|
+
*
|
|
13
|
+
* @type {string}
|
|
14
|
+
*/
|
|
15
|
+
this.label = '';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The set of bind group layouts the pipeline layout describes.
|
|
19
|
+
*
|
|
20
|
+
* @type {?Array<?GPUBindGroupLayout>}
|
|
21
|
+
* @default null
|
|
22
|
+
*/
|
|
23
|
+
this.bindGroupLayouts = null;
|
|
24
|
+
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Resets the descriptor to its default state.
|
|
29
|
+
*/
|
|
30
|
+
reset() {
|
|
31
|
+
|
|
32
|
+
this.label = '';
|
|
33
|
+
this.bindGroupLayouts = null;
|
|
34
|
+
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export default GPUPipelineLayoutDescriptor;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable descriptor for `GPUDevice.createQuerySet()`.
|
|
3
|
+
*
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
class GPUQuerySetDescriptor {
|
|
7
|
+
|
|
8
|
+
constructor() {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The label of the query set.
|
|
12
|
+
*
|
|
13
|
+
* @type {string}
|
|
14
|
+
*/
|
|
15
|
+
this.label = '';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The type of queries managed by the set.
|
|
19
|
+
*
|
|
20
|
+
* @type {string|undefined}
|
|
21
|
+
*/
|
|
22
|
+
this.type = undefined;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The number of queries managed by the set.
|
|
26
|
+
*
|
|
27
|
+
* @type {number}
|
|
28
|
+
* @default 0
|
|
29
|
+
*/
|
|
30
|
+
this.count = 0;
|
|
31
|
+
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Resets the descriptor to its default state.
|
|
36
|
+
*/
|
|
37
|
+
reset() {
|
|
38
|
+
|
|
39
|
+
this.label = '';
|
|
40
|
+
this.type = undefined;
|
|
41
|
+
this.count = 0;
|
|
42
|
+
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export default GPUQuerySetDescriptor;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable descriptor for `GPUDevice.createRenderBundleEncoder()`.
|
|
3
|
+
*
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
class GPURenderBundleEncoderDescriptor {
|
|
7
|
+
|
|
8
|
+
constructor() {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The label of the render bundle encoder.
|
|
12
|
+
*
|
|
13
|
+
* @type {string}
|
|
14
|
+
*/
|
|
15
|
+
this.label = '';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The formats of the color attachments the bundle is compatible with.
|
|
19
|
+
*
|
|
20
|
+
* @type {?Array<?string>}
|
|
21
|
+
* @default null
|
|
22
|
+
*/
|
|
23
|
+
this.colorFormats = null;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The format of the depth/stencil attachment the bundle is compatible with.
|
|
27
|
+
*
|
|
28
|
+
* @type {string|undefined}
|
|
29
|
+
*/
|
|
30
|
+
this.depthStencilFormat = undefined;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* The number of samples per pixel the bundle is compatible with.
|
|
34
|
+
*
|
|
35
|
+
* @type {number}
|
|
36
|
+
* @default 1
|
|
37
|
+
*/
|
|
38
|
+
this.sampleCount = 1;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Whether the depth attachment is read-only.
|
|
42
|
+
*
|
|
43
|
+
* @type {boolean}
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
this.depthReadOnly = false;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Whether the stencil attachment is read-only.
|
|
50
|
+
*
|
|
51
|
+
* @type {boolean}
|
|
52
|
+
* @default false
|
|
53
|
+
*/
|
|
54
|
+
this.stencilReadOnly = false;
|
|
55
|
+
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Resets the descriptor to its default state.
|
|
60
|
+
*/
|
|
61
|
+
reset() {
|
|
62
|
+
|
|
63
|
+
this.label = '';
|
|
64
|
+
this.colorFormats = null;
|
|
65
|
+
this.depthStencilFormat = undefined;
|
|
66
|
+
this.sampleCount = 1;
|
|
67
|
+
this.depthReadOnly = false;
|
|
68
|
+
this.stencilReadOnly = false;
|
|
69
|
+
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export default GPURenderBundleEncoderDescriptor;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable descriptor for `GPURenderPassColorAttachment`, the type of each
|
|
3
|
+
* entry in `GPURenderPassDescriptor.colorAttachments`.
|
|
4
|
+
*
|
|
5
|
+
* @private
|
|
6
|
+
*/
|
|
7
|
+
class GPURenderPassColorAttachment {
|
|
8
|
+
|
|
9
|
+
constructor() {
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The texture view the pass renders into.
|
|
13
|
+
*
|
|
14
|
+
* @type {?GPUTextureView}
|
|
15
|
+
* @default null
|
|
16
|
+
*/
|
|
17
|
+
this.view = null;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The depth slice the pass renders into.
|
|
21
|
+
*
|
|
22
|
+
* @type {number|undefined}
|
|
23
|
+
*/
|
|
24
|
+
this.depthSlice = undefined;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The texture view that receives the resolved output of multisampled rendering.
|
|
28
|
+
*
|
|
29
|
+
* @type {?GPUTextureView|undefined}
|
|
30
|
+
*/
|
|
31
|
+
this.resolveTarget = undefined;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* The clear value used when `loadOp` is `'clear'`.
|
|
35
|
+
*
|
|
36
|
+
* @type {Object|undefined}
|
|
37
|
+
*/
|
|
38
|
+
this.clearValue = undefined;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* The load operation performed at the start of the pass.
|
|
42
|
+
*
|
|
43
|
+
* @type {string|undefined}
|
|
44
|
+
*/
|
|
45
|
+
this.loadOp = undefined;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The store operation performed at the end of the pass.
|
|
49
|
+
*
|
|
50
|
+
* @type {string|undefined}
|
|
51
|
+
*/
|
|
52
|
+
this.storeOp = undefined;
|
|
53
|
+
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Resets the descriptor to its default state.
|
|
58
|
+
*/
|
|
59
|
+
reset() {
|
|
60
|
+
|
|
61
|
+
this.view = null;
|
|
62
|
+
this.depthSlice = undefined;
|
|
63
|
+
this.resolveTarget = undefined;
|
|
64
|
+
this.clearValue = undefined;
|
|
65
|
+
this.loadOp = undefined;
|
|
66
|
+
this.storeOp = undefined;
|
|
67
|
+
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export default GPURenderPassColorAttachment;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable descriptor for `GPURenderPassDepthStencilAttachment`, the
|
|
3
|
+
* `depthStencilAttachment` field of `GPURenderPassDescriptor`.
|
|
4
|
+
*
|
|
5
|
+
* @private
|
|
6
|
+
*/
|
|
7
|
+
class GPURenderPassDepthStencilAttachment {
|
|
8
|
+
|
|
9
|
+
constructor() {
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The depth/stencil texture view the pass renders into.
|
|
13
|
+
*
|
|
14
|
+
* @type {?GPUTextureView}
|
|
15
|
+
* @default null
|
|
16
|
+
*/
|
|
17
|
+
this.view = null;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The load operation applied to the depth aspect at the start of the pass.
|
|
21
|
+
*
|
|
22
|
+
* @type {string|undefined}
|
|
23
|
+
*/
|
|
24
|
+
this.depthLoadOp = undefined;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The store operation applied to the depth aspect at the end of the pass.
|
|
28
|
+
*
|
|
29
|
+
* @type {string|undefined}
|
|
30
|
+
*/
|
|
31
|
+
this.depthStoreOp = undefined;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* The clear value used when `depthLoadOp` is `'clear'`.
|
|
35
|
+
*
|
|
36
|
+
* @type {number|undefined}
|
|
37
|
+
*/
|
|
38
|
+
this.depthClearValue = undefined;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Whether the depth aspect is read-only.
|
|
42
|
+
*
|
|
43
|
+
* @type {boolean}
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
this.depthReadOnly = false;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* The load operation applied to the stencil aspect at the start of the pass.
|
|
50
|
+
*
|
|
51
|
+
* @type {string|undefined}
|
|
52
|
+
*/
|
|
53
|
+
this.stencilLoadOp = undefined;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* The store operation applied to the stencil aspect at the end of the pass.
|
|
57
|
+
*
|
|
58
|
+
* @type {string|undefined}
|
|
59
|
+
*/
|
|
60
|
+
this.stencilStoreOp = undefined;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* The clear value used when `stencilLoadOp` is `'clear'`.
|
|
64
|
+
*
|
|
65
|
+
* @type {number}
|
|
66
|
+
* @default 0
|
|
67
|
+
*/
|
|
68
|
+
this.stencilClearValue = 0;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Whether the stencil aspect is read-only.
|
|
72
|
+
*
|
|
73
|
+
* @type {boolean}
|
|
74
|
+
* @default false
|
|
75
|
+
*/
|
|
76
|
+
this.stencilReadOnly = false;
|
|
77
|
+
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Resets the descriptor to its default state.
|
|
82
|
+
*/
|
|
83
|
+
reset() {
|
|
84
|
+
|
|
85
|
+
this.view = null;
|
|
86
|
+
this.depthLoadOp = undefined;
|
|
87
|
+
this.depthStoreOp = undefined;
|
|
88
|
+
this.depthClearValue = undefined;
|
|
89
|
+
this.depthReadOnly = false;
|
|
90
|
+
this.stencilLoadOp = undefined;
|
|
91
|
+
this.stencilStoreOp = undefined;
|
|
92
|
+
this.stencilClearValue = 0;
|
|
93
|
+
this.stencilReadOnly = false;
|
|
94
|
+
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export default GPURenderPassDepthStencilAttachment;
|