@types/three 0.180.0 → 0.181.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.
- three/README.md +1 -1
- three/examples/jsm/geometries/TextGeometry.d.ts +2 -0
- three/examples/jsm/gpgpu/BitonicSort.d.ts +21 -0
- three/examples/jsm/inspector/Inspector.d.ts +10 -0
- three/examples/jsm/inspector/RendererInspector.d.ts +4 -0
- three/examples/jsm/inspector/tabs/Parameters.d.ts +95 -0
- three/examples/jsm/inspector/ui/Tab.d.ts +3 -0
- three/examples/jsm/inspector/ui/Values.d.ts +80 -0
- three/examples/jsm/interactive/SelectionBox.d.ts +9 -9
- three/examples/jsm/lighting/TiledLighting.d.ts +1 -2
- three/examples/jsm/loaders/FontLoader.d.ts +1 -1
- three/examples/jsm/loaders/KTX2Loader.d.ts +3 -0
- three/examples/jsm/objects/SkyMesh.d.ts +6 -7
- three/examples/jsm/objects/WaterMesh.d.ts +2 -2
- three/examples/jsm/renderers/CSS2DRenderer.d.ts +15 -10
- three/examples/jsm/tsl/display/AfterImageNode.d.ts +4 -5
- three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +1 -2
- three/examples/jsm/tsl/display/AnamorphicNode.d.ts +1 -2
- three/examples/jsm/tsl/display/BleachBypass.d.ts +1 -2
- three/examples/jsm/tsl/display/BloomNode.d.ts +2 -3
- three/examples/jsm/tsl/display/ChromaticAberrationNode.d.ts +1 -2
- three/examples/jsm/tsl/display/DenoiseNode.d.ts +1 -2
- three/examples/jsm/tsl/display/DepthOfFieldNode.d.ts +1 -2
- three/examples/jsm/tsl/display/DotScreenNode.d.ts +1 -2
- three/examples/jsm/tsl/display/FXAANode.d.ts +1 -2
- three/examples/jsm/tsl/display/FilmNode.d.ts +1 -2
- three/examples/jsm/tsl/display/GTAONode.d.ts +11 -10
- three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +2 -3
- three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -7
- three/examples/jsm/tsl/display/Lut3DNode.d.ts +2 -3
- three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -2
- three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -7
- three/examples/jsm/tsl/display/ParallaxBarrierPassNode.d.ts +1 -2
- three/examples/jsm/tsl/display/PixelationPassNode.d.ts +1 -2
- three/examples/jsm/tsl/display/RGBShiftNode.d.ts +1 -2
- three/examples/jsm/tsl/display/SMAANode.d.ts +1 -2
- three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -2
- three/examples/jsm/tsl/display/SSGINode.d.ts +30 -0
- three/examples/jsm/tsl/display/SSRNode.d.ts +12 -13
- three/examples/jsm/tsl/display/SSSNode.d.ts +18 -0
- three/examples/jsm/tsl/display/Sepia.d.ts +1 -2
- three/examples/jsm/tsl/display/SobelOperatorNode.d.ts +1 -2
- three/examples/jsm/tsl/display/StereoPassNode.d.ts +1 -2
- three/examples/jsm/tsl/display/TRAANode.d.ts +1 -2
- three/examples/jsm/tsl/display/TransitionNode.d.ts +1 -2
- three/examples/jsm/tsl/display/boxBlur.d.ts +1 -2
- three/examples/jsm/tsl/display/hashBlur.d.ts +1 -2
- three/examples/jsm/tsl/lighting/TiledLightsNode.d.ts +3 -4
- three/examples/jsm/tsl/math/Bayer.d.ts +1 -2
- three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -3
- three/package.json +2 -2
- three/src/Three.Core.d.ts +1 -1
- three/src/Three.TSL.d.ts +7 -1
- three/src/Three.WebGPU.Nodes.d.ts +2 -0
- three/src/Three.WebGPU.d.ts +2 -0
- three/src/animation/AnimationMixer.d.ts +3 -3
- three/src/lights/DirectionalLight.d.ts +0 -1
- three/src/loaders/ObjectLoader.d.ts +3 -3
- three/src/loaders/TextureLoader.d.ts +3 -3
- three/src/materials/Material.d.ts +2 -2
- three/src/materials/MeshLambertMaterial.d.ts +1 -1
- three/src/materials/MeshMatcapMaterial.d.ts +14 -0
- three/src/materials/MeshPhongMaterial.d.ts +1 -1
- three/src/materials/MeshPhysicalMaterial.d.ts +1 -1
- three/src/materials/MeshStandardMaterial.d.ts +7 -7
- three/src/materials/PointsMaterial.d.ts +1 -1
- three/src/materials/ShaderMaterial.d.ts +8 -8
- three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +1 -1
- three/src/materials/nodes/NodeMaterial.d.ts +2 -3
- three/src/materials/nodes/VolumeNodeMaterial.d.ts +1 -2
- three/src/math/Vector3.d.ts +2 -2
- three/src/nodes/Nodes.d.ts +1 -1
- three/src/nodes/TSL.d.ts +1 -1
- three/src/nodes/accessors/AccessorsUtils.d.ts +4 -5
- three/src/nodes/accessors/Arrays.d.ts +2 -3
- three/src/nodes/accessors/BatchNode.d.ts +1 -2
- three/src/nodes/accessors/Bitangent.d.ts +4 -5
- three/src/nodes/accessors/BufferAttributeNode.d.ts +8 -9
- three/src/nodes/accessors/BufferNode.d.ts +2 -2
- three/src/nodes/accessors/BuiltinNode.d.ts +1 -2
- three/src/nodes/accessors/Camera.d.ts +10 -11
- three/src/nodes/accessors/ClippingNode.d.ts +3 -6
- three/src/nodes/accessors/CubeTextureNode.d.ts +8 -9
- three/src/nodes/accessors/InstanceNode.d.ts +1 -2
- three/src/nodes/accessors/InstancedMeshNode.d.ts +1 -2
- three/src/nodes/accessors/Lights.d.ts +6 -7
- three/src/nodes/accessors/MaterialNode.d.ts +38 -39
- three/src/nodes/accessors/MaterialProperties.d.ts +3 -4
- three/src/nodes/accessors/MaterialReferenceNode.d.ts +2 -2
- three/src/nodes/accessors/ModelNode.d.ts +12 -13
- three/src/nodes/accessors/ModelViewProjectionNode.d.ts +1 -2
- three/src/nodes/accessors/MorphNode.d.ts +1 -2
- three/src/nodes/accessors/Normal.d.ts +13 -14
- three/src/nodes/accessors/Object3DNode.d.ts +6 -7
- three/src/nodes/accessors/PointUVNode.d.ts +1 -2
- three/src/nodes/accessors/Position.d.ts +7 -8
- three/src/nodes/accessors/ReferenceBaseNode.d.ts +2 -3
- three/src/nodes/accessors/ReferenceNode.d.ts +2 -3
- three/src/nodes/accessors/ReflectVector.d.ts +4 -5
- three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -2
- three/src/nodes/accessors/SceneNode.d.ts +3 -4
- three/src/nodes/accessors/SkinningNode.d.ts +5 -6
- three/src/nodes/accessors/StorageBufferNode.d.ts +5 -5
- three/src/nodes/accessors/StorageTextureNode.d.ts +7 -4
- three/src/nodes/accessors/Tangent.d.ts +4 -6
- three/src/nodes/accessors/TangentUtils.d.ts +2 -3
- three/src/nodes/accessors/Texture3DNode.d.ts +3 -4
- three/src/nodes/accessors/TextureBicubic.d.ts +2 -3
- three/src/nodes/accessors/TextureNode.d.ts +29 -24
- three/src/nodes/accessors/TextureSizeNode.d.ts +1 -2
- three/src/nodes/accessors/UV.d.ts +1 -2
- three/src/nodes/accessors/UniformArrayNode.d.ts +2 -3
- three/src/nodes/accessors/UserDataNode.d.ts +1 -2
- three/src/nodes/accessors/VelocityNode.d.ts +1 -2
- three/src/nodes/accessors/VertexColorNode.d.ts +1 -2
- three/src/nodes/code/CodeNode.d.ts +4 -5
- three/src/nodes/code/ExpressionNode.d.ts +1 -2
- three/src/nodes/code/FunctionCallNode.d.ts +6 -5
- three/src/nodes/code/FunctionNode.d.ts +4 -6
- three/src/nodes/code/ScriptableNode.d.ts +1 -2
- three/src/nodes/code/ScriptableValueNode.d.ts +1 -2
- three/src/nodes/core/ArrayNode.d.ts +6 -6
- three/src/nodes/core/AssignNode.d.ts +1 -8
- three/src/nodes/core/AttributeNode.d.ts +1 -2
- three/src/nodes/core/BypassNode.d.ts +5 -5
- three/src/nodes/core/ContextNode.d.ts +24 -12
- three/src/nodes/core/IndexNode.d.ts +10 -7
- three/src/nodes/core/InspectorNode.d.ts +16 -0
- three/src/nodes/core/IsolateNode.d.ts +36 -0
- three/src/nodes/core/MRTNode.d.ts +3 -4
- three/src/nodes/core/Node.d.ts +18 -2
- three/src/nodes/core/NodeUtils.d.ts +0 -10
- three/src/nodes/core/OutputStructNode.d.ts +1 -2
- three/src/nodes/core/ParameterNode.d.ts +1 -2
- three/src/nodes/core/PropertyNode.d.ts +30 -31
- three/src/nodes/core/StackNode.d.ts +1 -4
- three/src/nodes/core/StructNode.d.ts +3 -4
- three/src/nodes/core/SubBuildNode.d.ts +1 -2
- three/src/nodes/core/UniformNode.d.ts +3 -6
- three/src/nodes/core/VarNode.d.ts +12 -8
- three/src/nodes/core/VaryingNode.d.ts +12 -10
- three/src/nodes/display/BlendModes.d.ts +11 -12
- three/src/nodes/display/BumpMapNode.d.ts +1 -2
- three/src/nodes/display/ColorAdjustment.d.ts +7 -8
- three/src/nodes/display/ColorSpaceFunctions.d.ts +2 -3
- three/src/nodes/display/ColorSpaceNode.d.ts +19 -9
- three/src/nodes/display/FrontFacingNode.d.ts +3 -4
- three/src/nodes/display/NormalMapNode.d.ts +1 -2
- three/src/nodes/display/PassNode.d.ts +20 -11
- three/src/nodes/display/PosterizeNode.d.ts +1 -2
- three/src/nodes/display/RenderOutputNode.d.ts +11 -6
- three/src/nodes/display/ScreenNode.d.ts +9 -10
- three/src/nodes/display/ToneMappingFunctions.d.ts +6 -7
- three/src/nodes/display/ToneMappingNode.d.ts +9 -8
- three/src/nodes/display/ToonOutlinePassNode.d.ts +1 -2
- three/src/nodes/display/ViewportDepthNode.d.ts +3 -4
- three/src/nodes/display/ViewportDepthTextureNode.d.ts +1 -2
- three/src/nodes/display/ViewportSharedTextureNode.d.ts +1 -2
- three/src/nodes/display/ViewportTextureNode.d.ts +2 -3
- three/src/nodes/fog/Fog.d.ts +5 -6
- three/src/nodes/functions/BSDF/BRDF_GGX.d.ts +4 -5
- three/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.d.ts +14 -0
- three/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +1 -2
- three/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +1 -2
- three/src/nodes/functions/BSDF/DFGApprox.d.ts +1 -2
- three/src/nodes/functions/BSDF/D_GGX.d.ts +1 -2
- three/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +1 -2
- three/src/nodes/functions/BSDF/F_Schlick.d.ts +1 -2
- three/src/nodes/functions/BSDF/Schlick_to_F0.d.ts +1 -2
- three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +1 -2
- three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +1 -2
- three/src/nodes/functions/ShadowMaskModel.d.ts +1 -2
- three/src/nodes/functions/material/getAlphaHashThreshold.d.ts +1 -2
- three/src/nodes/functions/material/getGeometryRoughness.d.ts +1 -2
- three/src/nodes/functions/material/getParallaxCorrectNormal.d.ts +1 -2
- three/src/nodes/functions/material/getRoughness.d.ts +1 -2
- three/src/nodes/functions/material/getShIrradianceAt.d.ts +1 -2
- three/src/nodes/geometry/RangeNode.d.ts +1 -2
- three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +10 -11
- three/src/nodes/gpgpu/BarrierNode.d.ts +3 -4
- three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts +5 -6
- three/src/nodes/gpgpu/ComputeNode.d.ts +21 -13
- three/src/nodes/gpgpu/SubgroupFunctionNode.d.ts +25 -26
- three/src/nodes/gpgpu/WorkgroupInfoNode.d.ts +1 -2
- three/src/nodes/lighting/AnalyticLightNode.d.ts +1 -2
- three/src/nodes/lighting/LightUtils.d.ts +1 -2
- three/src/nodes/lighting/LightingContextNode.d.ts +1 -2
- three/src/nodes/lighting/LightsNode.d.ts +1 -2
- three/src/nodes/lighting/PointLightNode.d.ts +5 -6
- three/src/nodes/lighting/PointShadowNode.d.ts +4 -5
- three/src/nodes/lighting/ShadowBaseNode.d.ts +1 -2
- three/src/nodes/lighting/ShadowFilterNode.d.ts +4 -5
- three/src/nodes/lighting/ShadowNode.d.ts +1 -2
- three/src/nodes/lighting/SpotLightNode.d.ts +1 -2
- three/src/nodes/materialx/MaterialXNodes.d.ts +41 -42
- three/src/nodes/materialx/lib/mx_hsv.d.ts +2 -3
- three/src/nodes/materialx/lib/mx_noise.d.ts +73 -74
- three/src/nodes/materialx/lib/mx_transform_color.d.ts +1 -2
- three/src/nodes/math/BitcastNode.d.ts +5 -6
- three/src/nodes/math/ConditionalNode.d.ts +11 -5
- three/src/nodes/math/Hash.d.ts +1 -2
- three/src/nodes/math/MathNode.d.ts +223 -77
- three/src/nodes/math/OperatorNode.d.ts +203 -59
- three/src/nodes/math/TriNoise3D.d.ts +3 -4
- three/src/nodes/pmrem/PMREMNode.d.ts +1 -2
- three/src/nodes/pmrem/PMREMUtils.d.ts +3 -4
- three/src/nodes/procedural/Checker.d.ts +1 -2
- three/src/nodes/shapes/Shapes.d.ts +1 -2
- three/src/nodes/tsl/TSLBase.d.ts +2 -1
- three/src/nodes/tsl/TSLCore.d.ts +235 -128
- three/src/nodes/utils/CubeMapNode.d.ts +1 -2
- three/src/nodes/utils/DebugNode.d.ts +9 -5
- three/src/nodes/utils/Discard.d.ts +6 -6
- three/src/nodes/utils/EquirectUV.d.ts +1 -2
- three/src/nodes/utils/EventNode.d.ts +8 -3
- three/src/nodes/utils/FunctionOverloadingNode.d.ts +1 -2
- three/src/nodes/utils/LoopNode.d.ts +7 -6
- three/src/nodes/utils/MatcapUV.d.ts +1 -2
- three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -2
- three/src/nodes/utils/Oscillators.d.ts +4 -5
- three/src/nodes/utils/Packing.d.ts +2 -3
- three/src/nodes/utils/PostProcessingUtils.d.ts +5 -4
- three/src/nodes/utils/RTTNode.d.ts +2 -3
- three/src/nodes/utils/ReflectorNode.d.ts +2 -3
- three/src/nodes/utils/RemapNode.d.ts +29 -7
- three/src/nodes/utils/RotateNode.d.ts +1 -2
- three/src/nodes/utils/SampleNode.d.ts +1 -2
- three/src/nodes/utils/SpriteSheetUVNode.d.ts +1 -2
- three/src/nodes/utils/SpriteUtils.d.ts +1 -2
- three/src/nodes/utils/StorageArrayElementNode.d.ts +1 -2
- three/src/nodes/utils/Timer.d.ts +3 -4
- three/src/nodes/utils/TriplanarTextures.d.ts +2 -3
- three/src/nodes/utils/UVUtils.d.ts +2 -3
- three/src/nodes/utils/ViewportUtils.d.ts +1 -2
- three/src/renderers/common/Animation.d.ts +4 -1
- three/src/renderers/common/Bindings.d.ts +12 -0
- three/src/renderers/common/CanvasTarget.d.ts +142 -0
- three/src/renderers/common/Geometries.d.ts +1 -0
- three/src/renderers/common/InspectorBase.d.ts +105 -0
- three/src/renderers/common/PostProcessing.d.ts +3 -0
- three/src/renderers/common/QuadMesh.d.ts +3 -0
- three/src/renderers/common/RenderContexts.d.ts +3 -1
- three/src/renderers/common/Renderer.d.ts +124 -36
- three/src/renderers/common/SampledTexture.d.ts +2 -0
- three/src/renderers/common/Sampler.d.ts +2 -0
- three/src/renderers/common/Textures.d.ts +20 -0
- three/src/renderers/common/TimestampQueryPool.d.ts +24 -1
- three/src/renderers/common/extras/PMREMGenerator.d.ts +19 -1
- three/src/renderers/common/nodes/NodeLibrary.d.ts +3 -7
- three/src/renderers/common/nodes/Nodes.d.ts +13 -14
- three/src/renderers/webgpu/utils/WebGPUConstants.d.ts +5 -0
- three/src/scenes/Scene.d.ts +2 -2
- three/src/textures/CanvasTexture.d.ts +3 -3
- three/src/textures/CompressedArrayTexture.d.ts +6 -9
- three/src/textures/CompressedCubeTexture.d.ts +3 -3
- three/src/textures/CompressedTexture.d.ts +6 -8
- three/src/textures/CubeTexture.d.ts +4 -11
- three/src/textures/Data3DTexture.d.ts +5 -10
- three/src/textures/DataArrayTexture.d.ts +10 -10
- three/src/textures/DataTexture.d.ts +4 -11
- three/src/textures/DepthTexture.d.ts +7 -8
- three/src/textures/ExternalTexture.d.ts +3 -1
- three/src/textures/FramebufferTexture.d.ts +6 -1
- three/src/textures/Source.d.ts +3 -3
- three/src/textures/Texture.d.ts +8 -8
- three/src/textures/VideoFrameTexture.d.ts +1 -1
- three/src/textures/VideoTexture.d.ts +2 -2
- three/src/utils.d.ts +18 -2
- three/src/nodes/core/CacheNode.d.ts +0 -21
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
1
|
import { Camera, Node, Object3D, Scene, TempNode, TextureNode, UniformNode } from "three/webgpu";
|
|
3
2
|
|
|
4
3
|
export interface OutlineNodeParams {
|
|
@@ -12,21 +11,21 @@ declare class OutlineNode extends TempNode {
|
|
|
12
11
|
scene: Scene;
|
|
13
12
|
camera: Camera;
|
|
14
13
|
selectedObjects: Object3D[];
|
|
15
|
-
edgeThicknessNode:
|
|
16
|
-
edgeGlowNode:
|
|
14
|
+
edgeThicknessNode: UniformNode<number>;
|
|
15
|
+
edgeGlowNode: UniformNode<number>;
|
|
17
16
|
downSampleRatio: number;
|
|
18
17
|
|
|
19
18
|
constructor(scene: Scene, camera: Camera, params?: OutlineNodeParams);
|
|
20
19
|
|
|
21
|
-
get visibleEdge():
|
|
20
|
+
get visibleEdge(): Node;
|
|
22
21
|
|
|
23
|
-
get hiddenEdge():
|
|
22
|
+
get hiddenEdge(): Node;
|
|
24
23
|
|
|
25
|
-
getTextureNode():
|
|
24
|
+
getTextureNode(): TextureNode;
|
|
26
25
|
|
|
27
26
|
setSize(width: number, height: number): void;
|
|
28
27
|
}
|
|
29
28
|
|
|
30
29
|
export default OutlineNode;
|
|
31
30
|
|
|
32
|
-
export const outline: (scene: Scene, camera: Camera, params?: OutlineNodeParams) =>
|
|
31
|
+
export const outline: (scene: Scene, camera: Camera, params?: OutlineNodeParams) => OutlineNode;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
1
|
import { Camera, Scene } from "three/webgpu";
|
|
3
2
|
import StereoCompositePassNode from "./StereoCompositePassNode.js";
|
|
4
3
|
|
|
@@ -10,4 +9,4 @@ declare class ParallaxBarrierPassNode extends StereoCompositePassNode {
|
|
|
10
9
|
|
|
11
10
|
export default ParallaxBarrierPassNode;
|
|
12
11
|
|
|
13
|
-
export const parallaxBarrierPass: (scene: Scene, camera: Camera) =>
|
|
12
|
+
export const parallaxBarrierPass: (scene: Scene, camera: Camera) => ParallaxBarrierPassNode;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
1
|
import { Camera, PassNode, Scene, UniformNode } from "three/webgpu";
|
|
3
2
|
|
|
4
3
|
declare class PixelationPassNode extends PassNode {
|
|
@@ -23,6 +22,6 @@ export const pixelationPass: (
|
|
|
23
22
|
pixelSize: UniformNode<number>,
|
|
24
23
|
normalEdgeStrength: UniformNode<number>,
|
|
25
24
|
depthEdgeStrength: UniformNode<number>,
|
|
26
|
-
) =>
|
|
25
|
+
) => PixelationPassNode;
|
|
27
26
|
|
|
28
27
|
export default PixelationPassNode;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
1
|
import { Node, TempNode, TextureNode, UniformNode } from "three/webgpu";
|
|
3
2
|
|
|
4
3
|
export default class RGBShiftNode extends TempNode {
|
|
@@ -13,4 +12,4 @@ export default class RGBShiftNode extends TempNode {
|
|
|
13
12
|
setSize(width: number, height: number): void;
|
|
14
13
|
}
|
|
15
14
|
|
|
16
|
-
export const rgbShift: (node: Node, amount?: number, angle?: number) =>
|
|
15
|
+
export const rgbShift: (node: Node, amount?: number, angle?: number) => RGBShiftNode;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
1
|
import { Node, TempNode, TextureNode } from "three/webgpu";
|
|
3
2
|
|
|
4
3
|
declare class SMAANode extends TempNode {
|
|
@@ -15,4 +14,4 @@ declare class SMAANode extends TempNode {
|
|
|
15
14
|
getSearchTexture(): string;
|
|
16
15
|
}
|
|
17
16
|
|
|
18
|
-
export const smaa: (node: Node) =>
|
|
17
|
+
export const smaa: (node: Node) => SMAANode;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
1
|
import { Camera, Color, PassNode, RenderTarget, Scene, UniformNode } from "three/webgpu";
|
|
3
2
|
|
|
4
3
|
declare class SSAAPassNode extends PassNode {
|
|
@@ -18,4 +17,4 @@ declare class SSAAPassNode extends PassNode {
|
|
|
18
17
|
|
|
19
18
|
export default SSAAPassNode;
|
|
20
19
|
|
|
21
|
-
export const ssaaPass: (scene: Scene, camera: Camera) =>
|
|
20
|
+
export const ssaaPass: (scene: Scene, camera: Camera) => SSAAPassNode;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Node, PerspectiveCamera, TempNode, UniformNode } from "three/webgpu";
|
|
2
|
+
|
|
3
|
+
declare class SSGINode extends TempNode {
|
|
4
|
+
beautyNode: Node;
|
|
5
|
+
depthNode: Node;
|
|
6
|
+
normalNode: Node;
|
|
7
|
+
|
|
8
|
+
sliceCount: UniformNode<number>;
|
|
9
|
+
stepCount: UniformNode<number>;
|
|
10
|
+
aoIntensity: UniformNode<number>;
|
|
11
|
+
giIntensity: UniformNode<number>;
|
|
12
|
+
radius: UniformNode<number>;
|
|
13
|
+
useScreenSpaceSampling: UniformNode<boolean>;
|
|
14
|
+
expFactor: UniformNode<number>;
|
|
15
|
+
thickness: UniformNode<number>;
|
|
16
|
+
useLinearThickness: UniformNode<boolean>;
|
|
17
|
+
backfaceLighting: UniformNode<number>;
|
|
18
|
+
useTemporalFiltering: boolean;
|
|
19
|
+
|
|
20
|
+
constructor(beautyNode: Node, depthNode: Node, normalNode: Node, camera: PerspectiveCamera);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default SSGINode;
|
|
24
|
+
|
|
25
|
+
export const ssgi: (
|
|
26
|
+
beautyNode: Node,
|
|
27
|
+
depthNode: Node,
|
|
28
|
+
normalNode: Node,
|
|
29
|
+
camera: PerspectiveCamera,
|
|
30
|
+
) => SSGINode;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
1
|
import { Camera, Node, TempNode, TextureNode, UniformNode } from "three/webgpu";
|
|
3
2
|
|
|
4
3
|
declare class SSRNode extends TempNode {
|
|
5
|
-
colorNode:
|
|
6
|
-
depthNode:
|
|
7
|
-
normalNode:
|
|
8
|
-
metalnessNode:
|
|
9
|
-
roughnessNode:
|
|
4
|
+
colorNode: Node;
|
|
5
|
+
depthNode: Node;
|
|
6
|
+
normalNode: Node;
|
|
7
|
+
metalnessNode: Node;
|
|
8
|
+
roughnessNode: Node | null;
|
|
10
9
|
camera: Camera | null;
|
|
11
10
|
|
|
12
11
|
resolutionScale: number;
|
|
@@ -18,15 +17,15 @@ declare class SSRNode extends TempNode {
|
|
|
18
17
|
blurQuality: UniformNode<number>;
|
|
19
18
|
|
|
20
19
|
constructor(
|
|
21
|
-
colorNode:
|
|
22
|
-
depthNode:
|
|
23
|
-
normalNode:
|
|
24
|
-
metalnessNode:
|
|
25
|
-
roughnessNode?:
|
|
20
|
+
colorNode: Node,
|
|
21
|
+
depthNode: Node,
|
|
22
|
+
normalNode: Node,
|
|
23
|
+
metalnessNode: Node,
|
|
24
|
+
roughnessNode?: Node | null,
|
|
26
25
|
camera?: Camera | null,
|
|
27
26
|
);
|
|
28
27
|
|
|
29
|
-
getTextureNode():
|
|
28
|
+
getTextureNode(): TextureNode;
|
|
30
29
|
|
|
31
30
|
setSize(width: number, height: number): void;
|
|
32
31
|
}
|
|
@@ -40,4 +39,4 @@ export const ssr: (
|
|
|
40
39
|
metalnessNode: Node,
|
|
41
40
|
roughnessNode?: Node | null,
|
|
42
41
|
camera?: Camera | null,
|
|
43
|
-
) =>
|
|
42
|
+
) => SSRNode;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Camera, DirectionalLight, TempNode, TextureNode, UniformNode } from "three/webgpu";
|
|
2
|
+
|
|
3
|
+
declare class SSSNode extends TempNode {
|
|
4
|
+
depthNode: TextureNode;
|
|
5
|
+
|
|
6
|
+
maxDistance: UniformNode<number>;
|
|
7
|
+
thickness: UniformNode<number>;
|
|
8
|
+
shadowIntensity: UniformNode<number>;
|
|
9
|
+
quality: UniformNode<number>;
|
|
10
|
+
resolutionScale: number;
|
|
11
|
+
useTemporalFiltering: boolean;
|
|
12
|
+
|
|
13
|
+
constructor(depthNode: TextureNode, camera: Camera, mainLight: DirectionalLight);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export default SSSNode;
|
|
17
|
+
|
|
18
|
+
export const sss: (depthNode: TextureNode, camera: Camera, mainLight: DirectionalLight) => SSSNode;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
1
|
import { Node, TempNode, TextureNode } from "three/webgpu";
|
|
3
2
|
|
|
4
3
|
declare class SobelOperatorNode extends TempNode {
|
|
@@ -9,4 +8,4 @@ declare class SobelOperatorNode extends TempNode {
|
|
|
9
8
|
|
|
10
9
|
export default SobelOperatorNode;
|
|
11
10
|
|
|
12
|
-
export const sobel: (node: Node) =>
|
|
11
|
+
export const sobel: (node: Node) => SobelOperatorNode;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
1
|
import { Camera, PassNode, Scene, StereoCamera } from "three/webgpu";
|
|
3
2
|
|
|
4
3
|
declare class StereoPassNode extends PassNode {
|
|
@@ -11,4 +10,4 @@ declare class StereoPassNode extends PassNode {
|
|
|
11
10
|
|
|
12
11
|
export default StereoPassNode;
|
|
13
12
|
|
|
14
|
-
export const stereoPass: (scene: Scene, camera: Camera) =>
|
|
13
|
+
export const stereoPass: (scene: Scene, camera: Camera) => StereoPassNode;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
1
|
import { Camera, Node, TempNode, TextureNode } from "three/webgpu";
|
|
3
2
|
|
|
4
3
|
declare class TRAANode extends TempNode {
|
|
@@ -19,4 +18,4 @@ export const traa: (
|
|
|
19
18
|
depthNode: TextureNode,
|
|
20
19
|
velocityNode: TextureNode,
|
|
21
20
|
camera: Camera,
|
|
22
|
-
) =>
|
|
21
|
+
) => TRAANode;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
1
|
import { Node, TempNode, TextureNode, UniformNode } from "three/webgpu";
|
|
3
2
|
|
|
4
3
|
declare class TransitionNode extends TempNode {
|
|
@@ -29,4 +28,4 @@ export const transition: (
|
|
|
29
28
|
mixRatio: UniformNode<number>,
|
|
30
29
|
threshold: UniformNode<number>,
|
|
31
30
|
useTexture: UniformNode<number>,
|
|
32
|
-
) =>
|
|
31
|
+
) => TransitionNode;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
1
|
import { Node } from "three/webgpu";
|
|
3
2
|
|
|
4
3
|
export interface BoxBlurOptions {
|
|
@@ -8,4 +7,4 @@ export interface BoxBlurOptions {
|
|
|
8
7
|
premultipliedAlpha?: boolean | undefined;
|
|
9
8
|
}
|
|
10
9
|
|
|
11
|
-
export const boxBlur: (textureNode: Node, options?: BoxBlurOptions) =>
|
|
10
|
+
export const boxBlur: (textureNode: Node, options?: BoxBlurOptions) => Node;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
1
|
import { Node } from "three/webgpu";
|
|
3
2
|
|
|
4
3
|
interface HashBlurOptions {
|
|
@@ -11,4 +10,4 @@ export const hashBlur: (
|
|
|
11
10
|
textureNode: Node,
|
|
12
11
|
bluramount?: Node | number,
|
|
13
12
|
options?: HashBlurOptions,
|
|
14
|
-
) =>
|
|
13
|
+
) => Node;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
1
|
import { LightsNode, Node } from "three/webgpu";
|
|
3
2
|
|
|
4
3
|
export const circleIntersectsAABB: (
|
|
@@ -6,18 +5,18 @@ export const circleIntersectsAABB: (
|
|
|
6
5
|
radius: Node,
|
|
7
6
|
minBounds: Node,
|
|
8
7
|
maxBounds: Node,
|
|
9
|
-
) =>
|
|
8
|
+
) => Node;
|
|
10
9
|
|
|
11
10
|
declare class TiledLightsNode extends LightsNode {
|
|
12
11
|
constructor(maxLights?: number, tileSize?: number);
|
|
13
12
|
|
|
14
13
|
updateLightsTexture(): void;
|
|
15
14
|
|
|
16
|
-
getBlock(block?: number):
|
|
15
|
+
getBlock(block?: number): Node;
|
|
17
16
|
|
|
18
17
|
setSize(width: number, height: number): this;
|
|
19
18
|
}
|
|
20
19
|
|
|
21
20
|
export default TiledLightsNode;
|
|
22
21
|
|
|
23
|
-
export const tiledLights: (maxLights?: number, tileSize?: number) =>
|
|
22
|
+
export const tiledLights: (maxLights?: number, tileSize?: number) => TiledLightsNode;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
1
|
import { FunctionNode, Node } from "three/webgpu";
|
|
3
2
|
|
|
4
3
|
export const RaymarchingBox: (
|
|
5
4
|
steps: number | Node,
|
|
6
5
|
callback:
|
|
7
|
-
| ((params: { positionRay:
|
|
8
|
-
| FunctionNode<{ positionRay:
|
|
6
|
+
| ((params: { positionRay: Node }) => void)
|
|
7
|
+
| FunctionNode<{ positionRay: Node }>,
|
|
9
8
|
) => void;
|
three/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@types/three",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.181.0",
|
|
4
4
|
"description": "TypeScript definitions for three",
|
|
5
5
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/three",
|
|
6
6
|
"license": "MIT",
|
|
@@ -49,6 +49,6 @@
|
|
|
49
49
|
"meshoptimizer": "~0.22.0"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {},
|
|
52
|
-
"typesPublisherContentHash": "
|
|
52
|
+
"typesPublisherContentHash": "d4f610987bd76c1162c3a6a2221b72979499c9bc94a8d25712df1534d6b1bb87",
|
|
53
53
|
"typeScriptVersion": "5.2"
|
|
54
54
|
}
|
three/src/Three.Core.d.ts
CHANGED
|
@@ -160,4 +160,4 @@ export * from "./textures/Source.js";
|
|
|
160
160
|
export * from "./textures/Texture.js";
|
|
161
161
|
export * from "./textures/VideoFrameTexture.js";
|
|
162
162
|
export * from "./textures/VideoTexture.js";
|
|
163
|
-
export { createCanvasElement } from "./utils.js";
|
|
163
|
+
export { createCanvasElement, error, getConsoleFunction, log, setConsoleFunction, warn, warnOnce } from "./utils.js";
|
three/src/Three.TSL.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ export const PCFShadowFilter: typeof TSL.PCFShadowFilter;
|
|
|
24
24
|
export const PCFSoftShadowFilter: typeof TSL.PCFSoftShadowFilter;
|
|
25
25
|
export const PI: typeof TSL.PI;
|
|
26
26
|
export const PI2: typeof TSL.PI2;
|
|
27
|
+
export const TWO_PI: typeof TSL.TWO_PI;
|
|
28
|
+
export const HALF_PI: typeof TSL.HALF_PI;
|
|
27
29
|
export const PointShadowFilter: typeof TSL.PointShadowFilter;
|
|
28
30
|
export const Return: typeof TSL.Return;
|
|
29
31
|
export const Schlick_to_F0: typeof TSL.Schlick_to_F0;
|
|
@@ -196,6 +198,7 @@ export const getDirection: typeof TSL.getDirection;
|
|
|
196
198
|
export const getDistanceAttenuation: typeof TSL.getDistanceAttenuation;
|
|
197
199
|
export const getGeometryRoughness: typeof TSL.getGeometryRoughness;
|
|
198
200
|
export const getNormalFromDepth: typeof TSL.getNormalFromDepth;
|
|
201
|
+
export const interleavedGradientNoise: typeof TSL.interleavedGradientNoise;
|
|
199
202
|
export const getParallaxCorrectNormal: typeof TSL.getParallaxCorrectNormal;
|
|
200
203
|
export const getRoughness: typeof TSL.getRoughness;
|
|
201
204
|
export const getScreenPosition: typeof TSL.getScreenPosition;
|
|
@@ -396,6 +399,8 @@ export const objectRadius: typeof TSL.objectRadius;
|
|
|
396
399
|
export const objectScale: typeof TSL.objectScale;
|
|
397
400
|
export const objectViewPosition: typeof TSL.objectViewPosition;
|
|
398
401
|
export const objectWorldMatrix: typeof TSL.objectWorldMatrix;
|
|
402
|
+
export const OnBeforeObjectUpdate: typeof TSL.OnBeforeObjectUpdate;
|
|
403
|
+
export const OnBeforeMaterialUpdate: typeof TSL.OnBeforeMaterialUpdate;
|
|
399
404
|
export const OnObjectUpdate: typeof TSL.OnObjectUpdate;
|
|
400
405
|
export const OnMaterialUpdate: typeof TSL.OnMaterialUpdate;
|
|
401
406
|
export const oneMinus: typeof TSL.oneMinus;
|
|
@@ -547,6 +552,7 @@ export const textureBicubicLevel: typeof TSL.textureBicubicLevel;
|
|
|
547
552
|
export const textureCubeUV: typeof TSL.textureCubeUV;
|
|
548
553
|
export const textureLoad: typeof TSL.textureLoad;
|
|
549
554
|
export const textureSize: typeof TSL.textureSize;
|
|
555
|
+
export const textureLevel: typeof TSL.textureLevel;
|
|
550
556
|
export const textureStore: typeof TSL.textureStore;
|
|
551
557
|
export const thickness: typeof TSL.thickness;
|
|
552
558
|
export const time: typeof TSL.time;
|
|
@@ -612,4 +618,4 @@ export const workgroupId: typeof TSL.workgroupId;
|
|
|
612
618
|
export const workingToColorSpace: typeof TSL.workingToColorSpace;
|
|
613
619
|
export const xor: typeof TSL.xor;
|
|
614
620
|
|
|
615
|
-
export type { ProxiedObject,
|
|
621
|
+
export type { ProxiedObject, Swizzable } from "./nodes/TSL.js";
|
|
@@ -16,6 +16,8 @@ export { default as NodeLoader } from "./loaders/nodes/NodeLoader.js";
|
|
|
16
16
|
export { default as NodeMaterialLoader } from "./loaders/nodes/NodeMaterialLoader.js";
|
|
17
17
|
export { default as NodeObjectLoader } from "./loaders/nodes/NodeObjectLoader.js";
|
|
18
18
|
export * from "./nodes/Nodes.js";
|
|
19
|
+
export { default as CanvasTarget } from "./renderers/common/CanvasTarget.js";
|
|
20
|
+
export { default as InspectorBase } from "./renderers/common/InspectorBase.js";
|
|
19
21
|
import * as TSL from "./nodes/TSL.js";
|
|
20
22
|
export { TSL };
|
|
21
23
|
export { ClippingGroup } from "./objects/ClippingGroup.js";
|
three/src/Three.WebGPU.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ export { default as NodeLoader } from "./loaders/nodes/NodeLoader.js";
|
|
|
16
16
|
export { default as NodeMaterialLoader } from "./loaders/nodes/NodeMaterialLoader.js";
|
|
17
17
|
export { default as NodeObjectLoader } from "./loaders/nodes/NodeObjectLoader.js";
|
|
18
18
|
export * from "./nodes/Nodes.js";
|
|
19
|
+
export { default as CanvasTarget } from "./renderers/common/CanvasTarget.js";
|
|
20
|
+
export { default as InspectorBase } from "./renderers/common/InspectorBase.js";
|
|
19
21
|
import * as TSL from "./nodes/TSL.js";
|
|
20
22
|
export { TSL };
|
|
21
23
|
export { ClippingGroup } from "./objects/ClippingGroup.js";
|
|
@@ -74,7 +74,7 @@ export class AnimationMixer extends EventDispatcher<AnimationMixerEventMap> {
|
|
|
74
74
|
/**
|
|
75
75
|
* Deactivates all previously scheduled actions on this mixer.
|
|
76
76
|
*
|
|
77
|
-
* @return {AnimationMixer} A reference to
|
|
77
|
+
* @return {AnimationMixer} A reference to this animation mixer.
|
|
78
78
|
*/
|
|
79
79
|
stopAllAction(): AnimationMixer;
|
|
80
80
|
/**
|
|
@@ -84,7 +84,7 @@ export class AnimationMixer extends EventDispatcher<AnimationMixerEventMap> {
|
|
|
84
84
|
* time from {@link Clock} or {@link Timer}.
|
|
85
85
|
*
|
|
86
86
|
* @param {number} deltaTime - The delta time in seconds.
|
|
87
|
-
* @return {AnimationMixer} A reference to
|
|
87
|
+
* @return {AnimationMixer} A reference to this animation mixer.
|
|
88
88
|
*/
|
|
89
89
|
update(deltaTime: number): AnimationMixer;
|
|
90
90
|
/**
|
|
@@ -94,7 +94,7 @@ export class AnimationMixer extends EventDispatcher<AnimationMixerEventMap> {
|
|
|
94
94
|
* input parameter will be scaled by {@link AnimationMixer#timeScale}
|
|
95
95
|
*
|
|
96
96
|
* @param {number} time - The time to set in seconds.
|
|
97
|
-
* @return {AnimationMixer} A reference to
|
|
97
|
+
* @return {AnimationMixer} A reference to this animation mixer.
|
|
98
98
|
*/
|
|
99
99
|
setTime(time: number): AnimationMixer;
|
|
100
100
|
/**
|
|
@@ -10,7 +10,6 @@ import { Light } from "./Light.js";
|
|
|
10
10
|
* This light will behave as though it is infinitely far away and the rays produced from it are all parallel
|
|
11
11
|
* The common use case for this is to simulate daylight; the sun is far enough away that its position can be considered to be infinite, and all light rays coming from it are parallel.
|
|
12
12
|
* A common point of confusion for directional lights is that setting the rotation has no effect
|
|
13
|
-
* @remarks
|
|
14
13
|
* This is because three.js's {@link DirectionalLight} is the equivalent to what is often called a 'Target Direct Light' in other applications.
|
|
15
14
|
* This means that its direction is calculated as pointing from the light's {@link THREE.Object3D.position | position} to the {@link THREE.DirectionalLight.target | target}'s
|
|
16
15
|
* position (as opposed to a 'Free Direct Light' that just has a rotation component).
|
|
@@ -23,9 +23,9 @@ export class ObjectLoader extends Loader<Object3D> {
|
|
|
23
23
|
parseGeometries(json: unknown): { [key: string]: InstancedBufferGeometry | BufferGeometry };
|
|
24
24
|
parseMaterials(json: unknown, textures: { [key: string]: Texture }): { [key: string]: Material };
|
|
25
25
|
parseAnimations(json: unknown): { [key: string]: AnimationClip };
|
|
26
|
-
parseImages(json: unknown, onLoad?: () => void): { [key: string]: Source };
|
|
27
|
-
parseImagesAsync(json: unknown): Promise<{ [key: string]: Source }>;
|
|
28
|
-
parseTextures(json: unknown, images: { [key: string]: Source }): { [key: string]: Texture };
|
|
26
|
+
parseImages(json: unknown, onLoad?: () => void): { [key: string]: Source<unknown> };
|
|
27
|
+
parseImagesAsync(json: unknown): Promise<{ [key: string]: Source<unknown> }>;
|
|
28
|
+
parseTextures(json: unknown, images: { [key: string]: Source<unknown> }): { [key: string]: Texture };
|
|
29
29
|
parseObject(
|
|
30
30
|
data: unknown,
|
|
31
31
|
geometries: { [key: string]: InstancedBufferGeometry | BufferGeometry },
|
|
@@ -6,13 +6,13 @@ import { LoadingManager } from "./LoadingManager.js";
|
|
|
6
6
|
* Class for loading a texture.
|
|
7
7
|
* Unlike other loaders, this one emits events instead of using predefined callbacks. So if you're interested in getting notified when things happen, you need to add listeners to the object.
|
|
8
8
|
*/
|
|
9
|
-
export class TextureLoader extends Loader<Texture
|
|
9
|
+
export class TextureLoader extends Loader<Texture<HTMLImageElement>> {
|
|
10
10
|
constructor(manager?: LoadingManager);
|
|
11
11
|
|
|
12
12
|
load(
|
|
13
13
|
url: string,
|
|
14
|
-
onLoad?: (data: Texture) => void,
|
|
14
|
+
onLoad?: (data: Texture<HTMLImageElement>) => void,
|
|
15
15
|
onProgress?: (event: ProgressEvent) => void,
|
|
16
16
|
onError?: (err: unknown) => void,
|
|
17
|
-
): Texture
|
|
17
|
+
): Texture<HTMLImageElement>;
|
|
18
18
|
}
|
|
@@ -541,7 +541,7 @@ export class Material extends EventDispatcher<{ dispose: {} }> {
|
|
|
541
541
|
* The type property is used for detecting the object type
|
|
542
542
|
* in context of serialization/deserialization.
|
|
543
543
|
*/
|
|
544
|
-
|
|
544
|
+
type: string;
|
|
545
545
|
/**
|
|
546
546
|
* This starts at `0` and counts how many times {@link Material#needsUpdate} is set to `true`.
|
|
547
547
|
*
|
|
@@ -575,7 +575,7 @@ export class Material extends EventDispatcher<{ dispose: {} }> {
|
|
|
575
575
|
*
|
|
576
576
|
* This method can only be used when rendering with {@link WebGLRenderer}. The
|
|
577
577
|
* recommended approach when customizing materials is to use `WebGPURenderer` with the new
|
|
578
|
-
* Node Material system and [TSL]
|
|
578
|
+
* Node Material system and [TSL](https://github.com/mrdoob/three.js/wiki/Three.js-Shading-Language).
|
|
579
579
|
*
|
|
580
580
|
* @param {{vertexShader:string,fragmentShader:string,uniforms:Object}} shaderobject - The object holds the uniforms and the vertex and fragment shader source.
|
|
581
581
|
* @param {WebGLRenderer} renderer - A reference to the renderer.
|
|
@@ -241,7 +241,7 @@ export interface MeshLambertMaterialParameters
|
|
|
241
241
|
/**
|
|
242
242
|
* A material for non-shiny surfaces, without specular highlights.
|
|
243
243
|
*
|
|
244
|
-
* The material uses a non-physically based [Lambertian]
|
|
244
|
+
* The material uses a non-physically based [Lambertian](https://en.wikipedia.org/wiki/Lambertian_reflectance)
|
|
245
245
|
* model for calculating reflectance. This can simulate some surfaces (such
|
|
246
246
|
* as untreated wood or stone) well, but cannot simulate shiny surfaces with
|
|
247
247
|
* specular highlights (such as varnished wood). `MeshLambertMaterial` uses per-fragment
|
|
@@ -103,6 +103,20 @@ export interface MeshMatcapMaterialProperties extends MaterialProperties {
|
|
|
103
103
|
* @default null
|
|
104
104
|
*/
|
|
105
105
|
alphaMap: Texture | null;
|
|
106
|
+
/**
|
|
107
|
+
* Renders the geometry as a wireframe.
|
|
108
|
+
*
|
|
109
|
+
* @default false
|
|
110
|
+
*/
|
|
111
|
+
wireframe: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Controls the thickness of the wireframe.
|
|
114
|
+
*
|
|
115
|
+
* Can only be used with {@link SVGRenderer}.
|
|
116
|
+
*
|
|
117
|
+
* @default 1
|
|
118
|
+
*/
|
|
119
|
+
wireframeLinewidth: number;
|
|
106
120
|
/**
|
|
107
121
|
* Whether the material is rendered with flat shading or not.
|
|
108
122
|
*
|
|
@@ -255,7 +255,7 @@ export interface MeshPhongMaterialParameters
|
|
|
255
255
|
/**
|
|
256
256
|
* A material for shiny surfaces with specular highlights.
|
|
257
257
|
*
|
|
258
|
-
* The material uses a non-physically based [Blinn-Phong]
|
|
258
|
+
* The material uses a non-physically based [Blinn-Phong](https://en.wikipedia.org/wiki/Blinn-Phong_shading_model)
|
|
259
259
|
* model for calculating reflectance. Unlike the Lambertian model used in the
|
|
260
260
|
* {@link MeshLambertMaterial} this can simulate shiny surfaces with specular
|
|
261
261
|
* highlights (such as varnished wood). `MeshPhongMaterial` uses per-fragment shading.
|
|
@@ -195,7 +195,7 @@ export interface MeshPhysicalMaterialProperties extends MeshStandardMaterialProp
|
|
|
195
195
|
specularColorMap: Texture | null;
|
|
196
196
|
set anisotropy(value: number);
|
|
197
197
|
/**
|
|
198
|
-
* The anisotropy strength.
|
|
198
|
+
* The anisotropy strength, from `0.0` to `1.0`.
|
|
199
199
|
*
|
|
200
200
|
* @default 0
|
|
201
201
|
*/
|
|
@@ -249,9 +249,9 @@ export interface MeshStandardMaterialParameters
|
|
|
249
249
|
* A standard physically based material, using Metallic-Roughness workflow.
|
|
250
250
|
*
|
|
251
251
|
* Physically based rendering (PBR) has recently become the standard in many
|
|
252
|
-
* 3D applications, such as [Unity]
|
|
253
|
-
* [Unreal]
|
|
254
|
-
* [3D Studio Max]
|
|
252
|
+
* 3D applications, such as [Unity](https://blogs.unity3d.com/2014/10/29/physically-based-shading-in-unity-5-a-primer/),
|
|
253
|
+
* [Unreal](https://docs.unrealengine.com/latest/INT/Engine/Rendering/Materials/PhysicallyBased/) and
|
|
254
|
+
* [3D Studio Max](http://area.autodesk.com/blogs/the-3ds-max-blog/what039s-new-for-rendering-in-3ds-max-2017).
|
|
255
255
|
*
|
|
256
256
|
* This approach differs from older approaches in that instead of using
|
|
257
257
|
* approximations for the way in which light interacts with a surface, a
|
|
@@ -267,13 +267,13 @@ export interface MeshStandardMaterialParameters
|
|
|
267
267
|
* Note that for best results you should always specify an environment map when using this material.
|
|
268
268
|
*
|
|
269
269
|
* For a non-technical introduction to the concept of PBR and how to set up a
|
|
270
|
-
* PBR material, check out these articles by the people at [marmoset]
|
|
270
|
+
* PBR material, check out these articles by the people at [marmoset](https://www.marmoset.co):
|
|
271
271
|
*
|
|
272
|
-
* - [Basic Theory of Physically Based Rendering]
|
|
273
|
-
* - [Physically Based Rendering and You Can Too]
|
|
272
|
+
* - [Basic Theory of Physically Based Rendering](https://www.marmoset.co/posts/basic-theory-of-physically-based-rendering/)
|
|
273
|
+
* - [Physically Based Rendering and You Can Too](https://www.marmoset.co/posts/physically-based-rendering-and-you-can-too/)
|
|
274
274
|
*
|
|
275
275
|
* Technical details of the approach used in three.js (and most other PBR systems) can be found is this
|
|
276
|
-
* [paper from Disney]
|
|
276
|
+
* [paper from Disney](https://media.disneyanimation.com/uploads/production/publication_asset/48/asset/s2012_pbs_disney_brdf_notes_v3.pdf)
|
|
277
277
|
* (pdf), by Brent Burley.
|
|
278
278
|
*/
|
|
279
279
|
export class MeshStandardMaterial extends Material {
|
|
@@ -33,7 +33,7 @@ export interface PointsMaterialProperties extends MaterialProperties {
|
|
|
33
33
|
/**
|
|
34
34
|
* Defines the size of the points in pixels.
|
|
35
35
|
*
|
|
36
|
-
* Might be capped if the value exceeds hardware dependent parameters like [gl.ALIASED_POINT_SIZE_RANGE]
|
|
36
|
+
* Might be capped if the value exceeds hardware dependent parameters like [gl.ALIASED_POINT_SIZE_RANGE](https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/getParamete).
|
|
37
37
|
*
|
|
38
38
|
* @default 1
|
|
39
39
|
*/
|
|
@@ -130,7 +130,7 @@ export interface ShaderMaterialProperties extends MaterialProperties {
|
|
|
130
130
|
uv1: [number, number];
|
|
131
131
|
};
|
|
132
132
|
/**
|
|
133
|
-
* If set, this calls [gl.bindAttribLocation]
|
|
133
|
+
* If set, this calls [gl.bindAttribLocation](https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bindAttribLocation)
|
|
134
134
|
* to bind a generic vertex index to an attribute variable.
|
|
135
135
|
*
|
|
136
136
|
* @default undefined
|
|
@@ -209,7 +209,7 @@ export interface ShaderMaterialJSON extends MaterialJSON {
|
|
|
209
209
|
* - You can use the directive `#pragma unroll_loop_start` and `#pragma unroll_loop_end`
|
|
210
210
|
* in order to unroll a `for` loop in GLSL by the shader preprocessor. The directive has
|
|
211
211
|
* to be placed right above the loop. The loop formatting has to correspond to a defined standard.
|
|
212
|
-
* - The loop has to be [normalized]
|
|
212
|
+
* - The loop has to be [normalized](https://en.wikipedia.org/wiki/Normalized_loop).
|
|
213
213
|
* - The loop variable has to be *i*.
|
|
214
214
|
* - The value `UNROLLED_LOOP_INDEX` will be replaced with the explicitly
|
|
215
215
|
* value of *i* for the given iteration and can be used in preprocessor
|
|
@@ -217,12 +217,12 @@ export interface ShaderMaterialJSON extends MaterialJSON {
|
|
|
217
217
|
*
|
|
218
218
|
* ```js
|
|
219
219
|
* const material = new THREE.ShaderMaterial( {
|
|
220
|
-
*
|
|
221
|
-
*
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
220
|
+
* uniforms: {
|
|
221
|
+
* time: { value: 1.0 },
|
|
222
|
+
* resolution: { value: new THREE.Vector2() }
|
|
223
|
+
* },
|
|
224
|
+
* vertexShader: document.getElementById( 'vertexShader' ).textContent,
|
|
225
|
+
* fragmentShader: document.getElementById( 'fragmentShader' ).textContent
|
|
226
226
|
* } );
|
|
227
227
|
* ```
|
|
228
228
|
*/
|
|
@@ -40,7 +40,7 @@ declare class SSSLightingModel extends PhysicalLightingModel {
|
|
|
40
40
|
/**
|
|
41
41
|
* Extends the default implementation with a SSS term.
|
|
42
42
|
*
|
|
43
|
-
* Reference: [Approximating Translucency for a Fast, Cheap and Convincing Subsurface Scattering Look]
|
|
43
|
+
* Reference: [Approximating Translucency for a Fast, Cheap and Convincing Subsurface Scattering Look](https://colinbarrebrisebois.com/2011/03/07/gdc-2011-approximating-translucency-for-a-fast-cheap-and-convincing-subsurface-scattering-look/)
|
|
44
44
|
*
|
|
45
45
|
* @param {Object} input - The input data.
|
|
46
46
|
* @param {NodeBuilder} builder - The current node builder.
|