@plastic-software/three 0.180.0 → 0.181.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/build/three.cjs +943 -486
- package/build/three.core.js +506 -327
- package/build/three.core.min.js +1 -1
- package/build/three.module.js +435 -163
- package/build/three.module.min.js +1 -1
- package/build/three.tsl.js +8 -2
- package/build/three.tsl.min.js +1 -1
- package/build/three.webgpu.js +3753 -1177
- package/build/three.webgpu.min.js +1 -1
- package/build/three.webgpu.nodes.js +3752 -1176
- package/build/three.webgpu.nodes.min.js +1 -1
- package/examples/fonts/MPLUSRounded1c/MPLUSRounded1c-Regular.typeface.json.zip +0 -0
- package/examples/fonts/MPLUSRounded1c/OFL.txt +91 -0
- package/examples/jsm/animation/CCDIKSolver.js +1 -1
- package/examples/jsm/controls/ArcballControls.js +1 -1
- package/examples/jsm/controls/DragControls.js +1 -1
- package/examples/jsm/controls/FirstPersonControls.js +1 -1
- package/examples/jsm/controls/FlyControls.js +1 -1
- package/examples/jsm/controls/OrbitControls.js +2 -2
- package/examples/jsm/controls/PointerLockControls.js +2 -2
- package/examples/jsm/controls/TrackballControls.js +1 -1
- package/examples/jsm/controls/TransformControls.js +1 -1
- package/examples/jsm/effects/AsciiEffect.js +8 -8
- package/examples/jsm/exporters/DRACOExporter.js +2 -2
- package/examples/jsm/exporters/EXRExporter.js +1 -1
- package/examples/jsm/exporters/GLTFExporter.js +3 -3
- package/examples/jsm/exporters/USDZExporter.js +9 -2
- package/examples/jsm/geometries/DecalGeometry.js +2 -2
- package/examples/jsm/geometries/ParametricGeometry.js +1 -1
- package/examples/jsm/geometries/TeapotGeometry.js +2 -2
- package/examples/jsm/geometries/TextGeometry.js +3 -2
- package/examples/jsm/gpgpu/BitonicSort.js +715 -0
- package/examples/jsm/helpers/ViewHelper.js +43 -5
- package/examples/jsm/inspector/Inspector.js +427 -0
- package/examples/jsm/inspector/RendererInspector.js +415 -0
- package/examples/jsm/inspector/tabs/Console.js +204 -0
- package/examples/jsm/inspector/tabs/Parameters.js +332 -0
- package/examples/jsm/inspector/tabs/Performance.js +268 -0
- package/examples/jsm/inspector/tabs/Viewer.js +166 -0
- package/examples/jsm/inspector/ui/Graph.js +95 -0
- package/examples/jsm/inspector/ui/Item.js +170 -0
- package/examples/jsm/inspector/ui/List.js +75 -0
- package/examples/jsm/inspector/ui/Profiler.js +170 -0
- package/examples/jsm/inspector/ui/Style.js +654 -0
- package/examples/jsm/inspector/ui/Tab.js +46 -0
- package/examples/jsm/inspector/ui/Values.js +423 -0
- package/examples/jsm/inspector/ui/utils.js +56 -0
- package/examples/jsm/interactive/HTMLMesh.js +6 -10
- package/examples/jsm/interactive/InteractiveGroup.js +1 -1
- package/examples/jsm/interactive/SelectionBox.js +30 -0
- package/examples/jsm/lights/RectAreaLightTexturesLib.js +1 -1
- package/examples/jsm/loaders/3MFLoader.js +1 -1
- package/examples/jsm/loaders/ColladaLoader.js +2 -2
- package/examples/jsm/loaders/DDSLoader.js +1 -1
- package/examples/jsm/loaders/DRACOLoader.js +73 -22
- package/examples/jsm/loaders/FBXLoader.js +2 -2
- package/examples/jsm/loaders/FontLoader.js +23 -5
- package/examples/jsm/loaders/GLTFLoader.js +5 -3
- package/examples/jsm/loaders/KTX2Loader.js +28 -21
- package/examples/jsm/loaders/KTXLoader.js +2 -2
- package/examples/jsm/loaders/LDrawLoader.js +1 -1
- package/examples/jsm/loaders/LUT3dlLoader.js +2 -2
- package/examples/jsm/loaders/LUTCubeLoader.js +1 -1
- package/examples/jsm/loaders/LWOLoader.js +2 -2
- package/examples/jsm/loaders/MaterialXLoader.js +22 -5
- package/examples/jsm/loaders/OBJLoader.js +1 -1
- package/examples/jsm/loaders/PDBLoader.js +1 -1
- package/examples/jsm/loaders/SVGLoader.js +2 -2
- package/examples/jsm/loaders/UltraHDRLoader.js +1 -1
- package/examples/jsm/math/ConvexHull.js +1 -1
- package/examples/jsm/math/ImprovedNoise.js +1 -1
- package/examples/jsm/math/SimplexNoise.js +1 -1
- package/examples/jsm/misc/ProgressiveLightMap.js +9 -3
- package/examples/jsm/misc/ProgressiveLightMapGPU.js +7 -1
- package/examples/jsm/misc/TubePainter.js +383 -40
- package/examples/jsm/modifiers/SimplifyModifier.js +1 -1
- package/examples/jsm/objects/ReflectorForSSRPass.js +1 -0
- package/examples/jsm/objects/Sky.js +1 -1
- package/examples/jsm/objects/SkyMesh.js +1 -1
- package/examples/jsm/objects/Water.js +3 -3
- package/examples/jsm/objects/WaterMesh.js +6 -6
- package/examples/jsm/postprocessing/GlitchPass.js +2 -2
- package/examples/jsm/postprocessing/UnrealBloomPass.js +8 -6
- package/examples/jsm/renderers/CSS2DRenderer.js +16 -5
- package/examples/jsm/renderers/CSS3DRenderer.js +7 -6
- package/examples/jsm/renderers/SVGRenderer.js +1 -1
- package/examples/jsm/shaders/ACESFilmicToneMappingShader.js +1 -1
- package/examples/jsm/shaders/AfterimageShader.js +1 -1
- package/examples/jsm/shaders/BleachBypassShader.js +1 -1
- package/examples/jsm/shaders/BokehShader.js +1 -1
- package/examples/jsm/shaders/BokehShader2.js +1 -1
- package/examples/jsm/shaders/DotScreenShader.js +1 -1
- package/examples/jsm/shaders/FocusShader.js +1 -1
- package/examples/jsm/shaders/GTAOShader.js +2 -2
- package/examples/jsm/shaders/GodRaysShader.js +1 -1
- package/examples/jsm/shaders/KaleidoShader.js +1 -1
- package/examples/jsm/shaders/PoissonDenoiseShader.js +2 -2
- package/examples/jsm/shaders/SSRShader.js +1 -1
- package/examples/jsm/shaders/SepiaShader.js +1 -1
- package/examples/jsm/shaders/SubsurfaceScatteringShader.js +1 -1
- package/examples/jsm/shaders/TriangleBlurShader.js +1 -1
- package/examples/jsm/shaders/VignetteShader.js +1 -1
- package/examples/jsm/transpiler/TSLEncoder.js +7 -0
- package/examples/jsm/tsl/display/AfterImageNode.js +26 -24
- package/examples/jsm/tsl/display/AnamorphicNode.js +2 -1
- package/examples/jsm/tsl/display/BloomNode.js +4 -0
- package/examples/jsm/tsl/display/DenoiseNode.js +2 -0
- package/examples/jsm/tsl/display/DepthOfFieldNode.js +7 -0
- package/examples/jsm/tsl/display/GTAONode.js +45 -5
- package/examples/jsm/tsl/display/GaussianBlurNode.js +5 -3
- package/examples/jsm/tsl/display/OutlineNode.js +11 -0
- package/examples/jsm/tsl/display/SSGINode.js +654 -0
- package/examples/jsm/tsl/display/SSRNode.js +2 -0
- package/examples/jsm/tsl/display/SSSNode.js +488 -0
- package/examples/jsm/tsl/display/TRAANode.js +123 -6
- package/examples/jsm/tsl/display/boxBlur.js +1 -0
- package/examples/jsm/tsl/display/hashBlur.js +1 -0
- package/examples/jsm/tsl/lighting/TiledLightsNode.js +21 -1
- package/examples/jsm/webxr/XRControllerModelFactory.js +1 -1
- package/examples/jsm/webxr/XRHandModelFactory.js +2 -6
- package/package.json +5 -10
- package/src/Three.Core.js +3 -2
- package/src/Three.TSL.js +7 -1
- package/src/Three.WebGPU.Nodes.js +2 -0
- package/src/Three.WebGPU.js +2 -0
- package/src/animation/AnimationClip.js +3 -2
- package/src/animation/AnimationMixer.js +3 -3
- package/src/animation/AnimationObjectGroup.js +2 -1
- package/src/animation/KeyframeTrack.js +7 -6
- package/src/animation/PropertyBinding.js +12 -11
- package/src/audio/Audio.js +10 -9
- package/src/audio/PositionalAudio.js +1 -1
- package/src/cameras/OrthographicCamera.js +1 -1
- package/src/cameras/PerspectiveCamera.js +1 -1
- package/src/cameras/StereoCamera.js +2 -2
- package/src/constants.js +1 -1
- package/src/core/BufferGeometry.js +8 -8
- package/src/core/EventDispatcher.js +1 -1
- package/src/core/InterleavedBuffer.js +1 -1
- package/src/core/InterleavedBufferAttribute.js +3 -2
- package/src/core/Object3D.js +3 -2
- package/src/core/Raycaster.js +2 -1
- package/src/core/RenderTarget.js +10 -1
- package/src/extras/Controls.js +5 -4
- package/src/extras/DataUtils.js +2 -1
- package/src/extras/Earcut.js +6 -0
- package/src/extras/ImageUtils.js +2 -2
- package/src/extras/PMREMGenerator.js +268 -55
- package/src/extras/core/Curve.js +2 -1
- package/src/extras/core/Interpolations.js +7 -1
- package/src/extras/core/ShapePath.js +4 -4
- package/src/extras/lib/earcut.js +7 -7
- package/src/geometries/BoxGeometry.js +1 -0
- package/src/geometries/CapsuleGeometry.js +1 -0
- package/src/geometries/CircleGeometry.js +1 -0
- package/src/geometries/ConeGeometry.js +1 -0
- package/src/geometries/CylinderGeometry.js +1 -0
- package/src/geometries/DodecahedronGeometry.js +1 -0
- package/src/geometries/ExtrudeGeometry.js +8 -6
- package/src/geometries/IcosahedronGeometry.js +1 -0
- package/src/geometries/LatheGeometry.js +1 -0
- package/src/geometries/OctahedronGeometry.js +1 -0
- package/src/geometries/PlaneGeometry.js +1 -0
- package/src/geometries/RingGeometry.js +1 -0
- package/src/geometries/ShapeGeometry.js +1 -0
- package/src/geometries/SphereGeometry.js +1 -0
- package/src/geometries/TetrahedronGeometry.js +1 -0
- package/src/geometries/TorusGeometry.js +1 -0
- package/src/geometries/TorusKnotGeometry.js +1 -0
- package/src/geometries/TubeGeometry.js +1 -0
- package/src/helpers/CameraHelper.js +1 -1
- package/src/loaders/AnimationLoader.js +2 -1
- package/src/loaders/AudioLoader.js +2 -1
- package/src/loaders/BufferGeometryLoader.js +2 -2
- package/src/loaders/Cache.js +2 -2
- package/src/loaders/DataTextureLoader.js +1 -1
- package/src/loaders/FileLoader.js +3 -2
- package/src/loaders/ImageBitmapLoader.js +5 -4
- package/src/loaders/ImageLoader.js +1 -1
- package/src/loaders/Loader.js +3 -3
- package/src/loaders/LoadingManager.js +25 -3
- package/src/loaders/MaterialLoader.js +3 -2
- package/src/loaders/ObjectLoader.js +13 -13
- package/src/loaders/TextureLoader.js +1 -1
- package/src/loaders/nodes/NodeLoader.js +3 -2
- package/src/materials/Material.js +4 -3
- package/src/materials/MeshBasicMaterial.js +1 -0
- package/src/materials/MeshDepthMaterial.js +1 -0
- package/src/materials/MeshLambertMaterial.js +2 -1
- package/src/materials/MeshMatcapMaterial.js +22 -0
- package/src/materials/MeshNormalMaterial.js +1 -0
- package/src/materials/MeshPhongMaterial.js +2 -1
- package/src/materials/MeshPhysicalMaterial.js +2 -1
- package/src/materials/MeshStandardMaterial.js +8 -7
- package/src/materials/MeshToonMaterial.js +1 -0
- package/src/materials/PointsMaterial.js +1 -1
- package/src/materials/ShaderMaterial.js +2 -2
- package/src/materials/nodes/Line2NodeMaterial.js +2 -2
- package/src/materials/nodes/MeshSSSNodeMaterial.js +1 -1
- package/src/materials/nodes/NodeMaterial.js +62 -22
- package/src/materials/nodes/manager/NodeMaterialObserver.js +2 -1
- package/src/math/Color.js +6 -5
- package/src/math/ColorManagement.js +2 -2
- package/src/math/Cylindrical.js +1 -1
- package/src/math/Euler.js +2 -1
- package/src/math/MathUtils.js +13 -11
- package/src/math/Matrix2.js +1 -1
- package/src/math/Matrix3.js +2 -2
- package/src/math/Matrix4.js +7 -7
- package/src/math/Plane.js +1 -1
- package/src/math/Quaternion.js +68 -66
- package/src/math/Spherical.js +1 -1
- package/src/nodes/Nodes.js +1 -1
- package/src/nodes/TSL.js +1 -1
- package/src/nodes/accessors/CubeTextureNode.js +3 -2
- package/src/nodes/accessors/InstanceNode.js +22 -4
- package/src/nodes/accessors/Lights.js +10 -0
- package/src/nodes/accessors/Normal.js +5 -4
- package/src/nodes/accessors/Position.js +18 -2
- package/src/nodes/accessors/ReferenceNode.js +2 -1
- package/src/nodes/accessors/SceneNode.js +2 -1
- package/src/nodes/accessors/StorageBufferNode.js +2 -1
- package/src/nodes/accessors/StorageTextureNode.js +22 -0
- package/src/nodes/accessors/Texture3DNode.js +1 -1
- package/src/nodes/accessors/TextureNode.js +61 -27
- package/src/nodes/code/FunctionCallNode.js +5 -4
- package/src/nodes/core/ArrayNode.js +1 -0
- package/src/nodes/core/AttributeNode.js +2 -1
- package/src/nodes/core/ContextNode.js +5 -10
- package/src/nodes/core/IndexNode.js +2 -2
- package/src/nodes/core/InputNode.js +2 -1
- package/src/nodes/core/InspectorNode.js +128 -0
- package/src/nodes/core/{CacheNode.js → IsolateNode.js} +40 -7
- package/src/nodes/core/Node.js +137 -12
- package/src/nodes/core/NodeBuilder.js +135 -21
- package/src/nodes/core/NodeFrame.js +20 -20
- package/src/nodes/core/NodeFunction.js +2 -1
- package/src/nodes/core/NodeParser.js +2 -1
- package/src/nodes/core/NodeUtils.js +17 -90
- package/src/nodes/core/ParameterNode.js +31 -0
- package/src/nodes/core/PropertyNode.js +7 -0
- package/src/nodes/core/StackNode.js +16 -14
- package/src/nodes/core/UniformNode.js +2 -1
- package/src/nodes/core/VarNode.js +70 -12
- package/src/nodes/core/VaryingNode.js +3 -2
- package/src/nodes/display/BlendModes.js +5 -4
- package/src/nodes/display/BumpMapNode.js +1 -1
- package/src/nodes/display/ColorAdjustment.js +1 -1
- package/src/nodes/display/NormalMapNode.js +2 -1
- package/src/nodes/display/PassNode.js +51 -10
- package/src/nodes/display/RenderOutputNode.js +28 -2
- package/src/nodes/display/ScreenNode.js +2 -1
- package/src/nodes/display/ToneMappingNode.js +31 -4
- package/src/nodes/display/ToonOutlinePassNode.js +8 -0
- package/src/nodes/fog/Fog.js +3 -2
- package/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.js +52 -0
- package/src/nodes/functions/BSDF/DFGApprox.js +60 -19
- package/src/nodes/functions/BasicLightingModel.js +2 -1
- package/src/nodes/functions/PhysicalLightingModel.js +3 -2
- package/src/nodes/functions/VolumetricLightingModel.js +5 -5
- package/src/nodes/geometry/RangeNode.js +40 -4
- package/src/nodes/gpgpu/ComputeBuiltinNode.js +2 -1
- package/src/nodes/gpgpu/ComputeNode.js +17 -5
- package/src/nodes/gpgpu/SubgroupFunctionNode.js +25 -0
- package/src/nodes/gpgpu/WorkgroupInfoNode.js +2 -1
- package/src/nodes/lighting/EnvironmentNode.js +6 -6
- package/src/nodes/lighting/LightsNode.js +2 -3
- package/src/nodes/lighting/PointShadowNode.js +6 -0
- package/src/nodes/lighting/ShadowFilterNode.js +2 -0
- package/src/nodes/lighting/ShadowNode.js +75 -8
- package/src/nodes/math/ConditionalNode.js +6 -5
- package/src/nodes/math/MathNode.js +22 -4
- package/src/nodes/math/OperatorNode.js +3 -2
- package/src/nodes/pmrem/PMREMUtils.js +117 -2
- package/src/nodes/shapes/Shapes.js +1 -1
- package/src/nodes/tsl/TSLBase.js +5 -2
- package/src/nodes/tsl/TSLCore.js +36 -15
- package/src/nodes/utils/DebugNode.js +2 -1
- package/src/nodes/utils/EventNode.js +36 -0
- package/src/nodes/utils/FunctionOverloadingNode.js +37 -19
- package/src/nodes/utils/JoinNode.js +3 -2
- package/src/nodes/utils/LoopNode.js +20 -24
- package/src/nodes/utils/MemberNode.js +2 -1
- package/src/nodes/utils/PostProcessingUtils.js +28 -1
- package/src/nodes/utils/RTTNode.js +12 -2
- package/src/nodes/utils/ReflectorNode.js +10 -3
- package/src/objects/Line.js +2 -1
- package/src/objects/LineSegments.js +2 -1
- package/src/objects/Skeleton.js +3 -2
- package/src/objects/SkinnedMesh.js +3 -1
- package/src/objects/Sprite.js +2 -1
- package/src/renderers/WebGLRenderer.js +48 -32
- package/src/renderers/common/Animation.js +13 -1
- package/src/renderers/common/Backend.js +93 -30
- package/src/renderers/common/Background.js +2 -1
- package/src/renderers/common/Bindings.js +56 -2
- package/src/renderers/common/CanvasTarget.js +341 -0
- package/src/renderers/common/Geometries.js +26 -0
- package/src/renderers/common/Info.js +4 -2
- package/src/renderers/common/InspectorBase.js +146 -0
- package/src/renderers/common/PostProcessing.js +6 -25
- package/src/renderers/common/QuadMesh.js +7 -1
- package/src/renderers/common/RenderList.js +7 -3
- package/src/renderers/common/RenderObject.js +3 -1
- package/src/renderers/common/RenderObjects.js +1 -1
- package/src/renderers/common/Renderer.js +436 -228
- package/src/renderers/common/RendererUtils.js +9 -0
- package/src/renderers/common/SampledTexture.js +8 -0
- package/src/renderers/common/Sampler.js +37 -11
- package/src/renderers/common/StorageTexture.js +9 -1
- package/src/renderers/common/Textures.js +89 -35
- package/src/renderers/common/TimestampQueryPool.js +63 -1
- package/src/renderers/common/UniformsGroup.js +2 -1
- package/src/renderers/common/XRManager.js +7 -3
- package/src/renderers/common/extras/PMREMGenerator.js +160 -65
- package/src/renderers/common/nodes/NodeLibrary.js +4 -2
- package/src/renderers/common/nodes/NodeSampler.js +13 -1
- package/src/renderers/common/nodes/Nodes.js +38 -16
- package/src/renderers/shaders/DFGLUTData.js +64 -0
- package/src/renderers/shaders/ShaderChunk/common.glsl.js +0 -12
- package/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +52 -18
- package/src/renderers/shaders/UniformsLib.js +1 -0
- package/src/renderers/shaders/UniformsUtils.js +25 -4
- package/src/renderers/webgl/WebGLCapabilities.js +2 -1
- package/src/renderers/webgl/WebGLExtensions.js +2 -25
- package/src/renderers/webgl/WebGLInfo.js +3 -1
- package/src/renderers/webgl/WebGLProgram.js +11 -10
- package/src/renderers/webgl/WebGLPrograms.js +2 -1
- package/src/renderers/webgl/WebGLShadowMap.js +2 -1
- package/src/renderers/webgl/WebGLState.js +15 -14
- package/src/renderers/webgl/WebGLTextures.js +18 -14
- package/src/renderers/webgl/WebGLUniformsGroups.js +5 -3
- package/src/renderers/webgl-fallback/WebGLBackend.js +22 -41
- package/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +74 -11
- package/src/renderers/webgl-fallback/utils/WebGLConstants.js +2 -3
- package/src/renderers/webgl-fallback/utils/WebGLState.js +6 -5
- package/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +117 -16
- package/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js +42 -12
- package/src/renderers/webgpu/WebGPUBackend.js +134 -108
- package/src/renderers/webgpu/WebGPURenderer.Nodes.js +2 -1
- package/src/renderers/webgpu/WebGPURenderer.js +3 -2
- package/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +21 -19
- package/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +2 -1
- package/src/renderers/webgpu/utils/WebGPUBindingUtils.js +5 -3
- package/src/renderers/webgpu/utils/WebGPUConstants.js +5 -0
- package/src/renderers/webgpu/utils/WebGPUPipelineUtils.js +44 -16
- package/src/renderers/webgpu/utils/WebGPUTexturePassUtils.js +6 -8
- package/src/renderers/webgpu/utils/WebGPUTextureUtils.js +146 -74
- package/src/renderers/webgpu/utils/WebGPUTimestampQueryPool.js +29 -6
- package/src/renderers/webgpu/utils/WebGPUUtils.js +22 -2
- package/src/renderers/webxr/WebXRManager.js +3 -2
- package/src/textures/Source.js +2 -1
- package/src/textures/Texture.js +3 -2
- package/src/textures/VideoTexture.js +2 -0
- package/src/utils.js +67 -3
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
2
|
+
This license is copied below, and is also available with a FAQ at:
|
|
3
|
+
https://openfontlicense.org
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
-----------------------------------------------------------
|
|
7
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
8
|
+
-----------------------------------------------------------
|
|
9
|
+
|
|
10
|
+
PREAMBLE
|
|
11
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
12
|
+
development of collaborative font projects, to support the font creation
|
|
13
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
14
|
+
open framework in which fonts may be shared and improved in partnership
|
|
15
|
+
with others.
|
|
16
|
+
|
|
17
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
18
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
19
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
20
|
+
redistributed and/or sold with any software provided that any reserved
|
|
21
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
22
|
+
however, cannot be released under any other type of license. The
|
|
23
|
+
requirement for fonts to remain under this license does not apply
|
|
24
|
+
to any document created using the fonts or their derivatives.
|
|
25
|
+
|
|
26
|
+
DEFINITIONS
|
|
27
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
28
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
29
|
+
include source files, build scripts and documentation.
|
|
30
|
+
|
|
31
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
32
|
+
copyright statement(s).
|
|
33
|
+
|
|
34
|
+
"Original Version" refers to the collection of Font Software components as
|
|
35
|
+
distributed by the Copyright Holder(s).
|
|
36
|
+
|
|
37
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
38
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
39
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
40
|
+
new environment.
|
|
41
|
+
|
|
42
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
43
|
+
writer or other person who contributed to the Font Software.
|
|
44
|
+
|
|
45
|
+
PERMISSION & CONDITIONS
|
|
46
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
47
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
48
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
49
|
+
Software, subject to the following conditions:
|
|
50
|
+
|
|
51
|
+
1) Neither the Font Software nor any of its individual components,
|
|
52
|
+
in Original or Modified Versions, may be sold by itself.
|
|
53
|
+
|
|
54
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
55
|
+
redistributed and/or sold with any software, provided that each copy
|
|
56
|
+
contains the above copyright notice and this license. These can be
|
|
57
|
+
included either as stand-alone text files, human-readable headers or
|
|
58
|
+
in the appropriate machine-readable metadata fields within text or
|
|
59
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
60
|
+
|
|
61
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
62
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
63
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
64
|
+
presented to the users.
|
|
65
|
+
|
|
66
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
67
|
+
Software shall not be used to promote, endorse or advertise any
|
|
68
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
69
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
70
|
+
permission.
|
|
71
|
+
|
|
72
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
73
|
+
must be distributed entirely under this license, and must not be
|
|
74
|
+
distributed under any other license. The requirement for fonts to
|
|
75
|
+
remain under this license does not apply to any document created
|
|
76
|
+
using the Font Software.
|
|
77
|
+
|
|
78
|
+
TERMINATION
|
|
79
|
+
This license becomes null and void if any of the above conditions are
|
|
80
|
+
not met.
|
|
81
|
+
|
|
82
|
+
DISCLAIMER
|
|
83
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
84
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
85
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
86
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
87
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
88
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
89
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
90
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
91
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
@@ -26,7 +26,7 @@ const _vector = new Vector3();
|
|
|
26
26
|
const _matrix = new Matrix4();
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
* This class solves the Inverse Kinematics Problem with a [CCD Algorithm]
|
|
29
|
+
* This class solves the Inverse Kinematics Problem with a [CCD Algorithm](https://web.archive.org/web/20221206080850/https://sites.google.com/site/auraliusproject/ccd-algorithm).
|
|
30
30
|
*
|
|
31
31
|
* `CCDIKSolver` is designed to work with instances of {@link SkinnedMesh}.
|
|
32
32
|
*
|
|
@@ -115,7 +115,7 @@ class ArcballControls extends Controls {
|
|
|
115
115
|
* Constructs a new controls instance.
|
|
116
116
|
*
|
|
117
117
|
* @param {Camera} camera - The camera to be controlled. The camera must not be a child of another object, unless that object is the scene itself.
|
|
118
|
-
* @param {?
|
|
118
|
+
* @param {?HTMLElement} [domElement=null] - The HTML element used for event listeners.
|
|
119
119
|
* @param {?Scene} [scene=null] The scene rendered by the camera. If not given, gizmos cannot be shown.
|
|
120
120
|
*/
|
|
121
121
|
constructor( camera, domElement = null, scene = null ) {
|
|
@@ -61,7 +61,7 @@ class DragControls extends Controls {
|
|
|
61
61
|
*
|
|
62
62
|
* @param {Array<Object3D>} objects - An array of draggable 3D objects.
|
|
63
63
|
* @param {Camera} camera - The camera of the rendered scene.
|
|
64
|
-
* @param {?
|
|
64
|
+
* @param {?HTMLElement} [domElement=null] - The HTML DOM element used for event listeners.
|
|
65
65
|
*/
|
|
66
66
|
constructor( objects, camera, domElement = null ) {
|
|
67
67
|
|
|
@@ -22,7 +22,7 @@ class FirstPersonControls extends Controls {
|
|
|
22
22
|
* Constructs a new controls instance.
|
|
23
23
|
*
|
|
24
24
|
* @param {Object3D} object - The object that is managed by the controls.
|
|
25
|
-
* @param {?
|
|
25
|
+
* @param {?HTMLElement} domElement - The HTML element used for event listeners.
|
|
26
26
|
*/
|
|
27
27
|
constructor( object, domElement = null ) {
|
|
28
28
|
|
|
@@ -29,7 +29,7 @@ class FlyControls extends Controls {
|
|
|
29
29
|
* Constructs a new controls instance.
|
|
30
30
|
*
|
|
31
31
|
* @param {Object3D} object - The object that is managed by the controls.
|
|
32
|
-
* @param {?
|
|
32
|
+
* @param {?HTMLElement} domElement - The HTML element used for event listeners.
|
|
33
33
|
*/
|
|
34
34
|
constructor( object, domElement = null ) {
|
|
35
35
|
|
|
@@ -91,7 +91,7 @@ class OrbitControls extends Controls {
|
|
|
91
91
|
* Constructs a new controls instance.
|
|
92
92
|
*
|
|
93
93
|
* @param {Object3D} object - The object that is managed by the controls.
|
|
94
|
-
* @param {?
|
|
94
|
+
* @param {?HTMLElement} domElement - The HTML element used for event listeners.
|
|
95
95
|
*/
|
|
96
96
|
constructor( object, domElement = null ) {
|
|
97
97
|
|
|
@@ -541,7 +541,7 @@ class OrbitControls extends Controls {
|
|
|
541
541
|
* Adds key event listeners to the given DOM element.
|
|
542
542
|
* `window` is a recommended argument for using this method.
|
|
543
543
|
*
|
|
544
|
-
* @param {
|
|
544
|
+
* @param {HTMLElement} domElement - The DOM element
|
|
545
545
|
*/
|
|
546
546
|
listenToKeyEvents( domElement ) {
|
|
547
547
|
|
|
@@ -35,7 +35,7 @@ const _MOUSE_SENSITIVITY = 0.002;
|
|
|
35
35
|
const _PI_2 = Math.PI / 2;
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
-
* The implementation of this class is based on the [Pointer Lock API]
|
|
38
|
+
* The implementation of this class is based on the [Pointer Lock API](https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API).
|
|
39
39
|
* `PointerLockControls` is a perfect choice for first person 3D games.
|
|
40
40
|
*
|
|
41
41
|
* ```js
|
|
@@ -64,7 +64,7 @@ class PointerLockControls extends Controls {
|
|
|
64
64
|
* Constructs a new controls instance.
|
|
65
65
|
*
|
|
66
66
|
* @param {Camera} camera - The camera that is managed by the controls.
|
|
67
|
-
* @param {?
|
|
67
|
+
* @param {?HTMLElement} domElement - The HTML element used for event listeners.
|
|
68
68
|
*/
|
|
69
69
|
constructor( camera, domElement = null ) {
|
|
70
70
|
|
|
@@ -59,7 +59,7 @@ class TrackballControls extends Controls {
|
|
|
59
59
|
* Constructs a new controls instance.
|
|
60
60
|
*
|
|
61
61
|
* @param {Object3D} object - The object that is managed by the controls.
|
|
62
|
-
* @param {?
|
|
62
|
+
* @param {?HTMLElement} domElement - The HTML element used for event listeners.
|
|
63
63
|
*/
|
|
64
64
|
constructor( object, domElement = null ) {
|
|
65
65
|
|
|
@@ -80,7 +80,7 @@ class TransformControls extends Controls {
|
|
|
80
80
|
* Constructs a new controls instance.
|
|
81
81
|
*
|
|
82
82
|
* @param {Camera} camera - The camera of the rendered scene.
|
|
83
|
-
* @param {?
|
|
83
|
+
* @param {?HTMLElement} domElement - The HTML element used for event listeners.
|
|
84
84
|
*/
|
|
85
85
|
constructor( camera, domElement = null ) {
|
|
86
86
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* A class that creates an ASCII effect.
|
|
3
3
|
*
|
|
4
|
-
* The ASCII generation is based on [jsascii]
|
|
4
|
+
* The ASCII generation is based on [jsascii](https://github.com/hassadee/jsascii/blob/master/jsascii.js).
|
|
5
5
|
*
|
|
6
6
|
* @three_import import { AsciiEffect } from 'three/addons/effects/AsciiEffect.js';
|
|
7
7
|
*/
|
|
@@ -18,7 +18,7 @@ class AsciiEffect {
|
|
|
18
18
|
|
|
19
19
|
// ' .,:;=|iI+hHOE#`$';
|
|
20
20
|
// darker bolder character set from https://github.com/saw/Canvas-ASCII-Art/
|
|
21
|
-
// ' .\'`^",:;Il!i~+_-?][}{1)(|/tfjrxnuvczXYUJCLQ0OZmwqpdbkhao*#MW&8%B@$'
|
|
21
|
+
// ' .\'`^",:;Il!i~+_-?][}{1)(|/tfjrxnuvczXYUJCLQ0OZmwqpdbkhao*#MW&8%B@$'
|
|
22
22
|
|
|
23
23
|
// Some ASCII settings
|
|
24
24
|
|
|
@@ -218,6 +218,8 @@ class AsciiEffect {
|
|
|
218
218
|
// Coloring loop starts now
|
|
219
219
|
let strChars = '';
|
|
220
220
|
|
|
221
|
+
const maxIdx = aCharList.length - 1;
|
|
222
|
+
|
|
221
223
|
// console.time('rendering');
|
|
222
224
|
|
|
223
225
|
for ( let y = 0; y < iHeight; y += 2 ) {
|
|
@@ -230,13 +232,11 @@ class AsciiEffect {
|
|
|
230
232
|
const iGreen = oImgData[ iOffset + 1 ];
|
|
231
233
|
const iBlue = oImgData[ iOffset + 2 ];
|
|
232
234
|
const iAlpha = oImgData[ iOffset + 3 ];
|
|
233
|
-
let iCharIdx;
|
|
234
|
-
|
|
235
|
-
let fBrightness;
|
|
236
235
|
|
|
237
|
-
fBrightness = ( 0.3 * iRed + 0.59 * iGreen + 0.11 * iBlue ) / 255;
|
|
236
|
+
let fBrightness = ( 0.3 * iRed + 0.59 * iGreen + 0.11 * iBlue ) / 255;
|
|
238
237
|
// fBrightness = (0.3*iRed + 0.5*iGreen + 0.3*iBlue) / 255;
|
|
239
238
|
|
|
239
|
+
|
|
240
240
|
if ( iAlpha == 0 ) {
|
|
241
241
|
|
|
242
242
|
// should calculate alpha instead, but quick hack :)
|
|
@@ -245,11 +245,11 @@ class AsciiEffect {
|
|
|
245
245
|
|
|
246
246
|
}
|
|
247
247
|
|
|
248
|
-
iCharIdx = Math.
|
|
248
|
+
let iCharIdx = Math.round( ( 1 - fBrightness ) * maxIdx );
|
|
249
249
|
|
|
250
250
|
if ( bInvert ) {
|
|
251
251
|
|
|
252
|
-
iCharIdx =
|
|
252
|
+
iCharIdx = maxIdx - iCharIdx;
|
|
253
253
|
|
|
254
254
|
}
|
|
255
255
|
|
|
@@ -5,7 +5,7 @@ import { Color, ColorManagement, SRGBColorSpace } from 'three';
|
|
|
5
5
|
/**
|
|
6
6
|
* An exporter to compress geometry with the Draco library.
|
|
7
7
|
*
|
|
8
|
-
* [Draco]
|
|
8
|
+
* [Draco](https://google.github.io/draco/) is an open source library for compressing and
|
|
9
9
|
* decompressing 3D meshes and point clouds. Compressed geometry can be significantly smaller,
|
|
10
10
|
* at the cost of additional decoding time on the client device.
|
|
11
11
|
*
|
|
@@ -13,7 +13,7 @@ import { Color, ColorManagement, SRGBColorSpace } from 'three';
|
|
|
13
13
|
* normals, colors, and other attributes. Draco files *do not* contain materials,
|
|
14
14
|
* textures, animation, or node hierarchies – to use these features, embed Draco geometry
|
|
15
15
|
* inside of a glTF file. A normal glTF file can be converted to a Draco-compressed glTF file
|
|
16
|
-
* using [glTF-Pipeline]
|
|
16
|
+
* using [glTF-Pipeline](https://github.com/AnalyticalGraphicsInc/gltf-pipeline).
|
|
17
17
|
*
|
|
18
18
|
* ```js
|
|
19
19
|
* const exporter = new DRACOExporter();
|
|
@@ -15,7 +15,7 @@ const ZIP_COMPRESSION = 3;
|
|
|
15
15
|
/**
|
|
16
16
|
* An exporter for EXR.
|
|
17
17
|
*
|
|
18
|
-
* EXR ( Extended Dynamic Range) is an [open format specification]
|
|
18
|
+
* EXR ( Extended Dynamic Range) is an [open format specification](https://github.com/AcademySoftwareFoundation/openexr)
|
|
19
19
|
* for professional-grade image storage format of the motion picture industry. The purpose of
|
|
20
20
|
* format is to accurately and efficiently represent high-dynamic-range scene-linear image data
|
|
21
21
|
* and associated metadata. The library is widely used in host application software where accuracy
|
|
@@ -65,13 +65,13 @@ const KHR_mesh_quantization_ExtraAttrTypes = {
|
|
|
65
65
|
/**
|
|
66
66
|
* An exporter for `glTF` 2.0.
|
|
67
67
|
*
|
|
68
|
-
* glTF (GL Transmission Format) is an [open format specification]
|
|
68
|
+
* glTF (GL Transmission Format) is an [open format specification](https://github.com/KhronosGroup/glTF/tree/master/specification/2.0)
|
|
69
69
|
* for efficient delivery and loading of 3D content. Assets may be provided either in JSON (.gltf)
|
|
70
70
|
* or binary (.glb) format. External files store textures (.jpg, .png) and additional binary
|
|
71
71
|
* data (.bin). A glTF asset may deliver one or more scenes, including meshes, materials,
|
|
72
72
|
* textures, skins, skeletons, morph targets, animations, lights, and/or cameras.
|
|
73
73
|
*
|
|
74
|
-
* GLTFExporter supports the [glTF 2.0 extensions]
|
|
74
|
+
* GLTFExporter supports the [glTF 2.0 extensions](https://github.com/KhronosGroup/glTF/tree/master/extensions/):
|
|
75
75
|
*
|
|
76
76
|
* - KHR_lights_punctual
|
|
77
77
|
* - KHR_materials_clearcoat
|
|
@@ -91,7 +91,7 @@ const KHR_mesh_quantization_ExtraAttrTypes = {
|
|
|
91
91
|
*
|
|
92
92
|
* The following glTF 2.0 extension is supported by an external user plugin:
|
|
93
93
|
*
|
|
94
|
-
* - [KHR_materials_variants]
|
|
94
|
+
* - [KHR_materials_variants](https://github.com/takahirox/three-gltf-extensions)
|
|
95
95
|
*
|
|
96
96
|
* ```js
|
|
97
97
|
* const exporter = new GLTFExporter();
|
|
@@ -794,13 +794,13 @@ function buildMaterial( material, textures, quickLookCompatible = false ) {
|
|
|
794
794
|
'uniform token info:id = "UsdPrimvarReader_float2"'
|
|
795
795
|
);
|
|
796
796
|
primvarReaderNode.addProperty( 'float2 inputs:fallback = (0.0, 0.0)' );
|
|
797
|
-
primvarReaderNode.addProperty( `
|
|
797
|
+
primvarReaderNode.addProperty( `string inputs:varname = "${uv}"` );
|
|
798
798
|
primvarReaderNode.addProperty( 'float2 outputs:result' );
|
|
799
799
|
|
|
800
800
|
const transform2dNode = new USDNode( `Transform2d_${mapType}`, 'Shader' );
|
|
801
801
|
transform2dNode.addProperty( 'uniform token info:id = "UsdTransform2d"' );
|
|
802
802
|
transform2dNode.addProperty(
|
|
803
|
-
`
|
|
803
|
+
`float2 inputs:in.connect = </Materials/Material_${material.id}/PrimvarReader_${mapType}.outputs:result>`
|
|
804
804
|
);
|
|
805
805
|
transform2dNode.addProperty(
|
|
806
806
|
`float inputs:rotation = ${( rotation * ( 180 / Math.PI ) ).toFixed(
|
|
@@ -831,6 +831,13 @@ function buildMaterial( material, textures, quickLookCompatible = false ) {
|
|
|
831
831
|
|
|
832
832
|
}
|
|
833
833
|
|
|
834
|
+
if ( mapType === 'normal' ) {
|
|
835
|
+
|
|
836
|
+
textureNode.addProperty( 'float4 inputs:scale = (2, 2, 2, 1)' );
|
|
837
|
+
textureNode.addProperty( 'float4 inputs:bias = (-1, -1, -1, 0)' );
|
|
838
|
+
|
|
839
|
+
}
|
|
840
|
+
|
|
834
841
|
textureNode.addProperty(
|
|
835
842
|
`token inputs:sourceColorSpace = "${
|
|
836
843
|
texture.colorSpace === NoColorSpace ? 'raw' : 'sRGB'
|
|
@@ -13,9 +13,9 @@ import {
|
|
|
13
13
|
* adding unique details to models, performing dynamic visual environmental changes or covering seams.
|
|
14
14
|
*
|
|
15
15
|
* Please not that decal projections can be distorted when used around corners. More information at
|
|
16
|
-
* this GitHub issue: [Decal projections without distortions]
|
|
16
|
+
* this GitHub issue: [Decal projections without distortions](https://github.com/mrdoob/three.js/issues/21187).
|
|
17
17
|
*
|
|
18
|
-
* Reference: [How to project decals]
|
|
18
|
+
* Reference: [How to project decals](http://blog.wolfire.com/2009/06/how-to-project-decals/)
|
|
19
19
|
*
|
|
20
20
|
* ```js
|
|
21
21
|
* const geometry = new DecalGeometry( mesh, position, orientation, size );
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
/**
|
|
8
8
|
* This class can be used to generate a geometry based on a parametric surface.
|
|
9
9
|
*
|
|
10
|
-
* Reference: [Mesh Generation with Python]
|
|
10
|
+
* Reference: [Mesh Generation with Python](https://prideout.net/blog/old/blog/index.html@p=44.html)
|
|
11
11
|
*
|
|
12
12
|
* ```js
|
|
13
13
|
* const geometry = new THREE.ParametricGeometry( klein, 25, 25 );
|
|
@@ -15,8 +15,8 @@ import {
|
|
|
15
15
|
* Segments 'n' determines the number of triangles output. Total triangles = 32*2*n*n - 8*n
|
|
16
16
|
* (degenerates at the top and bottom cusps are deleted).
|
|
17
17
|
*
|
|
18
|
-
* Code based on [SPD software]
|
|
19
|
-
* Created for the Udacity course [Interactive Rendering]
|
|
18
|
+
* Code based on [SPD software](http://tog.acm.org/resources/SPD/)
|
|
19
|
+
* Created for the Udacity course [Interactive Rendering](http://bit.ly/ericity)
|
|
20
20
|
*
|
|
21
21
|
* ```js
|
|
22
22
|
* const geometry = new TeapotGeometry( 50, 18 );
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
*
|
|
9
9
|
* See the {@link FontLoader} page for additional details.
|
|
10
10
|
*
|
|
11
|
-
* `TextGeometry` uses [typeface.json]
|
|
11
|
+
* `TextGeometry` uses [typeface.json](http://gero3.github.io/facetype.js/) generated fonts.
|
|
12
12
|
* Some existing fonts can be found located in `/examples/fonts`.
|
|
13
13
|
*
|
|
14
14
|
* ```js
|
|
@@ -43,7 +43,7 @@ class TextGeometry extends ExtrudeGeometry {
|
|
|
43
43
|
|
|
44
44
|
} else {
|
|
45
45
|
|
|
46
|
-
const shapes = font.generateShapes( text, parameters.size );
|
|
46
|
+
const shapes = font.generateShapes( text, parameters.size, parameters.direction );
|
|
47
47
|
|
|
48
48
|
// defaults
|
|
49
49
|
|
|
@@ -76,6 +76,7 @@ class TextGeometry extends ExtrudeGeometry {
|
|
|
76
76
|
* @property {number} [bevelSize=8] - Distance from the shape outline that the bevel extends.
|
|
77
77
|
* @property {number} [bevelOffset=0] - Distance from the shape outline that the bevel starts.
|
|
78
78
|
* @property {number} [bevelSegments=3] - Number of bevel layers.
|
|
79
|
+
* @property {string} [direction='ltr'] - Char direction: ltr(left to right), rtl(right to left) & tb(top bottom).
|
|
79
80
|
* @property {?Curve} [extrudePath=null] - A 3D spline path along which the shape should be extruded. Bevels not supported for path extrusion.
|
|
80
81
|
* @property {Object} [UVGenerator] - An object that provides UV generator functions for custom UV generation.
|
|
81
82
|
**/
|