three-base 2.0.65 → 2.0.67

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.
Files changed (83) hide show
  1. package/ApngTexture.d.ts +13 -13
  2. package/ApngTexture.js +61 -61
  3. package/ApngTextureManage.d.ts +18 -18
  4. package/ApngTextureManage.js +87 -87
  5. package/EventMesh.d.ts +18 -18
  6. package/EventMesh.js +59 -59
  7. package/ExtrudeMesh.d.ts +111 -111
  8. package/ExtrudeMesh.js +363 -363
  9. package/FPScontrol.d.ts +45 -45
  10. package/FPScontrol.js +171 -171
  11. package/Fire/Fire.d.ts +28 -28
  12. package/Fire/Fire.js +79 -79
  13. package/Fire/FireGromtry.d.ts +9 -9
  14. package/Fire/FireGromtry.js +40 -40
  15. package/Fire/FireMaterial.d.ts +28 -28
  16. package/Fire/FireMaterial.js +32 -32
  17. package/InstancedMeshBase.d.ts +24 -24
  18. package/InstancedMeshBase.js +190 -190
  19. package/KeyFrameAnimation.d.ts +25 -25
  20. package/KeyFrameAnimation.js +78 -78
  21. package/MeshBase.d.ts +32 -32
  22. package/MeshBase.js +172 -172
  23. package/Mirror.d.ts +25 -25
  24. package/Mirror.js +139 -139
  25. package/PlaneModal1/PlaneModal1.d.ts +31 -31
  26. package/PlaneModal1/PlaneModal1.js +105 -105
  27. package/PlaneModal1/index.d.ts +1 -1
  28. package/PlaneModal1/index.js +1 -1
  29. package/PlaneText.d.ts +44 -44
  30. package/PlaneText.js +30 -30
  31. package/PlaneWithHtml.d.ts +11 -11
  32. package/PlaneWithHtml.js +68 -68
  33. package/PointLight/PointLight.d.ts +13 -13
  34. package/PointLight/PointLight.js +64 -64
  35. package/PointLight/index.d.ts +1 -1
  36. package/PointLight/index.js +1 -1
  37. package/Sky/Sky.d.ts +13 -13
  38. package/Sky/Sky.js +28 -28
  39. package/Sky/index.d.ts +1 -1
  40. package/Sky/index.js +1 -1
  41. package/SpriteModal1/SpriteModal1.d.ts +30 -30
  42. package/SpriteModal1/SpriteModal1.js +110 -110
  43. package/SpriteModal1/index.d.ts +1 -1
  44. package/SpriteModal1/index.js +1 -1
  45. package/SpriteText.d.ts +45 -45
  46. package/SpriteText.js +163 -163
  47. package/SpriteText2.d.ts +47 -47
  48. package/SpriteText2.js +198 -198
  49. package/SpriteWithHtml.d.ts +7 -7
  50. package/SpriteWithHtml.js +49 -49
  51. package/Text3D/Text3D.d.ts +20 -20
  52. package/Text3D/Text3D.js +62 -62
  53. package/Text3D/fontController.d.ts +59 -59
  54. package/Text3D/fontController.js +200 -200
  55. package/Text3D/index.d.ts +1 -1
  56. package/Text3D/index.js +1 -1
  57. package/ThreeBase.d.ts +91 -91
  58. package/ThreeBase.js +611 -611
  59. package/ThreeBase.ts +2 -2
  60. package/ThreeMouse.d.ts +39 -39
  61. package/ThreeMouse.js +359 -359
  62. package/Transition.d.ts +40 -40
  63. package/Transition.js +207 -207
  64. package/index.d.ts +1 -1
  65. package/index.js +2 -2
  66. package/keyContorls.d.ts +25 -25
  67. package/keyContorls.js +98 -98
  68. package/package.json +1 -1
  69. package/pass/FullScreenQuad.d.ts +7 -7
  70. package/pass/FullScreenQuad.js +25 -25
  71. package/pass/glow_pass.d.ts +2 -2
  72. package/pass/glow_pass.js +236 -236
  73. package/pass/stroke_pass.d.ts +2 -2
  74. package/pass/stroke_pass.js +202 -202
  75. package/shaders/FXAAShaderMaterial.d.ts +3 -3
  76. package/shaders/FXAAShaderMaterial.js +21 -21
  77. package/shaders.d.ts +17 -17
  78. package/shaders.js +99 -99
  79. package/threeLoader.d.ts +26 -26
  80. package/threeLoader.js +189 -174
  81. package/threeLoader.ts +17 -1
  82. package/threeUtils.d.ts +47 -47
  83. 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 }, // 贴图纹理1
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;