@types/three 0.164.1 → 0.165.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/controls/TransformControls.d.ts +8 -6
- three/examples/jsm/exporters/USDZExporter.d.ts +4 -2
- three/examples/jsm/loaders/FontLoader.d.ts +1 -1
- three/examples/jsm/loaders/GLTFLoader.d.ts +9 -6
- three/examples/jsm/loaders/LDrawLoader.d.ts +1 -1
- three/examples/jsm/modifiers/EdgeSplitModifier.d.ts +17 -10
- three/examples/jsm/nodes/Nodes.d.ts +11 -54
- three/examples/jsm/nodes/accessors/BitangentNode.d.ts +4 -22
- three/examples/jsm/nodes/accessors/BufferAttributeNode.d.ts +49 -0
- three/examples/jsm/nodes/accessors/BufferNode.d.ts +3 -4
- three/examples/jsm/nodes/accessors/CameraNode.d.ts +11 -20
- three/examples/jsm/nodes/accessors/CubeTextureNode.d.ts +1 -1
- three/examples/jsm/nodes/accessors/MaterialNode.d.ts +4 -1
- three/examples/jsm/nodes/accessors/ModelNode.d.ts +3 -0
- three/examples/jsm/nodes/accessors/ModelViewProjectionNode.d.ts +1 -2
- three/examples/jsm/nodes/accessors/NormalNode.d.ts +9 -17
- three/examples/jsm/nodes/accessors/PositionNode.d.ts +6 -26
- three/examples/jsm/nodes/accessors/ReferenceNode.d.ts +3 -4
- three/examples/jsm/nodes/accessors/ReflectVectorNode.d.ts +3 -8
- three/examples/jsm/nodes/accessors/RendererReferenceNode.d.ts +2 -3
- three/examples/jsm/nodes/accessors/StorageBufferNode.d.ts +9 -4
- three/examples/jsm/nodes/accessors/TangentNode.d.ts +8 -23
- three/examples/jsm/nodes/accessors/Texture3DNode.d.ts +16 -0
- three/examples/jsm/nodes/accessors/TextureNode.d.ts +1 -1
- three/examples/jsm/nodes/accessors/UVNode.d.ts +1 -8
- three/examples/jsm/nodes/accessors/UniformsNode.d.ts +0 -2
- three/examples/jsm/nodes/accessors/UserDataNode.d.ts +4 -3
- three/examples/jsm/nodes/code/CodeNode.d.ts +0 -1
- three/examples/jsm/nodes/code/ExpressionNode.d.ts +2 -3
- three/examples/jsm/nodes/core/AttributeNode.d.ts +11 -4
- three/examples/jsm/nodes/core/ConstNode.d.ts +1 -2
- three/examples/jsm/nodes/core/InputNode.d.ts +1 -2
- three/examples/jsm/nodes/core/Node.d.ts +99 -42
- three/examples/jsm/nodes/core/NodeAttribute.d.ts +7 -4
- three/examples/jsm/nodes/core/NodeBuilder.d.ts +24 -24
- three/examples/jsm/nodes/core/NodeCache.d.ts +38 -4
- three/examples/jsm/nodes/core/NodeKeywords.d.ts +10 -7
- three/examples/jsm/nodes/core/NodeParser.d.ts +4 -4
- three/examples/jsm/nodes/core/NodeUniform.d.ts +8 -11
- three/examples/jsm/nodes/core/NodeVar.d.ts +5 -4
- three/examples/jsm/nodes/core/NodeVarying.d.ts +5 -6
- three/examples/jsm/nodes/core/PropertyNode.d.ts +4 -4
- three/examples/jsm/nodes/core/StackNode.d.ts +7 -1
- three/examples/jsm/nodes/core/StructTypeNode.d.ts +8 -0
- three/examples/jsm/nodes/core/TempNode.d.ts +1 -2
- three/examples/jsm/nodes/core/UniformGroup.d.ts +7 -0
- three/examples/jsm/nodes/core/UniformGroupNode.d.ts +21 -0
- three/examples/jsm/nodes/core/UniformNode.d.ts +14 -11
- three/examples/jsm/nodes/core/VaryingNode.d.ts +4 -0
- three/examples/jsm/nodes/core/constants.d.ts +27 -79
- three/examples/jsm/nodes/functions/PhysicalLightingModel.d.ts +2 -0
- three/examples/jsm/nodes/functions/ToonLightingModel.d.ts +4 -0
- three/examples/jsm/nodes/loaders/NodeLoader.d.ts +3 -3
- three/examples/jsm/nodes/loaders/NodeObjectLoader.d.ts +2 -3
- three/examples/jsm/nodes/materials/LineBasicNodeMaterial.d.ts +2 -0
- three/examples/jsm/nodes/materials/Materials.d.ts +3 -0
- three/examples/jsm/nodes/materials/MeshBasicNodeMaterial.d.ts +5 -1
- three/examples/jsm/nodes/materials/MeshMatcapNodeMaterial.d.ts +28 -0
- three/examples/jsm/nodes/materials/MeshNormalNodeMaterial.d.ts +2 -0
- three/examples/jsm/nodes/materials/MeshPhongNodeMaterial.d.ts +5 -1
- three/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.d.ts +8 -0
- three/examples/jsm/nodes/materials/MeshStandardNodeMaterial.d.ts +5 -1
- three/examples/jsm/nodes/materials/MeshToonNodeMaterial.d.ts +38 -0
- three/examples/jsm/nodes/materials/NodeMaterial.d.ts +9 -4
- three/examples/jsm/nodes/materials/PointsNodeMaterial.d.ts +1 -0
- three/examples/jsm/nodes/materials/ShadowNodeMaterial.d.ts +1 -0
- three/examples/jsm/nodes/materials/SpriteNodeMaterial.d.ts +1 -0
- three/examples/jsm/nodes/materials/VolumeNodeMaterial.d.ts +10 -0
- three/examples/jsm/nodes/shadernode/ShaderNode.d.ts +58 -36
- three/examples/jsm/nodes/utils/ConvertNode.d.ts +2 -3
- three/examples/jsm/nodes/utils/EquirectUVNode.d.ts +2 -2
- three/examples/jsm/nodes/utils/SplitNode.d.ts +1 -1
- three/examples/jsm/nodes/utils/TriplanarTexturesNode.d.ts +4 -5
- three/examples/jsm/objects/Sky.d.ts +18 -0
- three/examples/jsm/renderers/common/Animation.d.ts +14 -0
- three/examples/jsm/renderers/common/Attributes.d.ts +20 -0
- three/examples/jsm/renderers/common/Background.d.ts +22 -0
- three/examples/jsm/renderers/common/Binding.d.ts +8 -0
- three/examples/jsm/renderers/common/Bindings.d.ts +45 -0
- three/examples/jsm/renderers/common/Buffer.d.ts +11 -0
- three/examples/jsm/renderers/common/BufferUtils.d.ts +4 -0
- three/examples/jsm/renderers/common/ChainMap.d.ts +9 -0
- three/examples/jsm/renderers/common/ClippingContext.d.ts +18 -0
- three/examples/jsm/renderers/common/Color4.d.ts +6 -5
- three/examples/jsm/renderers/common/ComputePipeline.d.ts +8 -0
- three/examples/jsm/renderers/common/Constants.d.ts +9 -0
- three/examples/jsm/renderers/common/CubeRenderTarget.d.ts +7 -0
- three/examples/jsm/renderers/common/DataMap.d.ts +20 -0
- three/examples/jsm/renderers/common/Geometries.d.ts +28 -0
- three/examples/jsm/renderers/common/Info.d.ts +20 -13
- three/examples/jsm/renderers/common/Pipeline.d.ts +6 -0
- three/examples/jsm/renderers/common/Pipelines.d.ts +68 -0
- three/examples/jsm/renderers/common/ProgrammableStage.d.ts +15 -0
- three/examples/jsm/renderers/common/RenderBundle.d.ts +8 -0
- three/examples/jsm/renderers/common/RenderBundles.d.ts +10 -0
- three/examples/jsm/renderers/common/RenderContext.d.ts +38 -0
- three/examples/jsm/renderers/common/RenderContexts.d.ts +13 -0
- three/examples/jsm/renderers/common/RenderList.d.ts +62 -0
- three/examples/jsm/renderers/common/RenderLists.d.ts +10 -0
- three/examples/jsm/renderers/common/RenderObject.d.ts +73 -0
- three/examples/jsm/renderers/common/RenderObjects.d.ts +59 -0
- three/examples/jsm/renderers/common/RenderPipeline.d.ts +8 -0
- three/examples/jsm/renderers/common/Renderer.d.ts +175 -208
- three/examples/jsm/renderers/common/StorageBufferAttribute.d.ts +7 -0
- three/examples/jsm/renderers/common/StorageInstancedBufferAttribute.d.ts +7 -0
- three/examples/jsm/renderers/common/Textures.d.ts +64 -0
- three/examples/jsm/renderers/common/Uniform.d.ts +40 -0
- three/examples/jsm/renderers/common/UniformBuffer.d.ts +6 -0
- three/examples/jsm/renderers/common/UniformsGroup.d.ts +30 -0
- three/examples/jsm/renderers/common/nodes/NodeBuilderState.d.ts +26 -0
- three/examples/jsm/renderers/common/nodes/NodeUniform.d.ts +63 -0
- three/examples/jsm/renderers/common/nodes/NodeUniformsGroup.d.ts +12 -0
- three/examples/jsm/renderers/common/nodes/Nodes.d.ts +94 -0
- three/examples/jsm/utils/SceneUtils.d.ts +9 -3
- three/package.json +2 -2
- three/src/animation/tracks/StringKeyframeTrack.d.ts +1 -2
- three/src/core/BufferGeometry.d.ts +19 -17
- three/src/core/InterleavedBuffer.d.ts +2 -0
- three/src/loaders/LoaderUtils.d.ts +9 -6
- three/src/math/Color.d.ts +1 -1
- three/src/math/Matrix3.d.ts +2 -0
- three/src/math/Matrix4.d.ts +2 -0
- three/src/objects/BatchedMesh.d.ts +15 -0
- three/src/objects/InstancedMesh.d.ts +3 -3
- three/src/renderers/WebGLRenderer.d.ts +41 -19
- three/src/renderers/webgl/WebGLPrograms.d.ts +1 -1
- three/src/renderers/webxr/WebXRDepthSensing.d.ts +1 -1
- three/src/textures/CompressedArrayTexture.d.ts +32 -15
- three/src/textures/DataArrayTexture.d.ts +37 -20
- three/src/textures/FramebufferTexture.d.ts +1 -1
- three/src/utils.d.ts +2 -0
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
/// <reference types="webxr" />
|
|
1
2
|
import {
|
|
3
|
+
Box2,
|
|
4
|
+
BufferAttribute,
|
|
2
5
|
BufferGeometry,
|
|
3
6
|
Camera,
|
|
4
7
|
Color,
|
|
5
8
|
ColorSpace,
|
|
6
|
-
CoordinateSystem,
|
|
7
9
|
FramebufferTexture,
|
|
8
|
-
|
|
10
|
+
GeometryGroup,
|
|
9
11
|
Material,
|
|
10
12
|
Object3D,
|
|
11
13
|
Plane,
|
|
@@ -20,259 +22,205 @@ import {
|
|
|
20
22
|
import Node from "../../nodes/core/Node.js";
|
|
21
23
|
import ComputeNode from "../../nodes/gpgpu/ComputeNode.js";
|
|
22
24
|
import LightsNode from "../../nodes/lighting/LightsNode.js";
|
|
23
|
-
import
|
|
25
|
+
import Animation from "./Animation.js";
|
|
26
|
+
import Attributes from "./Attributes.js";
|
|
24
27
|
import Backend from "./Backend.js";
|
|
28
|
+
import Background from "./Background.js";
|
|
29
|
+
import Bindings from "./Bindings.js";
|
|
30
|
+
import Color4 from "./Color4.js";
|
|
31
|
+
import Geometries from "./Geometries.js";
|
|
25
32
|
import Info from "./Info.js";
|
|
26
|
-
|
|
33
|
+
import Nodes from "./nodes/Nodes.js";
|
|
34
|
+
import Pipelines from "./Pipelines.js";
|
|
35
|
+
import RenderBundle from "./RenderBundle.js";
|
|
36
|
+
import RenderBundles from "./RenderBundles.js";
|
|
37
|
+
import RenderContext from "./RenderContext.js";
|
|
38
|
+
import RenderContexts from "./RenderContexts.js";
|
|
39
|
+
import RenderList, { Bundle, RenderItem } from "./RenderList.js";
|
|
40
|
+
import RenderLists from "./RenderLists.js";
|
|
41
|
+
import RenderObjects from "./RenderObjects.js";
|
|
42
|
+
import Textures from "./Textures.js";
|
|
27
43
|
export interface RendererParameters {
|
|
28
44
|
logarithmicDepthBuffer?: boolean | undefined;
|
|
29
45
|
alpha?: boolean | undefined;
|
|
30
46
|
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Generic Renderer interface containing either a WebGL or WebGPU backend.
|
|
34
|
-
*/
|
|
35
|
-
export default class Renderer {
|
|
36
|
-
/**
|
|
37
|
-
* @default true
|
|
38
|
-
*/
|
|
47
|
+
declare class Renderer {
|
|
39
48
|
readonly isRenderer: true;
|
|
40
|
-
|
|
41
49
|
domElement: HTMLCanvasElement;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* The renderer backend; could be WebGLBackend or WebGPUBackend
|
|
45
|
-
*/
|
|
46
50
|
backend: Backend;
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* @default true
|
|
50
|
-
*/
|
|
51
51
|
autoClear: boolean;
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* @default true
|
|
55
|
-
*/
|
|
56
52
|
autoClearColor: boolean;
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* @default true
|
|
60
|
-
*/
|
|
61
53
|
autoClearDepth: boolean;
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* @default true
|
|
65
|
-
*/
|
|
66
54
|
autoClearStencil: boolean;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
* @default SRGBColorSpace
|
|
70
|
-
*/
|
|
55
|
+
alpha: boolean;
|
|
56
|
+
logarithmicDepthBuffer: boolean;
|
|
71
57
|
outputColorSpace: ColorSpace;
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* @default NoToneMapping
|
|
75
|
-
*/
|
|
76
58
|
toneMapping: ToneMapping;
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* @default 1.0
|
|
80
|
-
*/
|
|
81
59
|
toneMappingExposure: number;
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* @default true
|
|
85
|
-
*/
|
|
86
60
|
sortObjects: boolean;
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* @default true
|
|
90
|
-
*/
|
|
91
61
|
depth: boolean;
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* @default false
|
|
95
|
-
*/
|
|
96
62
|
stencil: boolean;
|
|
97
|
-
|
|
98
63
|
clippingPlanes: readonly Plane[];
|
|
99
|
-
|
|
100
|
-
toneMappingNode: Node | null;
|
|
101
|
-
|
|
102
64
|
info: Info;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
65
|
+
toneMappingNode: Node | null;
|
|
66
|
+
_pixelRatio: number;
|
|
67
|
+
_width: number;
|
|
68
|
+
_height: number;
|
|
69
|
+
_viewport: Vector4;
|
|
70
|
+
_scissor: Vector4;
|
|
71
|
+
_scissorTest: boolean;
|
|
72
|
+
_attributes: Attributes | null;
|
|
73
|
+
_geometries: Geometries | null;
|
|
74
|
+
_nodes: Nodes | null;
|
|
75
|
+
_animation: Animation | null;
|
|
76
|
+
_bindings: Bindings | null;
|
|
77
|
+
_objects: RenderObjects | null;
|
|
78
|
+
_pipelines: Pipelines | null;
|
|
79
|
+
_bundles: RenderBundles | null;
|
|
80
|
+
_renderLists: RenderLists | null;
|
|
81
|
+
_renderContexts: RenderContexts | null;
|
|
82
|
+
_textures: Textures | null;
|
|
83
|
+
_background: Background | null;
|
|
84
|
+
_currentRenderContext: RenderContext | null;
|
|
85
|
+
_opaqueSort: ((a: RenderItem, b: RenderItem) => number) | null;
|
|
86
|
+
_transparentSort: ((a: RenderItem, b: RenderItem) => number) | null;
|
|
87
|
+
_frameBufferTarget: RenderTarget | null;
|
|
88
|
+
_clearColor: Color4;
|
|
89
|
+
_clearDepth: number;
|
|
90
|
+
_clearStencil: number;
|
|
91
|
+
_renderTarget: RenderTarget | null;
|
|
92
|
+
_activeCubeFace: number;
|
|
93
|
+
_activeMipmapLevel: number;
|
|
94
|
+
_renderObjectFunction:
|
|
95
|
+
| ((
|
|
96
|
+
object: Object3D,
|
|
97
|
+
scene: Scene,
|
|
98
|
+
camera: Camera,
|
|
99
|
+
geometry: BufferGeometry,
|
|
100
|
+
material: Material,
|
|
101
|
+
group: GeometryGroup,
|
|
102
|
+
lightsNode: LightsNode,
|
|
103
|
+
) => void)
|
|
104
|
+
| null;
|
|
105
|
+
_currentRenderObjectFunction:
|
|
106
|
+
| ((
|
|
107
|
+
object: Object3D,
|
|
108
|
+
scene: Scene,
|
|
109
|
+
camera: Camera,
|
|
110
|
+
geometry: BufferGeometry,
|
|
111
|
+
material: Material,
|
|
112
|
+
group: GeometryGroup,
|
|
113
|
+
lightsNode: LightsNode,
|
|
114
|
+
) => void)
|
|
115
|
+
| null;
|
|
116
|
+
_currentRenderBundle: RenderBundle | null;
|
|
117
|
+
_handleObjectFunction: (
|
|
118
|
+
object: Object3D,
|
|
119
|
+
material: Material,
|
|
120
|
+
scene: Scene,
|
|
121
|
+
camera: Camera,
|
|
122
|
+
lightsNode: LightsNode,
|
|
123
|
+
group: GeometryGroup,
|
|
124
|
+
passId?: string,
|
|
125
|
+
) => void;
|
|
126
|
+
_initialized: boolean;
|
|
127
|
+
_initPromise: Promise<void> | null;
|
|
128
|
+
_compilationPromises: Promise<void>[] | null;
|
|
129
|
+
shadowMap: {
|
|
130
|
+
enabled: boolean;
|
|
131
|
+
type: ShadowMapType | null;
|
|
132
|
+
};
|
|
133
|
+
xr: {
|
|
134
|
+
enabled: boolean;
|
|
135
|
+
};
|
|
136
|
+
localClippingEnabled?: boolean | undefined;
|
|
110
137
|
constructor(backend: Backend, parameters?: RendererParameters);
|
|
111
|
-
|
|
112
138
|
init(): Promise<void>;
|
|
113
|
-
|
|
114
|
-
get coordinateSystem(): CoordinateSystem;
|
|
115
|
-
|
|
139
|
+
get coordinateSystem(): import("three").CoordinateSystem;
|
|
116
140
|
compileAsync(scene: Scene, camera: Camera, targetScene?: Scene | null): Promise<void>;
|
|
117
|
-
|
|
118
141
|
renderAsync(scene: Scene, camera: Camera): Promise<void>;
|
|
119
|
-
|
|
120
|
-
render(scene: Scene, camera: Camera): void;
|
|
121
|
-
|
|
142
|
+
_renderBundle(bundle: Bundle, sceneRef: Scene, lightsNode: LightsNode): void;
|
|
143
|
+
render(scene: Scene, camera: Camera): Promise<void> | undefined;
|
|
144
|
+
_getFrameBufferTarget(): RenderTarget<Texture> | null;
|
|
145
|
+
_renderScene(scene: Scene, camera: Camera, useFrameBufferTarget?: boolean): RenderContext;
|
|
122
146
|
getMaxAnisotropy(): number;
|
|
123
|
-
|
|
124
147
|
getActiveCubeFace(): number;
|
|
125
|
-
|
|
126
148
|
getActiveMipmapLevel(): number;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Sets the pixel ratio of the Renderer.
|
|
132
|
-
*/
|
|
133
|
-
setPixelRatio(value?: number): void;
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* Sets the width and height of the output canvas and optionally updates the CSS style on the DOM element.
|
|
137
|
-
*/
|
|
138
|
-
setSize(width: number, height: number, updateStyle?: boolean): void;
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Gets the Rendering Context of the renderer.
|
|
142
|
-
*/
|
|
143
|
-
getContext(): RenderingContext;
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Gets the current pixel ratio of the renderer.
|
|
147
|
-
*/
|
|
149
|
+
setAnimationLoop(callback: ((time: DOMHighResTimeStamp, frame?: XRFrame) => void) | null): Promise<void>;
|
|
150
|
+
getArrayBufferAsync(attribute: BufferAttribute): Promise<ArrayBuffer>;
|
|
151
|
+
getContext(): void;
|
|
148
152
|
getPixelRatio(): number;
|
|
149
|
-
|
|
150
153
|
getDrawingBufferSize(target: Vector2): Vector2;
|
|
151
|
-
|
|
152
154
|
getSize(target: Vector2): Vector2;
|
|
153
|
-
|
|
155
|
+
setPixelRatio(value?: number): void;
|
|
154
156
|
setDrawingBufferSize(width: number, height: number, pixelRatio: number): void;
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
*/
|
|
159
|
-
setOpaqueSort(method: (a: unknown, b: unknown) => number): void;
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Sets the custom transparent sort function for the RenderLists. Pass null to use the default reversePainterSortStable function.
|
|
163
|
-
*/
|
|
164
|
-
setTransparentSort(method: (a: unknown, b: unknown) => number): void;
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Copies the scissor area into target.
|
|
168
|
-
*/
|
|
157
|
+
setSize(width: number, height: number, updateStyle?: boolean): void;
|
|
158
|
+
setOpaqueSort(method: ((a: RenderItem, b: RenderItem) => number) | null): void;
|
|
159
|
+
setTransparentSort(method: ((a: RenderItem, b: RenderItem) => number) | null): void;
|
|
169
160
|
getScissor(target: Vector4): Vector4;
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* Sets the scissor area from (x, y) to (x + width, y + height).
|
|
173
|
-
*/
|
|
161
|
+
setScissor(x: Vector4): void;
|
|
174
162
|
setScissor(x: number, y: number, width: number, height: number): void;
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* Returns true if scissor test is enabled; returns false otherwise.
|
|
178
|
-
*/
|
|
179
163
|
getScissorTest(): boolean;
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* Enable the scissor test. When this is enabled, only the pixels within the defined scissor area will be affected by further renderer actions.
|
|
183
|
-
*/
|
|
184
164
|
setScissorTest(boolean: boolean): void;
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* Copies the viewport into target.
|
|
188
|
-
*/
|
|
189
165
|
getViewport(target: Vector4): Vector4;
|
|
190
|
-
|
|
191
|
-
/**
|
|
192
|
-
* Sets the viewport to render from (x, y) to (x + width, y + height).
|
|
193
|
-
* (x, y) is the lower-left corner of the region.
|
|
194
|
-
*/
|
|
166
|
+
setViewport(x: Vector4): void;
|
|
195
167
|
setViewport(x: number, y: number, width: number, height: number, minDepth?: number, maxDepth?: number): void;
|
|
196
|
-
|
|
197
|
-
/**
|
|
198
|
-
* Returns a Color4 instance with the current clear color.
|
|
199
|
-
*/
|
|
200
168
|
getClearColor(target: Color4): Color4;
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* Sets the clear color, using color for the color and alpha for the opacity.
|
|
204
|
-
*/
|
|
205
169
|
setClearColor(color: Color, alpha?: number): void;
|
|
206
|
-
|
|
207
|
-
/**
|
|
208
|
-
* Returns a float with the current clear alpha. Ranges from 0 to 1.
|
|
209
|
-
*/
|
|
210
170
|
getClearAlpha(): number;
|
|
211
|
-
|
|
212
171
|
setClearAlpha(alpha: number): void;
|
|
213
|
-
|
|
214
172
|
getClearDepth(): number;
|
|
215
|
-
|
|
216
173
|
setClearDepth(depth: number): void;
|
|
217
|
-
|
|
218
174
|
getClearStencil(): number;
|
|
219
|
-
|
|
220
175
|
setClearStencil(stencil: number): void;
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
* Arguments default to true
|
|
227
|
-
*/
|
|
228
|
-
clear(color?: boolean, depth?: boolean, stencil?: boolean): void;
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Clear the color buffer. Equivalent to calling .clear( true, false, false ).
|
|
232
|
-
*/
|
|
233
|
-
clearColor(): void;
|
|
234
|
-
|
|
235
|
-
/**
|
|
236
|
-
* Clear the depth buffer. Equivalent to calling .clear( false, true, false ).
|
|
237
|
-
*/
|
|
238
|
-
clearDepth(): void;
|
|
239
|
-
|
|
240
|
-
/**
|
|
241
|
-
* Clear the stencil buffer. Equivalent to calling .clear( false, false, true ).
|
|
242
|
-
*/
|
|
243
|
-
clearStencil(): void;
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* Tells the renderer to clear its color, depth or stencil drawing buffer(s).
|
|
247
|
-
* Arguments default to true
|
|
248
|
-
*/
|
|
176
|
+
isOccluded(object: Object3D): boolean | null;
|
|
177
|
+
clear(color?: boolean, depth?: boolean, stencil?: boolean): Promise<void> | undefined;
|
|
178
|
+
clearColor(): Promise<void> | undefined;
|
|
179
|
+
clearDepth(): Promise<void> | undefined;
|
|
180
|
+
clearStencil(): Promise<void> | undefined;
|
|
249
181
|
clearAsync(color?: boolean, depth?: boolean, stencil?: boolean): Promise<void>;
|
|
250
|
-
|
|
182
|
+
clearColorAsync(): Promise<void>;
|
|
183
|
+
clearDepthAsync(): Promise<void>;
|
|
184
|
+
clearStencilAsync(): Promise<void>;
|
|
251
185
|
get currentColorSpace(): ColorSpace;
|
|
252
|
-
|
|
253
186
|
dispose(): void;
|
|
254
|
-
|
|
255
187
|
setRenderTarget(renderTarget: RenderTarget | null, activeCubeFace?: number, activeMipmapLevel?: number): void;
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
188
|
+
getRenderTarget(): RenderTarget<Texture> | null;
|
|
189
|
+
setRenderObjectFunction(
|
|
190
|
+
renderObjectFunction:
|
|
191
|
+
| ((
|
|
192
|
+
object: Object3D,
|
|
193
|
+
scene: Scene,
|
|
194
|
+
camera: Camera,
|
|
195
|
+
geometry: BufferGeometry,
|
|
196
|
+
material: Material,
|
|
197
|
+
group: GeometryGroup,
|
|
198
|
+
lightsNode: LightsNode,
|
|
199
|
+
) => void)
|
|
200
|
+
| null,
|
|
201
|
+
): void;
|
|
202
|
+
getRenderObjectFunction():
|
|
203
|
+
| ((
|
|
204
|
+
object: Object3D<import("three").Object3DEventMap>,
|
|
205
|
+
scene: Scene,
|
|
206
|
+
camera: Camera,
|
|
207
|
+
geometry: BufferGeometry<import("three").NormalBufferAttributes>,
|
|
208
|
+
material: Material,
|
|
209
|
+
group: GeometryGroup,
|
|
210
|
+
lightsNode: LightsNode,
|
|
211
|
+
) => void)
|
|
212
|
+
| null;
|
|
266
213
|
computeAsync(computeNodes: ComputeNode | ComputeNode[]): Promise<void>;
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
hasFeature(name: string): boolean;
|
|
271
|
-
|
|
214
|
+
hasFeatureAsync(name: string): Promise<void>;
|
|
215
|
+
hasFeature(name: string): false | void;
|
|
272
216
|
copyFramebufferToTexture(framebufferTexture: FramebufferTexture): void;
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
217
|
+
copyTextureToTexture(
|
|
218
|
+
srcTexture: Texture,
|
|
219
|
+
dstTexture: Texture,
|
|
220
|
+
srcRegion?: Box2 | null,
|
|
221
|
+
dstPosition?: Vector2 | null,
|
|
222
|
+
level?: number,
|
|
223
|
+
): void;
|
|
276
224
|
readRenderTargetPixelsAsync(
|
|
277
225
|
renderTarget: RenderTarget,
|
|
278
226
|
x: number,
|
|
@@ -280,19 +228,38 @@ export default class Renderer {
|
|
|
280
228
|
width: number,
|
|
281
229
|
height: number,
|
|
282
230
|
index?: number,
|
|
283
|
-
): Promise<
|
|
284
|
-
|
|
231
|
+
): Promise<import("three").TypedArray>;
|
|
232
|
+
_projectObject(object: Object3D, camera: Camera, groupOrder: number, renderList: RenderList): void;
|
|
233
|
+
_renderBundles(bundles: Bundle[], sceneRef: Scene, lightsNode: LightsNode): void;
|
|
234
|
+
_renderObjects(renderList: RenderItem[], camera: Camera, scene: Scene, lightsNode: LightsNode): void;
|
|
285
235
|
renderObject(
|
|
286
236
|
object: Object3D,
|
|
287
237
|
scene: Scene,
|
|
288
238
|
camera: Camera,
|
|
289
239
|
geometry: BufferGeometry,
|
|
290
240
|
material: Material,
|
|
291
|
-
group:
|
|
241
|
+
group: GeometryGroup,
|
|
242
|
+
lightsNode: LightsNode,
|
|
243
|
+
): void;
|
|
244
|
+
_renderObjectDirect(
|
|
245
|
+
object: Object3D,
|
|
246
|
+
material: Material,
|
|
247
|
+
scene: Scene,
|
|
248
|
+
camera: Camera,
|
|
249
|
+
lightsNode: LightsNode,
|
|
250
|
+
group: GeometryGroup,
|
|
251
|
+
passId?: string,
|
|
252
|
+
): void;
|
|
253
|
+
_createObjectPipeline(
|
|
254
|
+
object: Object3D,
|
|
255
|
+
material: Material,
|
|
256
|
+
scene: Scene,
|
|
257
|
+
camera: Camera,
|
|
292
258
|
lightsNode: LightsNode,
|
|
259
|
+
group: GeometryGroup,
|
|
260
|
+
passId?: string,
|
|
293
261
|
): void;
|
|
294
|
-
|
|
295
262
|
get compute(): (computeNodes: ComputeNode | ComputeNode[]) => Promise<void>;
|
|
296
|
-
|
|
297
263
|
get compile(): (scene: Scene, camera: Camera, targetScene?: Scene | null) => Promise<void>;
|
|
298
264
|
}
|
|
265
|
+
export default Renderer;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { InstancedBufferAttribute, TypedArray } from "three";
|
|
2
|
+
|
|
3
|
+
export default class StorageInstancedBufferAttribute extends InstancedBufferAttribute {
|
|
4
|
+
readonly isStorageInstancedBufferAttribute: true;
|
|
5
|
+
|
|
6
|
+
constructor(array: TypedArray | number, itemSize: number);
|
|
7
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { DepthTexture, RenderTarget, Texture, Vector3 } from "three";
|
|
2
|
+
import Backend from "./Backend.js";
|
|
3
|
+
import DataMap from "./DataMap.js";
|
|
4
|
+
import Info from "./Info.js";
|
|
5
|
+
import Renderer from "./Renderer.js";
|
|
6
|
+
type SizeVector3Unitialized = Vector3 & {
|
|
7
|
+
width?: number;
|
|
8
|
+
height?: number;
|
|
9
|
+
depth?: number;
|
|
10
|
+
};
|
|
11
|
+
type SizeVector3 = Vector3 & {
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
depth: number;
|
|
15
|
+
};
|
|
16
|
+
interface RenderTargetData {
|
|
17
|
+
depthTextureMips?: {
|
|
18
|
+
[activeMipmapLevel: number]: DepthTexture;
|
|
19
|
+
};
|
|
20
|
+
width?: number;
|
|
21
|
+
height?: number;
|
|
22
|
+
textures?: Texture[];
|
|
23
|
+
depthTexture?: DepthTexture;
|
|
24
|
+
depth?: boolean;
|
|
25
|
+
stencil?: boolean;
|
|
26
|
+
renderTarget?: RenderTarget;
|
|
27
|
+
sampleCount?: number;
|
|
28
|
+
initialized?: boolean;
|
|
29
|
+
}
|
|
30
|
+
interface TextureData {
|
|
31
|
+
initialized?: boolean;
|
|
32
|
+
version?: number;
|
|
33
|
+
isDefaultTexture?: boolean;
|
|
34
|
+
}
|
|
35
|
+
interface TextureOptions {
|
|
36
|
+
width?: number;
|
|
37
|
+
height?: number;
|
|
38
|
+
depth?: number;
|
|
39
|
+
needsMipmaps?: boolean;
|
|
40
|
+
levels?: number;
|
|
41
|
+
}
|
|
42
|
+
declare class Textures extends DataMap<{
|
|
43
|
+
renderTarget: {
|
|
44
|
+
key: RenderTarget;
|
|
45
|
+
value: RenderTargetData;
|
|
46
|
+
};
|
|
47
|
+
texture: {
|
|
48
|
+
key: Texture;
|
|
49
|
+
value: TextureData;
|
|
50
|
+
};
|
|
51
|
+
}> {
|
|
52
|
+
renderer: Renderer;
|
|
53
|
+
backend: Backend;
|
|
54
|
+
info: Info;
|
|
55
|
+
constructor(renderer: Renderer, backend: Backend, info: Info);
|
|
56
|
+
updateRenderTarget(renderTarget: RenderTarget, activeMipmapLevel?: number): void;
|
|
57
|
+
updateTexture(texture: Texture, options?: TextureOptions): void;
|
|
58
|
+
getSize(texture: Texture, target?: SizeVector3Unitialized): SizeVector3;
|
|
59
|
+
getMipLevels(texture: Texture, width: number, height: number): number;
|
|
60
|
+
needsMipmaps(texture: Texture): boolean;
|
|
61
|
+
isEnvironmentTexture(texture: Texture): boolean;
|
|
62
|
+
_destroyTexture(texture: Texture): void;
|
|
63
|
+
}
|
|
64
|
+
export default Textures;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Color, Matrix3, Matrix4, Vector2, Vector3, Vector4 } from "three";
|
|
2
|
+
declare class Uniform<TValue> {
|
|
3
|
+
name: string;
|
|
4
|
+
value: TValue;
|
|
5
|
+
boundary: number;
|
|
6
|
+
itemSize: number;
|
|
7
|
+
offset: number;
|
|
8
|
+
constructor(name: string, value: TValue);
|
|
9
|
+
setValue(value: TValue): void;
|
|
10
|
+
getValue(): TValue;
|
|
11
|
+
}
|
|
12
|
+
declare class FloatUniform extends Uniform<number> {
|
|
13
|
+
readonly isFloatUniform: true;
|
|
14
|
+
constructor(name: string, value?: number);
|
|
15
|
+
}
|
|
16
|
+
declare class Vector2Uniform extends Uniform<Vector2> {
|
|
17
|
+
readonly isVector2Uniform: true;
|
|
18
|
+
constructor(name: string, value?: Vector2);
|
|
19
|
+
}
|
|
20
|
+
declare class Vector3Uniform extends Uniform<Vector3> {
|
|
21
|
+
readonly isVector3Uniform: true;
|
|
22
|
+
constructor(name: string, value?: Vector3);
|
|
23
|
+
}
|
|
24
|
+
declare class Vector4Uniform extends Uniform<Vector4> {
|
|
25
|
+
readonly isVector4Uniform: true;
|
|
26
|
+
constructor(name: string, value?: Vector4);
|
|
27
|
+
}
|
|
28
|
+
declare class ColorUniform extends Uniform<Color> {
|
|
29
|
+
readonly isColorUniform: true;
|
|
30
|
+
constructor(name: string, value?: Color);
|
|
31
|
+
}
|
|
32
|
+
declare class Matrix3Uniform extends Uniform<Matrix3> {
|
|
33
|
+
readonly isMatrix3Uniform: true;
|
|
34
|
+
constructor(name: string, value?: Matrix3);
|
|
35
|
+
}
|
|
36
|
+
declare class Matrix4Uniform extends Uniform<Matrix4> {
|
|
37
|
+
readonly isMatrix4Uniform: true;
|
|
38
|
+
constructor(name: string, value?: Matrix4);
|
|
39
|
+
}
|
|
40
|
+
export { ColorUniform, FloatUniform, Matrix3Uniform, Matrix4Uniform, Vector2Uniform, Vector3Uniform, Vector4Uniform };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ColorNodeUniform,
|
|
3
|
+
FloatNodeUniform,
|
|
4
|
+
Matrix3NodeUniform,
|
|
5
|
+
Matrix4NodeUniform,
|
|
6
|
+
NodeUniformGPU,
|
|
7
|
+
Vector2NodeUniform,
|
|
8
|
+
Vector3NodeUniform,
|
|
9
|
+
Vector4NodeUniform,
|
|
10
|
+
} from "./nodes/NodeUniform.js";
|
|
11
|
+
import UniformBuffer from "./UniformBuffer.js";
|
|
12
|
+
declare class UniformsGroup extends UniformBuffer {
|
|
13
|
+
readonly isUniformsGroup: true;
|
|
14
|
+
uniforms: NodeUniformGPU[];
|
|
15
|
+
constructor(name?: string);
|
|
16
|
+
addUniform(uniform: NodeUniformGPU): this;
|
|
17
|
+
removeUniform(uniform: NodeUniformGPU): this;
|
|
18
|
+
get buffer(): Float32Array;
|
|
19
|
+
get byteLength(): number;
|
|
20
|
+
update(): boolean;
|
|
21
|
+
updateByType(uniform: NodeUniformGPU): boolean | undefined;
|
|
22
|
+
updateNumber(uniform: FloatNodeUniform): boolean;
|
|
23
|
+
updateVector2(uniform: Vector2NodeUniform): boolean;
|
|
24
|
+
updateVector3(uniform: Vector3NodeUniform): boolean;
|
|
25
|
+
updateVector4(uniform: Vector4NodeUniform): boolean;
|
|
26
|
+
updateColor(uniform: ColorNodeUniform): boolean;
|
|
27
|
+
updateMatrix3(uniform: Matrix3NodeUniform): boolean;
|
|
28
|
+
updateMatrix4(uniform: Matrix4NodeUniform): boolean;
|
|
29
|
+
}
|
|
30
|
+
export default UniformsGroup;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import Node from "../../../nodes/core/Node.js";
|
|
2
|
+
import NodeAttribute from "../../../nodes/core/NodeAttribute.js";
|
|
3
|
+
import Binding from "../Binding.js";
|
|
4
|
+
declare class NodeBuilderState {
|
|
5
|
+
vertexShader: string | null;
|
|
6
|
+
fragmentShader: string | null;
|
|
7
|
+
computeShader: string | null;
|
|
8
|
+
transforms: never[];
|
|
9
|
+
nodeAttributes: NodeAttribute[];
|
|
10
|
+
bindings: Binding[];
|
|
11
|
+
updateNodes: Node[];
|
|
12
|
+
updateBeforeNodes: Node[];
|
|
13
|
+
usedTimes: number;
|
|
14
|
+
constructor(
|
|
15
|
+
vertexShader: string | null,
|
|
16
|
+
fragmentShader: string | null,
|
|
17
|
+
computeShader: string | null,
|
|
18
|
+
nodeAttributes: NodeAttribute[],
|
|
19
|
+
bindings: Binding[],
|
|
20
|
+
updateNodes: Node[],
|
|
21
|
+
updateBeforeNodes: Node[],
|
|
22
|
+
transforms?: never[],
|
|
23
|
+
);
|
|
24
|
+
createBindings(): Binding[];
|
|
25
|
+
}
|
|
26
|
+
export default NodeBuilderState;
|