three-base 2.0.75 → 2.0.76
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/ApngTexture.d.ts +13 -13
- package/ApngTexture.js +61 -61
- package/ApngTextureManage.d.ts +18 -18
- package/ApngTextureManage.js +87 -87
- package/EventMesh.d.ts +18 -18
- package/EventMesh.js +59 -59
- package/ExtrudeMesh.d.ts +111 -111
- package/ExtrudeMesh.js +363 -363
- package/FPScontrol.d.ts +45 -45
- package/FPScontrol.js +171 -171
- package/Fire/Fire.d.ts +28 -28
- package/Fire/Fire.js +79 -79
- package/Fire/FireGromtry.d.ts +9 -9
- package/Fire/FireGromtry.js +40 -40
- package/Fire/FireMaterial.d.ts +28 -28
- package/Fire/FireMaterial.js +32 -32
- package/InstancedMeshBase.d.ts +32 -32
- package/InstancedMeshBase.js +234 -236
- package/InstancedMeshBase.ts +1 -4
- package/KeyFrameAnimation.d.ts +25 -25
- package/KeyFrameAnimation.js +78 -78
- package/MeshBase.d.ts +34 -34
- package/MeshBase.js +187 -187
- package/Mirror.d.ts +25 -25
- package/Mirror.js +139 -139
- package/PlaneModal1/PlaneModal1.d.ts +31 -31
- package/PlaneModal1/PlaneModal1.js +105 -105
- package/PlaneModal1/index.d.ts +1 -1
- package/PlaneModal1/index.js +1 -1
- package/PlaneText.d.ts +44 -44
- package/PlaneText.js +30 -30
- package/PlaneWithHtml.d.ts +11 -11
- package/PlaneWithHtml.js +68 -68
- package/PointLight/PointLight.d.ts +13 -13
- package/PointLight/PointLight.js +64 -64
- package/PointLight/index.d.ts +1 -1
- package/PointLight/index.js +1 -1
- package/Sky/Sky.d.ts +13 -13
- package/Sky/Sky.js +28 -28
- package/Sky/index.d.ts +1 -1
- package/Sky/index.js +1 -1
- package/SpriteModal1/SpriteModal1.d.ts +30 -30
- package/SpriteModal1/SpriteModal1.js +110 -110
- package/SpriteModal1/index.d.ts +1 -1
- package/SpriteModal1/index.js +1 -1
- package/SpriteText.d.ts +45 -45
- package/SpriteText.js +163 -163
- package/SpriteText2.d.ts +47 -47
- package/SpriteText2.js +198 -198
- package/SpriteWithHtml.d.ts +7 -7
- package/SpriteWithHtml.js +49 -49
- package/Text3D/Text3D.d.ts +20 -20
- package/Text3D/Text3D.js +62 -62
- package/Text3D/fontController.d.ts +59 -59
- package/Text3D/fontController.js +200 -200
- package/Text3D/index.d.ts +1 -1
- package/Text3D/index.js +1 -1
- package/ThreeBase.d.ts +92 -92
- package/ThreeBase.js +619 -619
- package/ThreeMouse.d.ts +39 -39
- package/ThreeMouse.js +359 -359
- package/Transition.d.ts +40 -40
- package/Transition.js +207 -207
- package/index.d.ts +1 -1
- package/index.js +2 -2
- package/keyContorls.d.ts +25 -25
- package/keyContorls.js +98 -98
- package/package.json +1 -1
- package/pass/FullScreenQuad.d.ts +7 -7
- package/pass/FullScreenQuad.js +25 -25
- package/pass/glow_pass.d.ts +2 -2
- package/pass/glow_pass.js +236 -236
- package/pass/stroke_pass.d.ts +2 -2
- package/pass/stroke_pass.js +202 -202
- package/shaders/FXAAShaderMaterial.d.ts +3 -3
- package/shaders/FXAAShaderMaterial.js +21 -21
- package/shaders.d.ts +17 -17
- package/shaders.js +99 -99
- package/threeLoader.d.ts +26 -26
- package/threeLoader.js +189 -189
- package/threeUtils.d.ts +47 -47
- package/threeUtils.js +266 -266
package/shaders.js
CHANGED
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* @Author: xiaosihan
|
|
3
|
-
* @Date: 2022-03-24 16:38:35
|
|
4
|
-
* @Last Modified by: xiaosihan
|
|
5
|
-
* @Last Modified time: 2022-04-02 18:28:38
|
|
6
|
-
*/
|
|
7
|
-
import { BufferGeometry, Color, Float32BufferAttribute, Mesh, NoBlending, OrthographicCamera, ShaderChunk, ShaderMaterial, Vector2 } from "three";
|
|
8
|
-
// https://github.com/mrdoob/three.js/pull/21358
|
|
9
|
-
const _geometry = new BufferGeometry();
|
|
10
|
-
_geometry.setAttribute("position", new Float32BufferAttribute([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3));
|
|
11
|
-
_geometry.setAttribute("uv", new Float32BufferAttribute([0, 2, 0, 0, 2, 0], 2));
|
|
12
|
-
class FullScreenQuad {
|
|
13
|
-
constructor() {
|
|
14
|
-
this._mesh = new Mesh(_geometry);
|
|
15
|
-
}
|
|
16
|
-
_mesh;
|
|
17
|
-
dispose() {
|
|
18
|
-
this._mesh.geometry.dispose();
|
|
19
|
-
}
|
|
20
|
-
render(renderer) {
|
|
21
|
-
renderer.render(this._mesh, orthographicCamera);
|
|
22
|
-
}
|
|
23
|
-
get material() {
|
|
24
|
-
return this._mesh.material;
|
|
25
|
-
}
|
|
26
|
-
set material(value) {
|
|
27
|
-
this._mesh.material = value;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
// 常用着色器及工具
|
|
31
|
-
// 全屏渲染模型
|
|
32
|
-
export const fullScreenMesh = new FullScreenQuad();
|
|
33
|
-
export const orthographicCamera = new OrthographicCamera(-1, 1, 1, -1, 0, 1);
|
|
34
|
-
// 清理着色器
|
|
35
|
-
export const clearShader = new ShaderMaterial({
|
|
1
|
+
/*
|
|
2
|
+
* @Author: xiaosihan
|
|
3
|
+
* @Date: 2022-03-24 16:38:35
|
|
4
|
+
* @Last Modified by: xiaosihan
|
|
5
|
+
* @Last Modified time: 2022-04-02 18:28:38
|
|
6
|
+
*/
|
|
7
|
+
import { BufferGeometry, Color, Float32BufferAttribute, Mesh, NoBlending, OrthographicCamera, ShaderChunk, ShaderMaterial, Vector2 } from "three";
|
|
8
|
+
// https://github.com/mrdoob/three.js/pull/21358
|
|
9
|
+
const _geometry = new BufferGeometry();
|
|
10
|
+
_geometry.setAttribute("position", new Float32BufferAttribute([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3));
|
|
11
|
+
_geometry.setAttribute("uv", new Float32BufferAttribute([0, 2, 0, 0, 2, 0], 2));
|
|
12
|
+
class FullScreenQuad {
|
|
13
|
+
constructor() {
|
|
14
|
+
this._mesh = new Mesh(_geometry);
|
|
15
|
+
}
|
|
16
|
+
_mesh;
|
|
17
|
+
dispose() {
|
|
18
|
+
this._mesh.geometry.dispose();
|
|
19
|
+
}
|
|
20
|
+
render(renderer) {
|
|
21
|
+
renderer.render(this._mesh, orthographicCamera);
|
|
22
|
+
}
|
|
23
|
+
get material() {
|
|
24
|
+
return this._mesh.material;
|
|
25
|
+
}
|
|
26
|
+
set material(value) {
|
|
27
|
+
this._mesh.material = value;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// 常用着色器及工具
|
|
31
|
+
// 全屏渲染模型
|
|
32
|
+
export const fullScreenMesh = new FullScreenQuad();
|
|
33
|
+
export const orthographicCamera = new OrthographicCamera(-1, 1, 1, -1, 0, 1);
|
|
34
|
+
// 清理着色器
|
|
35
|
+
export const clearShader = new ShaderMaterial({
|
|
36
36
|
vertexShader: `
|
|
37
37
|
varying vec2 vUv;
|
|
38
38
|
void main() {
|
|
39
39
|
vUv = uv;
|
|
40
40
|
gl_Position = vec4(position, 1.0);
|
|
41
41
|
}
|
|
42
|
-
`,
|
|
42
|
+
`,
|
|
43
43
|
fragmentShader: `
|
|
44
44
|
void main() {
|
|
45
45
|
gl_FragColor = vec4(0.0);
|
|
46
46
|
}
|
|
47
|
-
`,
|
|
48
|
-
blending: NoBlending,
|
|
49
|
-
depthTest: false,
|
|
50
|
-
depthWrite: false,
|
|
51
|
-
transparent: true
|
|
52
|
-
});
|
|
53
|
-
// 交集着色器提取相同的像素点
|
|
54
|
-
export const intersectionShader = new ShaderMaterial({
|
|
55
|
-
uniforms: {
|
|
56
|
-
map1: { value: null },
|
|
57
|
-
map2: { value: null }, // 贴图纹理2
|
|
58
|
-
},
|
|
47
|
+
`,
|
|
48
|
+
blending: NoBlending,
|
|
49
|
+
depthTest: false,
|
|
50
|
+
depthWrite: false,
|
|
51
|
+
transparent: true
|
|
52
|
+
});
|
|
53
|
+
// 交集着色器提取相同的像素点
|
|
54
|
+
export const intersectionShader = new ShaderMaterial({
|
|
55
|
+
uniforms: {
|
|
56
|
+
map1: { value: null },
|
|
57
|
+
map2: { value: null }, // 贴图纹理2
|
|
58
|
+
},
|
|
59
59
|
vertexShader: `
|
|
60
60
|
${ShaderChunk.common}
|
|
61
61
|
${ShaderChunk.logdepthbuf_pars_vertex}
|
|
@@ -65,7 +65,7 @@ export const intersectionShader = new ShaderMaterial({
|
|
|
65
65
|
gl_Position = vec4(position, 1.0);
|
|
66
66
|
${ShaderChunk.logdepthbuf_vertex}
|
|
67
67
|
}
|
|
68
|
-
`,
|
|
68
|
+
`,
|
|
69
69
|
fragmentShader: `
|
|
70
70
|
${ShaderChunk.logdepthbuf_pars_fragment}
|
|
71
71
|
uniform sampler2D map1;
|
|
@@ -79,25 +79,25 @@ export const intersectionShader = new ShaderMaterial({
|
|
|
79
79
|
}
|
|
80
80
|
${ShaderChunk.logdepthbuf_fragment}
|
|
81
81
|
}
|
|
82
|
-
`,
|
|
83
|
-
blending: NoBlending,
|
|
84
|
-
depthTest: true,
|
|
85
|
-
depthWrite: true,
|
|
86
|
-
transparent: true
|
|
87
|
-
});
|
|
88
|
-
// 拷贝着色器
|
|
89
|
-
export const coptyShader = new ShaderMaterial({
|
|
90
|
-
uniforms: {
|
|
91
|
-
map: { value: null },
|
|
92
|
-
opacity: { value: 1.0 } // 透明度
|
|
93
|
-
},
|
|
82
|
+
`,
|
|
83
|
+
blending: NoBlending,
|
|
84
|
+
depthTest: true,
|
|
85
|
+
depthWrite: true,
|
|
86
|
+
transparent: true
|
|
87
|
+
});
|
|
88
|
+
// 拷贝着色器
|
|
89
|
+
export const coptyShader = new ShaderMaterial({
|
|
90
|
+
uniforms: {
|
|
91
|
+
map: { value: null },
|
|
92
|
+
opacity: { value: 1.0 } // 透明度
|
|
93
|
+
},
|
|
94
94
|
vertexShader: `
|
|
95
95
|
varying vec2 vUv;
|
|
96
96
|
void main() {
|
|
97
97
|
vUv = uv;
|
|
98
98
|
gl_Position = vec4(position, 1.0);
|
|
99
99
|
}
|
|
100
|
-
`,
|
|
100
|
+
`,
|
|
101
101
|
fragmentShader: `
|
|
102
102
|
uniform sampler2D map;
|
|
103
103
|
uniform float opacity;
|
|
@@ -107,28 +107,28 @@ export const coptyShader = new ShaderMaterial({
|
|
|
107
107
|
gl_FragColor = texture2D(map, vUv) * opacity;
|
|
108
108
|
|
|
109
109
|
}
|
|
110
|
-
`,
|
|
111
|
-
// blending: NoBlending, // 渲染时不与背景融合计算 直接替换
|
|
112
|
-
depthTest: true,
|
|
113
|
-
depthWrite: true,
|
|
114
|
-
transparent: true,
|
|
115
|
-
});
|
|
116
|
-
// 描边着色器
|
|
117
|
-
export const strokeShader = new ShaderMaterial({
|
|
118
|
-
uniforms: {
|
|
119
|
-
map: { value: null },
|
|
120
|
-
resolution: { value: new Vector2(512, 512) },
|
|
121
|
-
strokeWidth: { value: 1.0 },
|
|
122
|
-
strokeColor: { value: new Color("#B2F2FF") },
|
|
123
|
-
opacity: { value: 1.0 } // 透明度
|
|
124
|
-
},
|
|
110
|
+
`,
|
|
111
|
+
// blending: NoBlending, // 渲染时不与背景融合计算 直接替换
|
|
112
|
+
depthTest: true,
|
|
113
|
+
depthWrite: true,
|
|
114
|
+
transparent: true,
|
|
115
|
+
});
|
|
116
|
+
// 描边着色器
|
|
117
|
+
export const strokeShader = new ShaderMaterial({
|
|
118
|
+
uniforms: {
|
|
119
|
+
map: { value: null },
|
|
120
|
+
resolution: { value: new Vector2(512, 512) },
|
|
121
|
+
strokeWidth: { value: 1.0 },
|
|
122
|
+
strokeColor: { value: new Color("#B2F2FF") },
|
|
123
|
+
opacity: { value: 1.0 } // 透明度
|
|
124
|
+
},
|
|
125
125
|
vertexShader: `
|
|
126
126
|
varying vec2 vUv;
|
|
127
127
|
void main() {
|
|
128
128
|
vUv = uv;
|
|
129
129
|
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
|
|
130
130
|
}
|
|
131
|
-
`,
|
|
131
|
+
`,
|
|
132
132
|
fragmentShader: `
|
|
133
133
|
uniform sampler2D map;
|
|
134
134
|
uniform vec2 resolution;
|
|
@@ -171,27 +171,27 @@ export const strokeShader = new ShaderMaterial({
|
|
|
171
171
|
void main() {
|
|
172
172
|
gl_FragColor = fragColor();
|
|
173
173
|
}
|
|
174
|
-
`,
|
|
175
|
-
blending: NoBlending,
|
|
176
|
-
depthTest: true,
|
|
177
|
-
depthWrite: true,
|
|
178
|
-
transparent: true
|
|
179
|
-
});
|
|
180
|
-
// 高斯模糊着色器 让颜色过渡更自然
|
|
181
|
-
export const gaussBlurShader = new ShaderMaterial({
|
|
182
|
-
uniforms: {
|
|
183
|
-
map: { value: null },
|
|
184
|
-
opacity: { value: 1.0 },
|
|
185
|
-
radius: { value: 3.0 },
|
|
186
|
-
resolution: { value: new Vector2(512, 512) }, // 渲染器的分辨率
|
|
187
|
-
},
|
|
174
|
+
`,
|
|
175
|
+
blending: NoBlending,
|
|
176
|
+
depthTest: true,
|
|
177
|
+
depthWrite: true,
|
|
178
|
+
transparent: true
|
|
179
|
+
});
|
|
180
|
+
// 高斯模糊着色器 让颜色过渡更自然
|
|
181
|
+
export const gaussBlurShader = new ShaderMaterial({
|
|
182
|
+
uniforms: {
|
|
183
|
+
map: { value: null },
|
|
184
|
+
opacity: { value: 1.0 },
|
|
185
|
+
radius: { value: 3.0 },
|
|
186
|
+
resolution: { value: new Vector2(512, 512) }, // 渲染器的分辨率
|
|
187
|
+
},
|
|
188
188
|
vertexShader: `
|
|
189
189
|
varying vec2 vUv;
|
|
190
190
|
void main() {
|
|
191
191
|
vUv = uv;
|
|
192
192
|
gl_Position = vec4(position, 1.0);
|
|
193
193
|
}
|
|
194
|
-
`,
|
|
194
|
+
`,
|
|
195
195
|
fragmentShader: `
|
|
196
196
|
uniform sampler2D map;
|
|
197
197
|
uniform float opacity;
|
|
@@ -237,9 +237,9 @@ export const gaussBlurShader = new ShaderMaterial({
|
|
|
237
237
|
gl_FragColor = blurColor();
|
|
238
238
|
gl_FragColor.a *= opacity;
|
|
239
239
|
}
|
|
240
|
-
`,
|
|
241
|
-
blending: NoBlending,
|
|
242
|
-
depthTest: false,
|
|
243
|
-
depthWrite: false,
|
|
244
|
-
transparent: true
|
|
245
|
-
});
|
|
240
|
+
`,
|
|
241
|
+
blending: NoBlending,
|
|
242
|
+
depthTest: false,
|
|
243
|
+
depthWrite: false,
|
|
244
|
+
transparent: true
|
|
245
|
+
});
|
package/threeLoader.d.ts
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { EventDispatcher, Object3D, Texture, TextureLoader } from "three";
|
|
2
|
-
import { FBXLoader } from "three/examples/jsm/loaders/FBXLoader";
|
|
3
|
-
import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader";
|
|
4
|
-
import { MTLLoader } from "three/examples/jsm/loaders/MTLLoader";
|
|
5
|
-
import { OBJLoader } from "three/examples/jsm/loaders/OBJLoader";
|
|
6
|
-
import { STLLoader } from "three/examples/jsm/loaders/STLLoader";
|
|
7
|
-
import { USDZLoader } from "three/examples/jsm/loaders/USDZLoader";
|
|
8
|
-
declare class ThreeLoader extends EventDispatcher {
|
|
9
|
-
constructor();
|
|
10
|
-
anisotropy: number;
|
|
11
|
-
setAnisotropy(v: number): void;
|
|
12
|
-
textureMap: Map<string, Texture>;
|
|
13
|
-
textureLoader: TextureLoader;
|
|
14
|
-
getTexture(src: string | HTMLCanvasElement): Texture;
|
|
15
|
-
fbxLoader: FBXLoader;
|
|
16
|
-
objLoader: OBJLoader;
|
|
17
|
-
stlLoader: STLLoader;
|
|
18
|
-
mtlLoader: MTLLoader;
|
|
19
|
-
gltfLoader: GLTFLoader;
|
|
20
|
-
usdzLoader: USDZLoader;
|
|
21
|
-
/** 加载模型支持glb,fbx,stl,obj */
|
|
22
|
-
loadModel(url: string, filename?: string): Promise<Object3D<import("three").Object3DEventMap>>;
|
|
23
|
-
onload: boolean;
|
|
24
|
-
}
|
|
25
|
-
declare const threeLoader: ThreeLoader;
|
|
26
|
-
export default threeLoader;
|
|
1
|
+
import { EventDispatcher, Object3D, Texture, TextureLoader } from "three";
|
|
2
|
+
import { FBXLoader } from "three/examples/jsm/loaders/FBXLoader";
|
|
3
|
+
import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader";
|
|
4
|
+
import { MTLLoader } from "three/examples/jsm/loaders/MTLLoader";
|
|
5
|
+
import { OBJLoader } from "three/examples/jsm/loaders/OBJLoader";
|
|
6
|
+
import { STLLoader } from "three/examples/jsm/loaders/STLLoader";
|
|
7
|
+
import { USDZLoader } from "three/examples/jsm/loaders/USDZLoader";
|
|
8
|
+
declare class ThreeLoader extends EventDispatcher {
|
|
9
|
+
constructor();
|
|
10
|
+
anisotropy: number;
|
|
11
|
+
setAnisotropy(v: number): void;
|
|
12
|
+
textureMap: Map<string, Texture>;
|
|
13
|
+
textureLoader: TextureLoader;
|
|
14
|
+
getTexture(src: string | HTMLCanvasElement): Texture;
|
|
15
|
+
fbxLoader: FBXLoader;
|
|
16
|
+
objLoader: OBJLoader;
|
|
17
|
+
stlLoader: STLLoader;
|
|
18
|
+
mtlLoader: MTLLoader;
|
|
19
|
+
gltfLoader: GLTFLoader;
|
|
20
|
+
usdzLoader: USDZLoader;
|
|
21
|
+
/** 加载模型支持glb,fbx,stl,obj */
|
|
22
|
+
loadModel(url: string, filename?: string): Promise<Object3D<import("three").Object3DEventMap>>;
|
|
23
|
+
onload: boolean;
|
|
24
|
+
}
|
|
25
|
+
declare const threeLoader: ThreeLoader;
|
|
26
|
+
export default threeLoader;
|