genshin-engine 4.0.0 → 4.1.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.
- package/README.md +5 -3
- package/dist/index.d.ts +1809 -166
- package/dist/index.js +4773 -575
- package/dist/terrainWorker-CLOYYKT1.d.ts +207 -0
- package/dist/terrainWorker-DZ04cA3m.js +520 -0
- package/dist/terrainWorker.d.ts +2 -0
- package/dist/terrainWorker.js +1 -0
- package/package.json +12 -8
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,69 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { A as CliffFeature, C as GroundLayerField, D as GroundBand, E as GroundLayers, O as GaussianHills, S as GroundPathSegment, T as GroundLayer, _ as TerrainOptions, a as createTerrainShapeHeight, b as PlateauFeature, c as computeTerrainTile, d as TerrainTileOptions, f as TerrainShape, g as TerrainResidualClearing, h as TerrainResidualFade, i as getTerrainTileColumn, j as TerrainFeatureKind, k as GaussianHill, l as createSeededRandom, m as TerrainResidual, n as getTerrainTileRow, o as createGroundPaintColor, p as TerrainTile, r as getTerrainTileLevel, s as createGroundLayerWeights, t as computeScatterPoints, u as ScatterOptions, v as TerrainFeature, w as GroundLayerColors, x as GroundPaint, y as RidgeFeature } from "./terrainWorker-CLOYYKT1.js";
|
|
2
|
+
import { Box3, BufferAttribute, BufferGeometry, Camera, CanvasTexture, Color, ColorRepresentation, Data3DTexture, DataTexture, DirectionalLight, Frustum, HemisphereLight, InstancedBufferGeometry, InstancedMesh, Material, Matrix3, Matrix4, Mesh, Object3D, OrthographicCamera, PerspectiveCamera, Quaternion, Scene, Skeleton, SkinnedMesh, Sprite, Texture, ToneMapping, Vector2, Vector3, Vector3Like, Vector3Tuple, Vector4Tuple } from "three";
|
|
3
|
+
import { LightingModel, LightingModelDirectInput, Material as Material$1, MeshBasicNodeMaterial, MeshToonNodeMaterial, MeshToonNodeMaterialParameters, Node, NodeBuilder, NodeFrame, NodeMaterial, PassNode, RenderPipeline, RenderTarget, Renderer, Texture as Texture$1, TextureNode, ToonOutlinePassNode, UniformArrayNode, UniformNode, WebGPURenderer } from "three/webgpu";
|
|
4
|
+
import { CSMShadowNode, CSMShadowNodeData } from "three/examples/jsm/csm/CSMShadowNode.js";
|
|
5
|
+
import { Capsule } from "three/examples/jsm/math/Capsule.js";
|
|
4
6
|
import GTAONode from "three/examples/jsm/tsl/display/GTAONode.js";
|
|
5
7
|
import BloomNode from "three/examples/jsm/tsl/display/BloomNode.js";
|
|
6
8
|
import GodraysNode from "three/examples/jsm/tsl/display/GodraysNode.js";
|
|
7
9
|
import { Inspector } from "three/examples/jsm/inspector/Inspector.js";
|
|
10
|
+
//#region src/models/atmosphere/SkyUniforms.d.ts
|
|
11
|
+
export interface SkyUniforms {
|
|
12
|
+
cloudCoverage: UniformNode<"float", number>;
|
|
13
|
+
cloudDrift: UniformNode<"vec2", Vector2>;
|
|
14
|
+
cloudFrontBackBlend: UniformNode<"float", number>;
|
|
15
|
+
cloudLitBackColor: UniformNode<"color", Color>;
|
|
16
|
+
cloudLitColor: UniformNode<"color", Color>;
|
|
17
|
+
cloudShadeBackColor: UniformNode<"color", Color>;
|
|
18
|
+
cloudShadeColor: UniformNode<"color", Color>;
|
|
19
|
+
cloudSunBrighten: UniformNode<"float", number>;
|
|
20
|
+
frontBackBlend: UniformNode<"float", number>;
|
|
21
|
+
haloColor: UniformNode<"color", Color>;
|
|
22
|
+
haloHeight: UniformNode<"float", number>;
|
|
23
|
+
horizonBackColor: UniformNode<"color", Color>;
|
|
24
|
+
horizonBand: UniformNode<"float", number>;
|
|
25
|
+
horizonColor: UniformNode<"color", Color>;
|
|
26
|
+
lightColor: UniformNode<"color", Color>;
|
|
27
|
+
moonDirection: UniformNode<"vec3", Vector3>;
|
|
28
|
+
moonGlowColor: UniformNode<"color", Color>;
|
|
29
|
+
moonSize: UniformNode<"float", number>;
|
|
30
|
+
starIntensity: UniformNode<"float", number>;
|
|
31
|
+
sunDirection: UniformNode<"vec3", Vector3>;
|
|
32
|
+
sunHaloColor: UniformNode<"color", Color>;
|
|
33
|
+
sunHaloSize: UniformNode<"float", number>;
|
|
34
|
+
zenithBackColor: UniformNode<"color", Color>;
|
|
35
|
+
zenithColor: UniformNode<"color", Color>;
|
|
36
|
+
}
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region src/atmosphere/applyLightningFlash.d.ts
|
|
39
|
+
export declare const applyLightningFlash: (flash: number, flashColor: Color, skyUniforms: SkyUniforms, hemisphere: HemisphereLight) => void;
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src/models/atmosphere/PrecipitationSettings.d.ts
|
|
42
|
+
export interface PrecipitationSettings {
|
|
43
|
+
fallSpeed: number;
|
|
44
|
+
length: number;
|
|
45
|
+
opacity: number;
|
|
46
|
+
sway: number;
|
|
47
|
+
width: number;
|
|
48
|
+
windDrift: number;
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/models/atmosphere/PrecipitationUniforms.d.ts
|
|
52
|
+
export interface PrecipitationUniforms {
|
|
53
|
+
density: UniformNode<"float", number>;
|
|
54
|
+
eye: UniformNode<"vec3", Vector3>;
|
|
55
|
+
fallSpeed: UniformNode<"float", number>;
|
|
56
|
+
length: UniformNode<"float", number>;
|
|
57
|
+
opacity: UniformNode<"float", number>;
|
|
58
|
+
splashDensity: UniformNode<"float", number>;
|
|
59
|
+
sway: UniformNode<"float", number>;
|
|
60
|
+
width: UniformNode<"float", number>;
|
|
61
|
+
windDrift: UniformNode<"float", number>;
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
//#region src/atmosphere/applyPrecipitationSettings.d.ts
|
|
65
|
+
export declare const applyPrecipitationSettings: ({ fallSpeed, length, opacity, sway, width, windDrift }: PrecipitationSettings, precipitationUniforms: PrecipitationUniforms) => void;
|
|
66
|
+
//#endregion
|
|
8
67
|
//#region src/models/atmosphere/BaseSkyState.d.ts
|
|
9
68
|
export interface BaseSkyState {
|
|
10
69
|
cloudLitColor: Color;
|
|
@@ -28,6 +87,12 @@ export interface SkyShape {
|
|
|
28
87
|
sunHaloSize: number;
|
|
29
88
|
}
|
|
30
89
|
//#endregion
|
|
90
|
+
//#region src/models/post/WhiteBalance.d.ts
|
|
91
|
+
export interface WhiteBalance {
|
|
92
|
+
temperature: number;
|
|
93
|
+
tint: number;
|
|
94
|
+
}
|
|
95
|
+
//#endregion
|
|
31
96
|
//#region src/models/atmosphere/SkyState.d.ts
|
|
32
97
|
export interface SkyState extends BaseSkyState {
|
|
33
98
|
cloudLitBackColor?: Color;
|
|
@@ -44,43 +109,17 @@ export interface SkyState extends BaseSkyState {
|
|
|
44
109
|
shape?: SkyShape;
|
|
45
110
|
sunDirection: Vector3;
|
|
46
111
|
sunHaloColor?: Color;
|
|
112
|
+
whiteBalance?: WhiteBalance;
|
|
47
113
|
zenithBackColor?: Color;
|
|
48
114
|
}
|
|
49
115
|
//#endregion
|
|
50
|
-
//#region src/models/atmosphere/SkyUniforms.d.ts
|
|
51
|
-
export interface SkyUniforms {
|
|
52
|
-
cloudCoverage: UniformNode<"float", number>;
|
|
53
|
-
cloudDrift: UniformNode<"vec2", Vector2>;
|
|
54
|
-
cloudFrontBackBlend: UniformNode<"float", number>;
|
|
55
|
-
cloudLitBackColor: UniformNode<"color", Color>;
|
|
56
|
-
cloudLitColor: UniformNode<"color", Color>;
|
|
57
|
-
cloudShadeBackColor: UniformNode<"color", Color>;
|
|
58
|
-
cloudShadeColor: UniformNode<"color", Color>;
|
|
59
|
-
cloudSunBrighten: UniformNode<"float", number>;
|
|
60
|
-
frontBackBlend: UniformNode<"float", number>;
|
|
61
|
-
haloColor: UniformNode<"color", Color>;
|
|
62
|
-
haloHeight: UniformNode<"float", number>;
|
|
63
|
-
horizonBackColor: UniformNode<"color", Color>;
|
|
64
|
-
horizonBand: UniformNode<"float", number>;
|
|
65
|
-
horizonColor: UniformNode<"color", Color>;
|
|
66
|
-
lightColor: UniformNode<"color", Color>;
|
|
67
|
-
moonDirection: UniformNode<"vec3", Vector3>;
|
|
68
|
-
moonGlowColor: UniformNode<"color", Color>;
|
|
69
|
-
moonSize: UniformNode<"float", number>;
|
|
70
|
-
starIntensity: UniformNode<"float", number>;
|
|
71
|
-
sunDirection: UniformNode<"vec3", Vector3>;
|
|
72
|
-
sunHaloColor: UniformNode<"color", Color>;
|
|
73
|
-
sunHaloSize: UniformNode<"float", number>;
|
|
74
|
-
zenithBackColor: UniformNode<"color", Color>;
|
|
75
|
-
zenithColor: UniformNode<"color", Color>;
|
|
76
|
-
}
|
|
77
|
-
//#endregion
|
|
78
116
|
//#region src/models/nodes/LightUniforms.d.ts
|
|
79
117
|
export interface LightUniforms {
|
|
80
118
|
lightColor: UniformNode<"color", Color>;
|
|
81
119
|
rimColor: UniformNode<"color", Color>;
|
|
82
120
|
rimStrength: UniformNode<"float", number>;
|
|
83
121
|
sunDirection: UniformNode<"vec3", Vector3>;
|
|
122
|
+
wetness: UniformNode<"float", number>;
|
|
84
123
|
}
|
|
85
124
|
//#endregion
|
|
86
125
|
//#region src/models/post/FogUniforms.d.ts
|
|
@@ -104,6 +143,7 @@ export interface PostUniforms {
|
|
|
104
143
|
outlineColor: UniformNode<"color", Color>;
|
|
105
144
|
outlineFadeDistance: UniformNode<"float", number>;
|
|
106
145
|
outlineThickness: UniformNode<"float", number>;
|
|
146
|
+
whiteBalance: UniformNode<"mat3", Matrix3>;
|
|
107
147
|
}
|
|
108
148
|
//#endregion
|
|
109
149
|
//#region src/models/atmosphere/SkyTargets.d.ts
|
|
@@ -121,18 +161,136 @@ export interface SkyTargets {
|
|
|
121
161
|
//#region src/atmosphere/applySkyState.d.ts
|
|
122
162
|
export declare const applySkyState: (skyState: SkyState, { fogUniforms, godraysLight, hemisphere, light, lightDistance, lightUniforms, postUniforms, skyUniforms }: SkyTargets) => void;
|
|
123
163
|
//#endregion
|
|
164
|
+
//#region src/models/atmosphere/PrecipitationKind.d.ts
|
|
165
|
+
export declare enum PrecipitationKind {
|
|
166
|
+
Rain = "Rain",
|
|
167
|
+
Sand = "Sand",
|
|
168
|
+
Snow = "Snow"
|
|
169
|
+
}
|
|
170
|
+
//#endregion
|
|
171
|
+
//#region src/models/atmosphere/WeatherState.d.ts
|
|
172
|
+
export interface WeatherState {
|
|
173
|
+
cloudCoverage: number;
|
|
174
|
+
fogColor: number;
|
|
175
|
+
fogColorAmount: number;
|
|
176
|
+
fogDensity: number;
|
|
177
|
+
lightningRate: number;
|
|
178
|
+
precipitationDensity: number;
|
|
179
|
+
precipitationKind: PrecipitationKind;
|
|
180
|
+
wetness: number;
|
|
181
|
+
}
|
|
182
|
+
//#endregion
|
|
183
|
+
//#region src/models/atmosphere/WeatherTargets.d.ts
|
|
184
|
+
export interface WeatherTargets {
|
|
185
|
+
fogUniforms: FogUniforms;
|
|
186
|
+
lightUniforms: LightUniforms;
|
|
187
|
+
precipitationUniforms: PrecipitationUniforms;
|
|
188
|
+
skyUniforms: SkyUniforms;
|
|
189
|
+
}
|
|
190
|
+
//#endregion
|
|
191
|
+
//#region src/atmosphere/applyWeatherState.d.ts
|
|
192
|
+
export declare const applyWeatherState: ({ cloudCoverage, fogDensity, precipitationDensity, precipitationKind, wetness }: WeatherState, { fogUniforms, lightUniforms, precipitationUniforms, skyUniforms }: WeatherTargets, baseCloudCoverage: number, baseFogDensity: number) => void;
|
|
193
|
+
//#endregion
|
|
194
|
+
//#region src/models/atmosphere/WeatherPrecipitation.d.ts
|
|
195
|
+
export interface WeatherPrecipitation {
|
|
196
|
+
density: number;
|
|
197
|
+
kind: PrecipitationKind;
|
|
198
|
+
}
|
|
199
|
+
//#endregion
|
|
200
|
+
//#region src/models/atmosphere/WeatherSettings.d.ts
|
|
201
|
+
export interface WeatherSettings {
|
|
202
|
+
cloudCoverage: number;
|
|
203
|
+
fogColor?: number;
|
|
204
|
+
fogDensity: number;
|
|
205
|
+
lightningRate?: number;
|
|
206
|
+
precipitation?: WeatherPrecipitation;
|
|
207
|
+
wetness: number;
|
|
208
|
+
}
|
|
209
|
+
//#endregion
|
|
210
|
+
//#region src/atmosphere/blendWeatherState.d.ts
|
|
211
|
+
export declare const blendWeatherState: (from: Readonly<WeatherState>, { cloudCoverage, fogColor, fogDensity, lightningRate, precipitation, wetness }: WeatherSettings, amount: number, weatherState: WeatherState) => void;
|
|
212
|
+
//#endregion
|
|
213
|
+
//#region src/atmosphere/checkSunTurned.d.ts
|
|
214
|
+
export declare const checkSunTurned: (drawnDirection: Vector3, direction: Vector3) => boolean;
|
|
215
|
+
//#endregion
|
|
216
|
+
//#region src/models/atmosphere/LightningBolt.d.ts
|
|
217
|
+
export interface LightningBolt {
|
|
218
|
+
directions: Float32Array;
|
|
219
|
+
indices: Uint32Array;
|
|
220
|
+
positions: Float32Array;
|
|
221
|
+
sides: Float32Array;
|
|
222
|
+
}
|
|
223
|
+
//#endregion
|
|
224
|
+
//#region src/models/atmosphere/LightningBoltOptions.d.ts
|
|
225
|
+
export interface LightningBoltOptions {
|
|
226
|
+
branchCount: number;
|
|
227
|
+
height: number;
|
|
228
|
+
roughness: number;
|
|
229
|
+
seed: number;
|
|
230
|
+
segmentCount: number;
|
|
231
|
+
width: number;
|
|
232
|
+
}
|
|
233
|
+
//#endregion
|
|
234
|
+
//#region src/atmosphere/computeLightningBolt.d.ts
|
|
235
|
+
export declare const computeLightningBolt: ({ branchCount, height, roughness, seed, segmentCount, width }: LightningBoltOptions) => LightningBolt;
|
|
236
|
+
//#endregion
|
|
237
|
+
//#region src/atmosphere/computeLightningFlash.d.ts
|
|
238
|
+
export declare const computeLightningFlash: (elapsed: number) => number;
|
|
239
|
+
//#endregion
|
|
124
240
|
//#region src/atmosphere/computeSunDirection.d.ts
|
|
125
241
|
export declare const computeSunDirection: (minutes: number, tilt: number, sunDirection: Vector3) => Vector3;
|
|
126
242
|
//#endregion
|
|
243
|
+
//#region src/models/atmosphere/LightningFlashPulse.d.ts
|
|
244
|
+
export interface LightningFlashPulse {
|
|
245
|
+
seconds: number;
|
|
246
|
+
strength: number;
|
|
247
|
+
}
|
|
248
|
+
//#endregion
|
|
127
249
|
//#region src/models/atmosphere/SkyGradient.d.ts
|
|
128
250
|
export interface SkyGradient {
|
|
129
251
|
green: readonly number[];
|
|
130
252
|
red: readonly number[];
|
|
131
253
|
}
|
|
132
254
|
//#endregion
|
|
255
|
+
//#region src/models/atmosphere/WeatherKind.d.ts
|
|
256
|
+
export declare enum WeatherKind {
|
|
257
|
+
Clear = "Clear",
|
|
258
|
+
Cloudy = "Cloudy",
|
|
259
|
+
Fog = "Fog",
|
|
260
|
+
Rain = "Rain",
|
|
261
|
+
Sandstorm = "Sandstorm",
|
|
262
|
+
Snow = "Snow",
|
|
263
|
+
Thunderstorm = "Thunderstorm"
|
|
264
|
+
}
|
|
265
|
+
//#endregion
|
|
133
266
|
//#region src/atmosphere/constants.d.ts
|
|
267
|
+
export declare const SUN_REDRAW_COSINE: number;
|
|
134
268
|
export declare const DEFAULT_SKY_SHAPE: Readonly<SkyShape>;
|
|
135
269
|
export declare const DEFAULT_SKY_GRADIENT: SkyGradient;
|
|
270
|
+
export declare const PRECIPITATION_COUNT = 2048;
|
|
271
|
+
export declare const PRECIPITATION_VOLUME_SIZE = 60;
|
|
272
|
+
export declare const PRECIPITATION_VOLUME_HEIGHT = 30;
|
|
273
|
+
export declare const PRECIPITATION_SWAY_SPEED = 1.3;
|
|
274
|
+
export declare const PRECIPITATION_SETTINGS_MAP: Readonly<Record<PrecipitationKind, PrecipitationSettings>>;
|
|
275
|
+
export declare const WEATHER_SETTINGS_MAP: Readonly<Record<WeatherKind, WeatherSettings>>;
|
|
276
|
+
export declare const WEATHER_TRANSITION_SECONDS = 9;
|
|
277
|
+
export declare const LIGHTNING_FLASH_PULSES: readonly LightningFlashPulse[];
|
|
278
|
+
export declare const LIGHTNING_FLASH_DECAY_SECONDS = .08;
|
|
279
|
+
export declare const LIGHTNING_FLASH_COLOR = 14344191;
|
|
280
|
+
export declare const LIGHTNING_FLASH_SKY = .6;
|
|
281
|
+
export declare const LIGHTNING_FLASH_AMBIENT = 1.2;
|
|
282
|
+
export declare const LIGHTNING_FLASH_END = .01;
|
|
283
|
+
export declare const LIGHTNING_BOLT_OPTIONS: Readonly<Pick<LightningBoltOptions, "branchCount" | "height" | "roughness" | "segmentCount" | "width">>;
|
|
284
|
+
export declare const LIGHTNING_BOLT_COLOR = 15263487;
|
|
285
|
+
export declare const LIGHTNING_BOLT_BRIGHTNESS = 3;
|
|
286
|
+
export declare const LIGHTNING_MIN_DISTANCE = 150;
|
|
287
|
+
export declare const LIGHTNING_MAX_DISTANCE = 600;
|
|
288
|
+
export declare const SPLASH_COUNT = 768;
|
|
289
|
+
export declare const SPLASH_RADIUS = 16;
|
|
290
|
+
export declare const SPLASH_LIFETIME = .35;
|
|
291
|
+
export declare const SPLASH_SIZE = .4;
|
|
292
|
+
export declare const SPLASH_OPACITY = .5;
|
|
293
|
+
export declare const SPLASH_LIFT = .03;
|
|
136
294
|
//#endregion
|
|
137
295
|
//#region src/models/atmosphere/CloudSprite.d.ts
|
|
138
296
|
export interface CloudSprite {
|
|
@@ -167,6 +325,102 @@ export interface CloudPlacement {
|
|
|
167
325
|
//#region src/atmosphere/createCloudBandSprite.d.ts
|
|
168
326
|
export declare const createCloudBandSprite: (atlas: Texture, clouds: readonly CloudPlacement[], { aspect, spriteCount }: CloudBandSpriteOptions, skyUniforms: SkyUniforms) => CloudBandSprite;
|
|
169
327
|
//#endregion
|
|
328
|
+
//#region src/models/atmosphere/CloudLayerDome.d.ts
|
|
329
|
+
export interface CloudLayerDome {
|
|
330
|
+
center: readonly number[];
|
|
331
|
+
elevations: readonly number[];
|
|
332
|
+
far: readonly number[];
|
|
333
|
+
near: readonly number[];
|
|
334
|
+
normalElevations: readonly number[];
|
|
335
|
+
turn: number;
|
|
336
|
+
wisps: readonly number[];
|
|
337
|
+
wispsTurn: number;
|
|
338
|
+
}
|
|
339
|
+
//#endregion
|
|
340
|
+
//#region src/atmosphere/createCloudLayerProfileTexture.d.ts
|
|
341
|
+
export declare const createCloudLayerProfileTexture: ({ elevations, far, near, normalElevations, wisps }: Pick<CloudLayerDome, "elevations" | "far" | "near" | "normalElevations" | "wisps">) => DataTexture;
|
|
342
|
+
//#endregion
|
|
343
|
+
//#region src/models/noise/SpectralNoiseChannel.d.ts
|
|
344
|
+
export interface SpectralNoiseChannel {
|
|
345
|
+
amplitudes: number[];
|
|
346
|
+
correlation?: {
|
|
347
|
+
channel: number;
|
|
348
|
+
share: number;
|
|
349
|
+
};
|
|
350
|
+
mean: number;
|
|
351
|
+
quantiles?: number[][];
|
|
352
|
+
}
|
|
353
|
+
//#endregion
|
|
354
|
+
//#region src/models/noise/SpectralNoiseProfile.d.ts
|
|
355
|
+
export interface SpectralNoiseProfile {
|
|
356
|
+
channels: SpectralNoiseChannel[];
|
|
357
|
+
height: number;
|
|
358
|
+
width: number;
|
|
359
|
+
}
|
|
360
|
+
//#endregion
|
|
361
|
+
//#region src/atmosphere/createCloudLayerTexture.d.ts
|
|
362
|
+
export declare const createCloudLayerTexture: ({ height, width }: Pick<SpectralNoiseProfile, "height" | "width">) => DataTexture;
|
|
363
|
+
//#endregion
|
|
364
|
+
//#region src/models/atmosphere/CloudLayerTextureProfiles.d.ts
|
|
365
|
+
export interface CloudLayerTextureProfiles {
|
|
366
|
+
curl: SpectralNoiseProfile;
|
|
367
|
+
density: SpectralNoiseProfile;
|
|
368
|
+
normal: {
|
|
369
|
+
bias: number[];
|
|
370
|
+
height: SpectralNoiseProfile;
|
|
371
|
+
};
|
|
372
|
+
wisps: SpectralNoiseProfile;
|
|
373
|
+
}
|
|
374
|
+
//#endregion
|
|
375
|
+
//#region src/atmosphere/createCloudLayerTextures.d.ts
|
|
376
|
+
export declare const createCloudLayerTextures: ({ curl, density, normal, wisps }: CloudLayerTextureProfiles) => {
|
|
377
|
+
curl: DataTexture;
|
|
378
|
+
density: DataTexture;
|
|
379
|
+
normal: DataTexture;
|
|
380
|
+
wisps: DataTexture;
|
|
381
|
+
};
|
|
382
|
+
//#endregion
|
|
383
|
+
//#region src/models/atmosphere/CloudLayerUniforms.d.ts
|
|
384
|
+
export interface CloudLayerUniforms {
|
|
385
|
+
center: UniformNode<"vec2", Vector2>;
|
|
386
|
+
curl: TextureNode;
|
|
387
|
+
curlAmplitude: UniformNode<"float", number>;
|
|
388
|
+
curlSpeed: UniformNode<"float", number>;
|
|
389
|
+
curlTiling: UniformNode<"float", number>;
|
|
390
|
+
density: TextureNode;
|
|
391
|
+
direction: UniformNode<"vec2", Vector2>;
|
|
392
|
+
elapsedTime: UniformNode<"float", number>;
|
|
393
|
+
height: UniformNode<"float", number>;
|
|
394
|
+
lightDirection: UniformNode<"vec3", Vector3>;
|
|
395
|
+
normal: TextureNode;
|
|
396
|
+
normalYScale: UniformNode<"float", number>;
|
|
397
|
+
opacity: UniformNode<"float", number>;
|
|
398
|
+
profile: TextureNode;
|
|
399
|
+
smoothness: UniformNode<"vec2", Vector2>;
|
|
400
|
+
sunBrightness: UniformNode<"float", number>;
|
|
401
|
+
sunRimLightRadius: UniformNode<"float", number>;
|
|
402
|
+
tiling: UniformNode<"float", number>;
|
|
403
|
+
turn: UniformNode<"float", number>;
|
|
404
|
+
weather: UniformNode<"vec3", Vector3>;
|
|
405
|
+
wisps: TextureNode;
|
|
406
|
+
wispsCoverage: UniformNode<"float", number>;
|
|
407
|
+
wispsElapsedTime: UniformNode<"float", number>;
|
|
408
|
+
wispsOpacity: UniformNode<"float", number>;
|
|
409
|
+
wispsTurn: UniformNode<"float", number>;
|
|
410
|
+
}
|
|
411
|
+
//#endregion
|
|
412
|
+
//#region src/atmosphere/createCloudLayerUniforms.d.ts
|
|
413
|
+
export declare const createCloudLayerUniforms: ({ center, turn, wispsTurn, ...profiles }: CloudLayerDome, textures: Record<"curl" | "density" | "normal" | "wisps", Texture>) => CloudLayerUniforms;
|
|
414
|
+
//#endregion
|
|
415
|
+
//#region src/atmosphere/createLightningBoltGeometry.d.ts
|
|
416
|
+
export declare const createLightningBoltGeometry: ({ directions, indices, positions, sides }: LightningBolt) => BufferGeometry;
|
|
417
|
+
//#endregion
|
|
418
|
+
//#region src/atmosphere/createPrecipitationGeometry.d.ts
|
|
419
|
+
export declare const createPrecipitationGeometry: (particleCount: number) => InstancedBufferGeometry;
|
|
420
|
+
//#endregion
|
|
421
|
+
//#region src/atmosphere/createPrecipitationUniforms.d.ts
|
|
422
|
+
export declare const createPrecipitationUniforms: () => PrecipitationUniforms;
|
|
423
|
+
//#endregion
|
|
170
424
|
//#region src/atmosphere/createSkyGradientTexture.d.ts
|
|
171
425
|
export declare const createSkyGradientTexture: ({ green, red }: SkyGradient) => DataTexture;
|
|
172
426
|
//#endregion
|
|
@@ -176,9 +430,17 @@ export declare const createSkyState: () => SkyState;
|
|
|
176
430
|
//#region src/atmosphere/createSkyUniforms.d.ts
|
|
177
431
|
export declare const createSkyUniforms: () => SkyUniforms;
|
|
178
432
|
//#endregion
|
|
433
|
+
//#region src/models/nodes/AnchoredCascadeShadowNode.d.ts
|
|
434
|
+
export declare class AnchoredCascadeShadowNode extends CSMShadowNode {
|
|
435
|
+
#private;
|
|
436
|
+
anchor: Vector3;
|
|
437
|
+
constructor(light: DirectionalLight, data: CSMShadowNodeData);
|
|
438
|
+
override updateBefore(frame: NodeFrame): undefined;
|
|
439
|
+
}
|
|
440
|
+
//#endregion
|
|
179
441
|
//#region src/models/atmosphere/SunLight.d.ts
|
|
180
442
|
export interface SunLight {
|
|
181
|
-
cascadedShadowNode:
|
|
443
|
+
cascadedShadowNode: AnchoredCascadeShadowNode;
|
|
182
444
|
light: DirectionalLight;
|
|
183
445
|
}
|
|
184
446
|
//#endregion
|
|
@@ -218,6 +480,12 @@ export interface SkyKeyframe extends BaseSkyState {
|
|
|
218
480
|
//#region src/atmosphere/sampleSkyState.d.ts
|
|
219
481
|
export declare const sampleSkyState: (skyKeyframes: readonly SkyKeyframe[], minutes: number, tilt: number, skyState: SkyState) => SkyState;
|
|
220
482
|
//#endregion
|
|
483
|
+
//#region src/atmosphere/synthesizeCloudLayerTextures.d.ts
|
|
484
|
+
export declare const synthesizeCloudLayerTextures: ({ curl, density, normal, wisps }: CloudLayerTextureProfiles, textures: Record<"curl" | "density" | "normal" | "wisps", DataTexture>) => Promise<void>;
|
|
485
|
+
//#endregion
|
|
486
|
+
//#region src/atmosphere/writeCloudLayerTexture.d.ts
|
|
487
|
+
export declare const writeCloudLayerTexture: (texture: DataTexture, readTexel: (index: number) => readonly number[]) => void;
|
|
488
|
+
//#endregion
|
|
221
489
|
//#region src/models/audio/MusicNote.d.ts
|
|
222
490
|
export interface MusicNote {
|
|
223
491
|
duration: number;
|
|
@@ -226,6 +494,22 @@ export interface MusicNote {
|
|
|
226
494
|
velocity: number;
|
|
227
495
|
}
|
|
228
496
|
//#endregion
|
|
497
|
+
//#region src/models/audio/MusicSampleRange.d.ts
|
|
498
|
+
export interface MusicSampleRange {
|
|
499
|
+
highKey: number;
|
|
500
|
+
highVelocity: number;
|
|
501
|
+
lowKey: number;
|
|
502
|
+
lowVelocity: number;
|
|
503
|
+
}
|
|
504
|
+
//#endregion
|
|
505
|
+
//#region src/models/audio/MusicRecording.d.ts
|
|
506
|
+
export interface MusicRecording extends MusicSampleRange {
|
|
507
|
+
file: string;
|
|
508
|
+
gain: number;
|
|
509
|
+
keyCenter: number;
|
|
510
|
+
tune: number;
|
|
511
|
+
}
|
|
512
|
+
//#endregion
|
|
229
513
|
//#region src/models/audio/Instrument.d.ts
|
|
230
514
|
export interface Instrument {
|
|
231
515
|
attack: number;
|
|
@@ -233,6 +517,8 @@ export interface Instrument {
|
|
|
233
517
|
harmonics: number[];
|
|
234
518
|
level: number;
|
|
235
519
|
noiseBands: number[];
|
|
520
|
+
recordingLevel: number;
|
|
521
|
+
recordings: MusicRecording[];
|
|
236
522
|
release: number;
|
|
237
523
|
sustain: number;
|
|
238
524
|
tuning: number;
|
|
@@ -256,6 +542,7 @@ export interface MusicSegment {
|
|
|
256
542
|
duration: number;
|
|
257
543
|
expression: number[];
|
|
258
544
|
voices: MusicVoice[];
|
|
545
|
+
volume: number;
|
|
259
546
|
}
|
|
260
547
|
//#endregion
|
|
261
548
|
//#region src/models/audio/ScheduledMusicSegment.d.ts
|
|
@@ -283,11 +570,13 @@ export declare const computeNoiseSamples: (noiseBands: readonly number[], sample
|
|
|
283
570
|
//#region src/models/audio/SoundEffect.d.ts
|
|
284
571
|
export interface SoundEffect {
|
|
285
572
|
frameSeconds: number;
|
|
286
|
-
|
|
573
|
+
leftLevels: number[][];
|
|
574
|
+
rightLevels: number[][];
|
|
575
|
+
sharedLevels: number[][];
|
|
287
576
|
}
|
|
288
577
|
//#endregion
|
|
289
578
|
//#region src/audio/computeSoundEffectSamples.d.ts
|
|
290
|
-
export declare const computeSoundEffectSamples: ({ frameSeconds,
|
|
579
|
+
export declare const computeSoundEffectSamples: ({ frameSeconds, leftLevels, rightLevels, sharedLevels }: SoundEffect, sampleRate: number, seed?: number) => [Float32Array, Float32Array];
|
|
291
580
|
//#endregion
|
|
292
581
|
//#region src/audio/constants.d.ts
|
|
293
582
|
export declare const MUSIC_LOOKAHEAD_SECONDS = 2;
|
|
@@ -299,6 +588,8 @@ export declare const MUSIC_EXPRESSION_WINDOW_SECONDS = 8;
|
|
|
299
588
|
export declare const A4_PITCH = 69;
|
|
300
589
|
export declare const A4_FREQUENCY = 440;
|
|
301
590
|
export declare const MIDI_VELOCITY_MAX = 127;
|
|
591
|
+
export declare const SOUND_EFFECT_BAND_EDGES: number[];
|
|
592
|
+
export declare const SOUND_EFFECT_FRAME_LENGTH = 2048;
|
|
302
593
|
//#endregion
|
|
303
594
|
//#region src/audio/createInstrumentWave.d.ts
|
|
304
595
|
export declare const createInstrumentWave: (context: BaseAudioContext, harmonics: number[]) => PeriodicWave;
|
|
@@ -310,7 +601,7 @@ export interface MusicPlayer {
|
|
|
310
601
|
}
|
|
311
602
|
//#endregion
|
|
312
603
|
//#region src/audio/createMusicPlayer.d.ts
|
|
313
|
-
export declare const createMusicPlayer: (context: AudioContext, music: Music, destination?: AudioNode) => MusicPlayer;
|
|
604
|
+
export declare const createMusicPlayer: (context: AudioContext, music: Music, recordingBufferMap: ReadonlyMap<string, AudioBuffer>, destination?: AudioNode) => MusicPlayer;
|
|
314
605
|
//#endregion
|
|
315
606
|
//#region src/audio/createNoiseBuffer.d.ts
|
|
316
607
|
export declare const createNoiseBuffer: (context: BaseAudioContext, noiseBands: number[]) => AudioBuffer | undefined;
|
|
@@ -318,8 +609,17 @@ export declare const createNoiseBuffer: (context: BaseAudioContext, noiseBands:
|
|
|
318
609
|
//#region src/audio/createSoundEffectBuffer.d.ts
|
|
319
610
|
export declare const createSoundEffectBuffer: (context: BaseAudioContext, soundEffect: SoundEffect) => AudioBuffer;
|
|
320
611
|
//#endregion
|
|
612
|
+
//#region src/audio/getMusicRecordingGain.d.ts
|
|
613
|
+
export declare const getMusicRecordingGain: ({ gain }: Pick<MusicRecording, "gain">, velocity: number) => number;
|
|
614
|
+
//#endregion
|
|
615
|
+
//#region src/audio/getMusicRecordingRate.d.ts
|
|
616
|
+
export declare const getMusicRecordingRate: ({ keyCenter, tune }: Pick<MusicRecording, "keyCenter" | "tune">, pitch: number, tuning: number) => number;
|
|
617
|
+
//#endregion
|
|
618
|
+
//#region src/audio/getSoundEffectBandBins.d.ts
|
|
619
|
+
export declare const getSoundEffectBandBins: (sampleRate: number) => (readonly [number, number])[];
|
|
620
|
+
//#endregion
|
|
321
621
|
//#region src/audio/renderMusicSegment.d.ts
|
|
322
|
-
export declare const renderMusicSegment: (music: Music, segmentIndex: number, sampleRate: number) => Promise<AudioBuffer>;
|
|
622
|
+
export declare const renderMusicSegment: (music: Music, segmentIndex: number, sampleRate: number, recordingBufferMap: ReadonlyMap<string, AudioBuffer>) => Promise<AudioBuffer>;
|
|
323
623
|
//#endregion
|
|
324
624
|
//#region src/audio/scheduleMusicExpression.d.ts
|
|
325
625
|
export declare const scheduleMusicExpression: (gain: AudioParam, expression: number[], start: number) => void;
|
|
@@ -327,13 +627,8 @@ export declare const scheduleMusicExpression: (gain: AudioParam, expression: num
|
|
|
327
627
|
//#region src/audio/scheduleMusicNote.d.ts
|
|
328
628
|
export declare const scheduleMusicNote: (context: BaseAudioContext, destination: AudioNode, wave: PeriodicWave, noiseBuffer: AudioBuffer | undefined, { attack, decay, level, release, sustain, tuning }: Instrument, { duration, pitch, velocity }: MusicNote, time: number) => void;
|
|
329
629
|
//#endregion
|
|
330
|
-
//#region src/
|
|
331
|
-
export
|
|
332
|
-
highKey: number;
|
|
333
|
-
highVelocity: number;
|
|
334
|
-
lowKey: number;
|
|
335
|
-
lowVelocity: number;
|
|
336
|
-
}
|
|
630
|
+
//#region src/audio/scheduleMusicRecording.d.ts
|
|
631
|
+
export declare const scheduleMusicRecording: (context: BaseAudioContext, destination: AudioNode, recordingBufferMap: ReadonlyMap<string, AudioBuffer>, { recordingLevel, recordings, release, tuning }: Instrument, { duration, pitch, velocity }: MusicNote, time: number) => void;
|
|
337
632
|
//#endregion
|
|
338
633
|
//#region src/audio/selectMusicSample.d.ts
|
|
339
634
|
export declare const selectMusicSample: <T extends MusicSampleRange>(samples: T[], pitch: number, velocity: number) => T | undefined;
|
|
@@ -341,6 +636,744 @@ export declare const selectMusicSample: <T extends MusicSampleRange>(samples: T[
|
|
|
341
636
|
//#region src/audio/transformFourier.d.ts
|
|
342
637
|
export declare const transformFourier: (real: Float64Array, imaginary: Float64Array) => void;
|
|
343
638
|
//#endregion
|
|
639
|
+
//#region src/models/camera/FollowCameraSettings.d.ts
|
|
640
|
+
export interface FollowCameraSettings {
|
|
641
|
+
defaultDistance: number;
|
|
642
|
+
horizontalSensitivity: number;
|
|
643
|
+
verticalSensitivity: number;
|
|
644
|
+
}
|
|
645
|
+
//#endregion
|
|
646
|
+
//#region src/camera/constants.d.ts
|
|
647
|
+
export declare const FREE_CAMERA_BASE_SPEED = 8;
|
|
648
|
+
export declare const FREE_CAMERA_SPEED_PER_HEIGHT = .5;
|
|
649
|
+
export declare const FREE_CAMERA_CLEARANCE = 1.5;
|
|
650
|
+
export declare const FREE_CAMERA_MAX_PITCH: number;
|
|
651
|
+
export declare const FOLLOW_CAMERA_DEFAULT_SETTINGS: FollowCameraSettings;
|
|
652
|
+
export declare const FOLLOW_CAMERA_NEUTRAL_SENSITIVITY = 3;
|
|
653
|
+
export declare const FOLLOW_CAMERA_PIVOT_SHARE = .7;
|
|
654
|
+
export declare const FOLLOW_CAMERA_FOV = 45;
|
|
655
|
+
export declare const FOLLOW_CAMERA_MIN_PITCH: number;
|
|
656
|
+
export declare const FOLLOW_CAMERA_MAX_PITCH: number;
|
|
657
|
+
export declare const FOLLOW_CAMERA_MIN_DISTANCE = 1;
|
|
658
|
+
export declare const FOLLOW_CAMERA_MAX_DISTANCE = 6;
|
|
659
|
+
export declare const FOLLOW_CAMERA_DISTANCE_PER_ZOOM_STEP = .5;
|
|
660
|
+
export declare const FOLLOW_CAMERA_EASE_OUT_SPEED = 4;
|
|
661
|
+
export declare const FOLLOW_CAMERA_CLEARANCE = .2;
|
|
662
|
+
export declare const FOLLOW_CAMERA_ARM_STEP = .25;
|
|
663
|
+
//#endregion
|
|
664
|
+
//#region src/models/input/InputAction.d.ts
|
|
665
|
+
export declare enum InputAction {
|
|
666
|
+
Aim = "Aim",
|
|
667
|
+
Cancel = "Cancel",
|
|
668
|
+
Confirm = "Confirm",
|
|
669
|
+
Drop = "Drop",
|
|
670
|
+
ElementalBurst = "ElementalBurst",
|
|
671
|
+
ElementalSight = "ElementalSight",
|
|
672
|
+
ElementalSkill = "ElementalSkill",
|
|
673
|
+
HideInterface = "HideInterface",
|
|
674
|
+
Interact = "Interact",
|
|
675
|
+
Jump = "Jump",
|
|
676
|
+
NormalAttack = "NormalAttack",
|
|
677
|
+
OpenAdventurerHandbook = "OpenAdventurerHandbook",
|
|
678
|
+
OpenBattlePass = "OpenBattlePass",
|
|
679
|
+
OpenCharacter = "OpenCharacter",
|
|
680
|
+
OpenChat = "OpenChat",
|
|
681
|
+
OpenCoOp = "OpenCoOp",
|
|
682
|
+
OpenEvents = "OpenEvents",
|
|
683
|
+
OpenFriends = "OpenFriends",
|
|
684
|
+
OpenInventory = "OpenInventory",
|
|
685
|
+
OpenMap = "OpenMap",
|
|
686
|
+
OpenPaimonMenu = "OpenPaimonMenu",
|
|
687
|
+
OpenPartySetup = "OpenPartySetup",
|
|
688
|
+
OpenQuests = "OpenQuests",
|
|
689
|
+
OpenShortcutWheel = "OpenShortcutWheel",
|
|
690
|
+
OpenWish = "OpenWish",
|
|
691
|
+
QuestNavigation = "QuestNavigation",
|
|
692
|
+
QuickUseGadget = "QuickUseGadget",
|
|
693
|
+
ResetCamera = "ResetCamera",
|
|
694
|
+
ShowCursor = "ShowCursor",
|
|
695
|
+
Sprint = "Sprint",
|
|
696
|
+
SwitchToPartyMember1 = "SwitchToPartyMember1",
|
|
697
|
+
SwitchToPartyMember2 = "SwitchToPartyMember2",
|
|
698
|
+
SwitchToPartyMember3 = "SwitchToPartyMember3",
|
|
699
|
+
SwitchToPartyMember4 = "SwitchToPartyMember4",
|
|
700
|
+
SwitchToPartyMemberAndBurst1 = "SwitchToPartyMemberAndBurst1",
|
|
701
|
+
SwitchToPartyMemberAndBurst2 = "SwitchToPartyMemberAndBurst2",
|
|
702
|
+
SwitchToPartyMemberAndBurst3 = "SwitchToPartyMemberAndBurst3",
|
|
703
|
+
SwitchToPartyMemberAndBurst4 = "SwitchToPartyMemberAndBurst4",
|
|
704
|
+
SwitchWalkRun = "SwitchWalkRun"
|
|
705
|
+
}
|
|
706
|
+
export declare const InputActions: readonly InputAction[];
|
|
707
|
+
//#endregion
|
|
708
|
+
//#region src/models/input/InputState.d.ts
|
|
709
|
+
export interface InputState {
|
|
710
|
+
heldActions: ReadonlySet<InputAction>;
|
|
711
|
+
lookPitch: number;
|
|
712
|
+
lookYaw: number;
|
|
713
|
+
moveForward: number;
|
|
714
|
+
moveRight: number;
|
|
715
|
+
moveUp: number;
|
|
716
|
+
pressedActions: ReadonlySet<InputAction>;
|
|
717
|
+
zoomSteps: number;
|
|
718
|
+
}
|
|
719
|
+
//#endregion
|
|
720
|
+
//#region src/models/camera/FollowCamera.d.ts
|
|
721
|
+
export interface FollowCamera {
|
|
722
|
+
follow: (pivot: Vector3, origin: Vector3, frameSeconds: number) => void;
|
|
723
|
+
look: (input: InputState, facing: number) => void;
|
|
724
|
+
reset: (facing: number) => void;
|
|
725
|
+
readonly yaw: number;
|
|
726
|
+
}
|
|
727
|
+
//#endregion
|
|
728
|
+
//#region src/models/collision/GroundSample.d.ts
|
|
729
|
+
export interface GroundSample {
|
|
730
|
+
height: number;
|
|
731
|
+
normal: Vector3;
|
|
732
|
+
}
|
|
733
|
+
//#endregion
|
|
734
|
+
//#region src/models/collision/GroundQuery.d.ts
|
|
735
|
+
export interface GroundQuery {
|
|
736
|
+
getGround: (x: number, z: number) => GroundSample;
|
|
737
|
+
getWaterLevel: () => number;
|
|
738
|
+
}
|
|
739
|
+
//#endregion
|
|
740
|
+
//#region src/models/collision/CapsulePush.d.ts
|
|
741
|
+
export interface CapsulePush {
|
|
742
|
+
depth: number;
|
|
743
|
+
normal: Vector3;
|
|
744
|
+
}
|
|
745
|
+
//#endregion
|
|
746
|
+
//#region src/models/collision/LandmarkCollider.d.ts
|
|
747
|
+
export interface LandmarkCollider {
|
|
748
|
+
castSphere: (origin: Vector3, direction: Vector3, distance: number, radius: number) => number;
|
|
749
|
+
pushCapsule: (capsule: Capsule) => CapsulePush | undefined;
|
|
750
|
+
syncLandmarks: (root: Object3D) => void;
|
|
751
|
+
}
|
|
752
|
+
//#endregion
|
|
753
|
+
//#region src/models/camera/FollowCameraOptions.d.ts
|
|
754
|
+
export interface FollowCameraOptions {
|
|
755
|
+
camera: PerspectiveCamera;
|
|
756
|
+
ground: GroundQuery;
|
|
757
|
+
landmarkCollider: LandmarkCollider;
|
|
758
|
+
settings: FollowCameraSettings;
|
|
759
|
+
}
|
|
760
|
+
//#endregion
|
|
761
|
+
//#region src/camera/createFollowCamera.d.ts
|
|
762
|
+
export declare const createFollowCamera: ({ camera, ground, landmarkCollider, settings }: FollowCameraOptions) => FollowCamera;
|
|
763
|
+
//#endregion
|
|
764
|
+
//#region src/models/camera/FreeCamera.d.ts
|
|
765
|
+
export interface FreeCamera {
|
|
766
|
+
look: (input: InputState) => void;
|
|
767
|
+
step: (input: InputState, stepSeconds: number) => void;
|
|
768
|
+
}
|
|
769
|
+
//#endregion
|
|
770
|
+
//#region src/models/camera/FreeCameraOptions.d.ts
|
|
771
|
+
export interface FreeCameraOptions {
|
|
772
|
+
camera: PerspectiveCamera;
|
|
773
|
+
ground: GroundQuery;
|
|
774
|
+
}
|
|
775
|
+
//#endregion
|
|
776
|
+
//#region src/camera/createFreeCamera.d.ts
|
|
777
|
+
export declare const createFreeCamera: ({ camera, ground }: FreeCameraOptions) => FreeCamera;
|
|
778
|
+
//#endregion
|
|
779
|
+
//#region src/character/checkTransparentTexels.d.ts
|
|
780
|
+
export declare const checkTransparentTexels: (image: ImageBitmap) => boolean;
|
|
781
|
+
//#endregion
|
|
782
|
+
//#region src/character/constants.d.ts
|
|
783
|
+
export declare const PMX_UNIT_METRES = .08;
|
|
784
|
+
export declare const SHARED_TOON_RAMP_SHADES: readonly number[];
|
|
785
|
+
//#endregion
|
|
786
|
+
//#region src/models/character/CharacterMaterialKind.d.ts
|
|
787
|
+
export declare enum CharacterMaterialKind {
|
|
788
|
+
Body = 0,
|
|
789
|
+
Face = 1,
|
|
790
|
+
Hair = 2
|
|
791
|
+
}
|
|
792
|
+
//#endregion
|
|
793
|
+
//#region src/models/character/FaceDraw.d.ts
|
|
794
|
+
export interface FaceDraw {
|
|
795
|
+
flip: UniformNode<"float", number>;
|
|
796
|
+
flipFactor: number;
|
|
797
|
+
rotateOffset: number;
|
|
798
|
+
threshold: UniformNode<"float", number>;
|
|
799
|
+
}
|
|
800
|
+
//#endregion
|
|
801
|
+
//#region src/models/character/ShadingRegionColours.d.ts
|
|
802
|
+
export type ShadingRegionColours = Record<"five" | "four" | "one" | "three" | "two", Vector3Tuple>;
|
|
803
|
+
//#endregion
|
|
804
|
+
//#region src/models/character/OutlineRegions.d.ts
|
|
805
|
+
export interface OutlineRegions {
|
|
806
|
+
colors: ShadingRegionColours;
|
|
807
|
+
intensities: Record<keyof ShadingRegionColours, number>;
|
|
808
|
+
}
|
|
809
|
+
//#endregion
|
|
810
|
+
//#region src/models/character/RampLayout.d.ts
|
|
811
|
+
export declare enum RampLayout {
|
|
812
|
+
Horizontal = 0,
|
|
813
|
+
Vertical = 1
|
|
814
|
+
}
|
|
815
|
+
//#endregion
|
|
816
|
+
//#region src/models/character/ShadingRegionToggles.d.ts
|
|
817
|
+
export interface ShadingRegionToggles {
|
|
818
|
+
five: boolean;
|
|
819
|
+
four: boolean;
|
|
820
|
+
three: boolean;
|
|
821
|
+
two: boolean;
|
|
822
|
+
}
|
|
823
|
+
//#endregion
|
|
824
|
+
//#region src/models/character/CharacterShadingInputs.d.ts
|
|
825
|
+
export interface CharacterShadingInputs {
|
|
826
|
+
brightness: number;
|
|
827
|
+
color: Vector3Tuple;
|
|
828
|
+
contrastScale: number;
|
|
829
|
+
coolShadowMultiplyColors: ShadingRegionColours;
|
|
830
|
+
coolShadowTone: number;
|
|
831
|
+
desaturateScale: number;
|
|
832
|
+
emissionColor: Vector3Tuple;
|
|
833
|
+
emissionScaler: number;
|
|
834
|
+
faceDraw: FaceDraw;
|
|
835
|
+
faceMap?: Texture;
|
|
836
|
+
faceSoftness: number;
|
|
837
|
+
isCoolShadow: boolean;
|
|
838
|
+
isEmissionFromAlpha: boolean;
|
|
839
|
+
isLightMapAo: boolean;
|
|
840
|
+
isOutlineVertexWeighted: boolean;
|
|
841
|
+
isVertexAo: boolean;
|
|
842
|
+
isVertexRampWidth: boolean;
|
|
843
|
+
kind: CharacterMaterialKind;
|
|
844
|
+
lightArea: number;
|
|
845
|
+
lightMapTexture?: Texture;
|
|
846
|
+
mainTexture?: Texture;
|
|
847
|
+
metalDarkColor: Vector3Tuple;
|
|
848
|
+
metalLightColor: Vector3Tuple;
|
|
849
|
+
metalTexture?: Texture;
|
|
850
|
+
outlineDepths: Vector3Tuple;
|
|
851
|
+
outlineOffset?: {
|
|
852
|
+
blockBChannel: number;
|
|
853
|
+
size: number;
|
|
854
|
+
};
|
|
855
|
+
outlineRegions?: OutlineRegions;
|
|
856
|
+
outlineScales: Vector3Tuple;
|
|
857
|
+
rampLayout: RampLayout;
|
|
858
|
+
rampTexture: Texture;
|
|
859
|
+
rampWidth: number;
|
|
860
|
+
regionTints: Record<"five" | "four" | "three" | "two", Vector3Tuple>;
|
|
861
|
+
regionToggles: ShadingRegionToggles;
|
|
862
|
+
shadowMultiplyColors: ShadingRegionColours;
|
|
863
|
+
shininess: number;
|
|
864
|
+
specularColor: Vector3Tuple;
|
|
865
|
+
specularInShadow: number;
|
|
866
|
+
specularMultiplier: number;
|
|
867
|
+
vertexAo: number;
|
|
868
|
+
vertexRampWidth: number;
|
|
869
|
+
}
|
|
870
|
+
//#endregion
|
|
871
|
+
//#region src/models/character/PmxSphereMode.d.ts
|
|
872
|
+
export declare enum PmxSphereMode {
|
|
873
|
+
Disabled = 0,
|
|
874
|
+
Multiply = 1,
|
|
875
|
+
Add = 2,
|
|
876
|
+
AdditionalUv = 3
|
|
877
|
+
}
|
|
878
|
+
//#endregion
|
|
879
|
+
//#region src/models/character/PmxMaterial.d.ts
|
|
880
|
+
export interface PmxMaterial {
|
|
881
|
+
ambientColor: Vector3Tuple;
|
|
882
|
+
diffuseColor: Vector4Tuple;
|
|
883
|
+
edgeColor: Vector4Tuple;
|
|
884
|
+
edgeSize: number;
|
|
885
|
+
indexCount: number;
|
|
886
|
+
isDoubleSided: boolean;
|
|
887
|
+
isOutlined: boolean;
|
|
888
|
+
isToonShared: boolean;
|
|
889
|
+
name: string;
|
|
890
|
+
specularColor: Vector3Tuple;
|
|
891
|
+
specularity: number;
|
|
892
|
+
sphereMode: PmxSphereMode;
|
|
893
|
+
sphereTextureIndex: number;
|
|
894
|
+
textureIndex: number;
|
|
895
|
+
toonIndex: number;
|
|
896
|
+
}
|
|
897
|
+
//#endregion
|
|
898
|
+
//#region src/models/character/CharacterMaterialOptions.d.ts
|
|
899
|
+
export interface CharacterMaterialOptions {
|
|
900
|
+
isTextureTransparent?: boolean;
|
|
901
|
+
lightUniforms: LightUniforms;
|
|
902
|
+
pmxMaterial: PmxMaterial;
|
|
903
|
+
rampTexture: DataTexture;
|
|
904
|
+
shadingInputs?: Partial<CharacterShadingInputs>;
|
|
905
|
+
sphereTexture?: Texture;
|
|
906
|
+
texture?: Texture;
|
|
907
|
+
toonTexture?: Texture;
|
|
908
|
+
}
|
|
909
|
+
//#endregion
|
|
910
|
+
//#region src/models/nodes/OutlineWidthKnots.d.ts
|
|
911
|
+
export interface OutlineWidthKnots {
|
|
912
|
+
depths: Vector3Tuple;
|
|
913
|
+
scales: Vector3Tuple;
|
|
914
|
+
}
|
|
915
|
+
//#endregion
|
|
916
|
+
//#region src/models/nodes/ToonEdge.d.ts
|
|
917
|
+
export interface ToonEdge {
|
|
918
|
+
color: Node<"vec4"> | Vector4Tuple;
|
|
919
|
+
isVertexWeighted?: boolean;
|
|
920
|
+
offset?: {
|
|
921
|
+
blockBChannel: number;
|
|
922
|
+
size: number;
|
|
923
|
+
};
|
|
924
|
+
size: number;
|
|
925
|
+
widthKnots: OutlineWidthKnots;
|
|
926
|
+
}
|
|
927
|
+
//#endregion
|
|
928
|
+
//#region src/models/nodes/ToonNodeMaterial.d.ts
|
|
929
|
+
export declare class ToonNodeMaterial extends MeshToonNodeMaterial {
|
|
930
|
+
edge?: ToonEdge;
|
|
931
|
+
emissiveNode: Node | null;
|
|
932
|
+
readonly isMeshToonMaterial: boolean;
|
|
933
|
+
override readonly isMeshToonNodeMaterial: boolean;
|
|
934
|
+
sphereMap?: Texture$1;
|
|
935
|
+
constructor(parameters: MeshToonNodeMaterialParameters, isOutlined: boolean, edge?: ToonEdge);
|
|
936
|
+
}
|
|
937
|
+
//#endregion
|
|
938
|
+
//#region src/character/createCharacterMaterial.d.ts
|
|
939
|
+
export declare const createCharacterMaterial: ({ isTextureTransparent, lightUniforms, pmxMaterial: { diffuseColor: [red, green, blue, opacity], edgeColor, edgeSize, isDoubleSided, isOutlined, isToonShared, specularColor, specularity, sphereMode, toonIndex }, rampTexture, shadingInputs: gameShadingInputs, sphereTexture, texture: diffuseTexture, toonTexture }: CharacterMaterialOptions) => ToonNodeMaterial;
|
|
940
|
+
//#endregion
|
|
941
|
+
//#region src/character/createCharacterShadingInputs.d.ts
|
|
942
|
+
export type CharacterShadingOverrides = Partial<CharacterShadingInputs> & {
|
|
943
|
+
rampTexture: Texture;
|
|
944
|
+
};
|
|
945
|
+
export declare const createCharacterShadingInputs: (overrides: CharacterShadingOverrides) => CharacterShadingInputs;
|
|
946
|
+
//#endregion
|
|
947
|
+
//#region src/models/character/PmxBone.d.ts
|
|
948
|
+
export interface PmxBone {
|
|
949
|
+
name: string;
|
|
950
|
+
parentIndex: number;
|
|
951
|
+
position: Vector3Tuple;
|
|
952
|
+
}
|
|
953
|
+
//#endregion
|
|
954
|
+
//#region src/models/character/PmxJointKind.d.ts
|
|
955
|
+
export declare enum PmxJointKind {
|
|
956
|
+
SpringSixDegreesOfFreedom = 0,
|
|
957
|
+
SixDegreesOfFreedom = 1,
|
|
958
|
+
PointToPoint = 2,
|
|
959
|
+
ConeTwist = 3,
|
|
960
|
+
Slider = 4,
|
|
961
|
+
Hinge = 5
|
|
962
|
+
}
|
|
963
|
+
//#endregion
|
|
964
|
+
//#region src/models/character/PmxJoint.d.ts
|
|
965
|
+
export interface PmxJoint {
|
|
966
|
+
firstRigidBodyIndex: number;
|
|
967
|
+
kind: PmxJointKind;
|
|
968
|
+
name: string;
|
|
969
|
+
position: Vector3Tuple;
|
|
970
|
+
rotation: Vector3Tuple;
|
|
971
|
+
rotationMaximum: Vector3Tuple;
|
|
972
|
+
rotationMinimum: Vector3Tuple;
|
|
973
|
+
rotationSpring: Vector3Tuple;
|
|
974
|
+
secondRigidBodyIndex: number;
|
|
975
|
+
translationMaximum: Vector3Tuple;
|
|
976
|
+
translationMinimum: Vector3Tuple;
|
|
977
|
+
translationSpring: Vector3Tuple;
|
|
978
|
+
}
|
|
979
|
+
//#endregion
|
|
980
|
+
//#region src/models/character/PmxMorphKind.d.ts
|
|
981
|
+
export declare enum PmxMorphKind {
|
|
982
|
+
Group = 0,
|
|
983
|
+
Vertex = 1,
|
|
984
|
+
Bone = 2,
|
|
985
|
+
Uv = 3,
|
|
986
|
+
AdditionalUv1 = 4,
|
|
987
|
+
AdditionalUv2 = 5,
|
|
988
|
+
AdditionalUv3 = 6,
|
|
989
|
+
AdditionalUv4 = 7,
|
|
990
|
+
Material = 8,
|
|
991
|
+
Flip = 9,
|
|
992
|
+
Impulse = 10
|
|
993
|
+
}
|
|
994
|
+
//#endregion
|
|
995
|
+
//#region src/models/character/PmxMorph.d.ts
|
|
996
|
+
export interface PmxMorph {
|
|
997
|
+
indices: Uint32Array;
|
|
998
|
+
kind: PmxMorphKind;
|
|
999
|
+
name: string;
|
|
1000
|
+
values: Float32Array;
|
|
1001
|
+
}
|
|
1002
|
+
//#endregion
|
|
1003
|
+
//#region src/models/character/PmxPhysicsMode.d.ts
|
|
1004
|
+
export declare enum PmxPhysicsMode {
|
|
1005
|
+
FollowBone = 0,
|
|
1006
|
+
Physics = 1,
|
|
1007
|
+
PhysicsWithBone = 2
|
|
1008
|
+
}
|
|
1009
|
+
//#endregion
|
|
1010
|
+
//#region src/models/character/PmxRigidBodyShape.d.ts
|
|
1011
|
+
export declare enum PmxRigidBodyShape {
|
|
1012
|
+
Sphere = 0,
|
|
1013
|
+
Box = 1,
|
|
1014
|
+
Capsule = 2
|
|
1015
|
+
}
|
|
1016
|
+
//#endregion
|
|
1017
|
+
//#region src/models/character/PmxRigidBody.d.ts
|
|
1018
|
+
export interface PmxRigidBody {
|
|
1019
|
+
angularDamping: number;
|
|
1020
|
+
boneIndex: number;
|
|
1021
|
+
friction: number;
|
|
1022
|
+
group: number;
|
|
1023
|
+
linearDamping: number;
|
|
1024
|
+
mass: number;
|
|
1025
|
+
name: string;
|
|
1026
|
+
nonCollidingGroups: number;
|
|
1027
|
+
physicsMode: PmxPhysicsMode;
|
|
1028
|
+
position: Vector3Tuple;
|
|
1029
|
+
restitution: number;
|
|
1030
|
+
rotation: Vector3Tuple;
|
|
1031
|
+
shape: PmxRigidBodyShape;
|
|
1032
|
+
size: Vector3Tuple;
|
|
1033
|
+
}
|
|
1034
|
+
//#endregion
|
|
1035
|
+
//#region src/models/character/PmxVertices.d.ts
|
|
1036
|
+
export interface PmxVertices {
|
|
1037
|
+
normals: Float32Array;
|
|
1038
|
+
positions: Float32Array;
|
|
1039
|
+
skinIndices: Uint16Array;
|
|
1040
|
+
skinWeights: Float32Array;
|
|
1041
|
+
subUvs: Float32Array;
|
|
1042
|
+
uvs: Float32Array;
|
|
1043
|
+
}
|
|
1044
|
+
//#endregion
|
|
1045
|
+
//#region src/models/character/PmxModel.d.ts
|
|
1046
|
+
export interface PmxModel {
|
|
1047
|
+
bones: PmxBone[];
|
|
1048
|
+
indices: Uint32Array;
|
|
1049
|
+
joints: PmxJoint[];
|
|
1050
|
+
materials: PmxMaterial[];
|
|
1051
|
+
morphs: PmxMorph[];
|
|
1052
|
+
name: string;
|
|
1053
|
+
rigidBodies: PmxRigidBody[];
|
|
1054
|
+
textures: string[];
|
|
1055
|
+
vertices: PmxVertices;
|
|
1056
|
+
}
|
|
1057
|
+
//#endregion
|
|
1058
|
+
//#region src/character/createPmxGeometry.d.ts
|
|
1059
|
+
export declare const createPmxGeometry: ({ indices, materials, vertices: { normals, positions, skinIndices, skinWeights, subUvs, uvs } }: Pick<PmxModel, "indices" | "materials" | "vertices">) => BufferGeometry;
|
|
1060
|
+
//#endregion
|
|
1061
|
+
//#region src/character/createPmxMesh.d.ts
|
|
1062
|
+
export declare const createPmxMesh: <TMaterial extends Material>(pmxModel: PmxModel, materials: TMaterial[]) => SkinnedMesh<BufferGeometry, TMaterial[]>;
|
|
1063
|
+
//#endregion
|
|
1064
|
+
//#region src/character/createPmxSkeleton.d.ts
|
|
1065
|
+
export declare const createPmxSkeleton: (pmxBones: readonly PmxBone[]) => Skeleton;
|
|
1066
|
+
//#endregion
|
|
1067
|
+
//#region src/character/createPmxTexture.d.ts
|
|
1068
|
+
export declare const createPmxTexture: (blob: Blob) => Promise<Texture>;
|
|
1069
|
+
export declare const createPmxToonTexture: (blob: Blob) => Promise<Texture>;
|
|
1070
|
+
//#endregion
|
|
1071
|
+
//#region src/character/getSharedToonRamp.d.ts
|
|
1072
|
+
export declare const getSharedToonRamp: (toonIndex: number) => DataTexture | undefined;
|
|
1073
|
+
//#endregion
|
|
1074
|
+
//#region src/character/parsePmx.d.ts
|
|
1075
|
+
export declare const parsePmx: (buffer: ArrayBuffer) => PmxModel;
|
|
1076
|
+
//#endregion
|
|
1077
|
+
//#region src/models/character/PmxReader.d.ts
|
|
1078
|
+
export declare class PmxReader {
|
|
1079
|
+
#private;
|
|
1080
|
+
readonly additionalVectorCount: number;
|
|
1081
|
+
readonly boneIndexSize: number;
|
|
1082
|
+
readonly materialIndexSize: number;
|
|
1083
|
+
readonly morphIndexSize: number;
|
|
1084
|
+
readonly rigidBodyIndexSize: number;
|
|
1085
|
+
readonly textureIndexSize: number;
|
|
1086
|
+
readonly vertexIndexSize: number;
|
|
1087
|
+
constructor(buffer: ArrayBuffer);
|
|
1088
|
+
readBoneIndex(): number;
|
|
1089
|
+
readFloat32(): number;
|
|
1090
|
+
readInt32(): number;
|
|
1091
|
+
readMaterialIndex(): number;
|
|
1092
|
+
readMirroredRotation(): Vector3Tuple;
|
|
1093
|
+
readMirroredVector3(): Vector3Tuple;
|
|
1094
|
+
readMirroredVector3Into(target: Float32Array, offset: number): void;
|
|
1095
|
+
readMorphIndex(): number;
|
|
1096
|
+
readRigidBodyIndex(): number;
|
|
1097
|
+
readText(): string;
|
|
1098
|
+
readTextureIndex(): number;
|
|
1099
|
+
readUint8(): number;
|
|
1100
|
+
readUint16(): number;
|
|
1101
|
+
readVector3(): Vector3Tuple;
|
|
1102
|
+
readVertexIndex(): number;
|
|
1103
|
+
skip(byteCount: number): void;
|
|
1104
|
+
}
|
|
1105
|
+
//#endregion
|
|
1106
|
+
//#region src/character/parsePmxBones.d.ts
|
|
1107
|
+
export declare const parsePmxBones: (reader: PmxReader) => PmxBone[];
|
|
1108
|
+
//#endregion
|
|
1109
|
+
//#region src/character/parsePmxJoints.d.ts
|
|
1110
|
+
export declare const parsePmxJoints: (reader: PmxReader) => PmxJoint[];
|
|
1111
|
+
//#endregion
|
|
1112
|
+
//#region src/character/parsePmxMaterials.d.ts
|
|
1113
|
+
export declare const parsePmxMaterials: (reader: PmxReader) => PmxMaterial[];
|
|
1114
|
+
//#endregion
|
|
1115
|
+
//#region src/character/parsePmxMorphs.d.ts
|
|
1116
|
+
export declare const parsePmxMorphs: (reader: PmxReader) => PmxMorph[];
|
|
1117
|
+
//#endregion
|
|
1118
|
+
//#region src/character/parsePmxRigidBodies.d.ts
|
|
1119
|
+
export declare const parsePmxRigidBodies: (reader: PmxReader) => PmxRigidBody[];
|
|
1120
|
+
//#endregion
|
|
1121
|
+
//#region src/character/parsePmxVertices.d.ts
|
|
1122
|
+
export declare const parsePmxVertices: (reader: PmxReader) => PmxVertices;
|
|
1123
|
+
//#endregion
|
|
1124
|
+
//#region src/character/pose/advanceStridePhase.d.ts
|
|
1125
|
+
export declare const advanceStridePhase: (stridePhase: number, speed: number, strideMetres: number, delta: number) => number;
|
|
1126
|
+
//#endregion
|
|
1127
|
+
//#region src/models/locomotion/LocomotionState.d.ts
|
|
1128
|
+
export declare enum LocomotionState {
|
|
1129
|
+
Climb = "Climb",
|
|
1130
|
+
ClimbJump = "ClimbJump",
|
|
1131
|
+
Dash = "Dash",
|
|
1132
|
+
Drown = "Drown",
|
|
1133
|
+
Fall = "Fall",
|
|
1134
|
+
Glide = "Glide",
|
|
1135
|
+
Idle = "Idle",
|
|
1136
|
+
Jump = "Jump",
|
|
1137
|
+
Plunge = "Plunge",
|
|
1138
|
+
Run = "Run",
|
|
1139
|
+
Sprint = "Sprint",
|
|
1140
|
+
Swim = "Swim",
|
|
1141
|
+
SwimDash = "SwimDash",
|
|
1142
|
+
Walk = "Walk"
|
|
1143
|
+
}
|
|
1144
|
+
//#endregion
|
|
1145
|
+
//#region src/models/character/CharacterPoseInput.d.ts
|
|
1146
|
+
export interface CharacterPoseInput {
|
|
1147
|
+
elapsed: number;
|
|
1148
|
+
state: LocomotionState;
|
|
1149
|
+
stridePhase: number;
|
|
1150
|
+
}
|
|
1151
|
+
//#endregion
|
|
1152
|
+
//#region src/models/character/MmdBoneName.d.ts
|
|
1153
|
+
export declare enum MmdBoneName {
|
|
1154
|
+
Center = "センター",
|
|
1155
|
+
Head = "頭",
|
|
1156
|
+
LeftAnkle = "左足首",
|
|
1157
|
+
LeftArm = "左腕",
|
|
1158
|
+
LeftElbow = "左ひじ",
|
|
1159
|
+
LeftKnee = "左ひざ",
|
|
1160
|
+
LeftLeg = "左足",
|
|
1161
|
+
LeftShoulder = "左肩",
|
|
1162
|
+
LeftWrist = "左手首",
|
|
1163
|
+
Lower = "下半身",
|
|
1164
|
+
Neck = "首",
|
|
1165
|
+
RightAnkle = "右足首",
|
|
1166
|
+
RightArm = "右腕",
|
|
1167
|
+
RightElbow = "右ひじ",
|
|
1168
|
+
RightKnee = "右ひざ",
|
|
1169
|
+
RightLeg = "右足",
|
|
1170
|
+
RightShoulder = "右肩",
|
|
1171
|
+
RightWrist = "右手首",
|
|
1172
|
+
Upper = "上半身",
|
|
1173
|
+
Upper2 = "上半身2"
|
|
1174
|
+
}
|
|
1175
|
+
//#endregion
|
|
1176
|
+
//#region src/models/character/CharacterPoseRotations.d.ts
|
|
1177
|
+
export type CharacterPoseRotations = Record<MmdBoneName, Quaternion>;
|
|
1178
|
+
//#endregion
|
|
1179
|
+
//#region src/character/pose/computeCharacterPose.d.ts
|
|
1180
|
+
export declare const computeCharacterPose: ({ elapsed, state, stridePhase }: CharacterPoseInput, rotations: CharacterPoseRotations) => void;
|
|
1181
|
+
//#endregion
|
|
1182
|
+
//#region src/character/pose/constants.d.ts
|
|
1183
|
+
export declare const POSE_BREATH_SECONDS = 4;
|
|
1184
|
+
export declare const POSE_CHEST_BREATH_RADIANS = .02;
|
|
1185
|
+
export declare const POSE_SHOULDER_BREATH_RADIANS = .02;
|
|
1186
|
+
export declare const POSE_ARM_LOWER_RADIANS = 1.2;
|
|
1187
|
+
export declare const POSE_ARM_CHAINS: readonly {
|
|
1188
|
+
arm: MmdBoneName;
|
|
1189
|
+
elbow: MmdBoneName;
|
|
1190
|
+
tDirection: Vector3Tuple;
|
|
1191
|
+
}[];
|
|
1192
|
+
export declare const POSE_ARM_BEND_RADIANS = .2;
|
|
1193
|
+
export declare const POSE_CROSSFADE_SECONDS = .25;
|
|
1194
|
+
export interface PoseGait {
|
|
1195
|
+
armBendRadians: number;
|
|
1196
|
+
armSwingRadians: number;
|
|
1197
|
+
kneeBendRadians: number;
|
|
1198
|
+
leanRadians: number;
|
|
1199
|
+
legSwingRadians: number;
|
|
1200
|
+
strideMetres: number;
|
|
1201
|
+
}
|
|
1202
|
+
export declare const POSE_GAITS: Partial<Record<LocomotionState, PoseGait>>;
|
|
1203
|
+
export interface PoseAirStance {
|
|
1204
|
+
armLowerRadians: number;
|
|
1205
|
+
kneeBendRadians: number;
|
|
1206
|
+
leanRadians: number;
|
|
1207
|
+
}
|
|
1208
|
+
export declare const POSE_AIR_STANCES: Partial<Record<LocomotionState, PoseAirStance>>;
|
|
1209
|
+
export declare const MMD_BONE_NAME_MAP: Record<MmdBoneName, string>;
|
|
1210
|
+
//#endregion
|
|
1211
|
+
//#region src/character/pose/createCharacterPoseRotations.d.ts
|
|
1212
|
+
export declare const createCharacterPoseRotations: () => CharacterPoseRotations;
|
|
1213
|
+
//#endregion
|
|
1214
|
+
//#region src/models/character/CharacterBoneNameMap.d.ts
|
|
1215
|
+
export type CharacterBoneNameMap = Partial<Record<MmdBoneName, string>>;
|
|
1216
|
+
//#endregion
|
|
1217
|
+
//#region src/models/locomotion/Locomotion.d.ts
|
|
1218
|
+
export interface Locomotion {
|
|
1219
|
+
capsuleHeight: number;
|
|
1220
|
+
capsuleRadius: number;
|
|
1221
|
+
climbJumpHeight: number;
|
|
1222
|
+
climbJumpSeconds: number;
|
|
1223
|
+
climbSpeed: number;
|
|
1224
|
+
dashSeconds: number;
|
|
1225
|
+
dashSpeed: number;
|
|
1226
|
+
drownSeconds: number;
|
|
1227
|
+
glideForwardSpeed: number;
|
|
1228
|
+
glideMinHeight: number;
|
|
1229
|
+
glideSinkSpeed: number;
|
|
1230
|
+
gravity: number;
|
|
1231
|
+
jumpHeight: number;
|
|
1232
|
+
maxFallSpeed: number;
|
|
1233
|
+
maxWalkableSlope: number;
|
|
1234
|
+
plungeSpeed: number;
|
|
1235
|
+
runSpeed: number;
|
|
1236
|
+
sprintSpeed: number;
|
|
1237
|
+
stepHeight: number;
|
|
1238
|
+
swimDashSpeed: number;
|
|
1239
|
+
swimDepth: number;
|
|
1240
|
+
swimSpeed: number;
|
|
1241
|
+
walkSpeed: number;
|
|
1242
|
+
}
|
|
1243
|
+
//#endregion
|
|
1244
|
+
//#region src/models/locomotion/LocomotionPhase.d.ts
|
|
1245
|
+
export interface LocomotionPhase {
|
|
1246
|
+
state: LocomotionState;
|
|
1247
|
+
stateSeconds: number;
|
|
1248
|
+
}
|
|
1249
|
+
//#endregion
|
|
1250
|
+
//#region src/character/pose/createCharacterPoser.d.ts
|
|
1251
|
+
export interface CharacterPoser {
|
|
1252
|
+
update: (update: CharacterPoseUpdate) => void;
|
|
1253
|
+
}
|
|
1254
|
+
export interface CharacterPoseUpdate {
|
|
1255
|
+
delta: number;
|
|
1256
|
+
locomotion: Locomotion;
|
|
1257
|
+
phase: LocomotionPhase;
|
|
1258
|
+
}
|
|
1259
|
+
export declare const createCharacterPoser: (skinnedMesh: SkinnedMesh, boneNameMap?: CharacterBoneNameMap) => CharacterPoser;
|
|
1260
|
+
//#endregion
|
|
1261
|
+
//#region src/character/pose/findSkinnedMesh.d.ts
|
|
1262
|
+
export declare const findSkinnedMesh: (object: Object3D) => SkinnedMesh | undefined;
|
|
1263
|
+
//#endregion
|
|
1264
|
+
//#region src/character/shading/constants.d.ts
|
|
1265
|
+
export declare const REGION_FLOORS: {
|
|
1266
|
+
readonly five: 0.6;
|
|
1267
|
+
readonly four: 0.2;
|
|
1268
|
+
readonly three: 0.4;
|
|
1269
|
+
readonly two: 0.8;
|
|
1270
|
+
};
|
|
1271
|
+
export declare const RAMP_ROW_BASE = .05;
|
|
1272
|
+
export declare const COOL_RAMP_ROW_BASE = .55;
|
|
1273
|
+
export declare const RAMP_ROW_STEP = .1;
|
|
1274
|
+
export declare const NEUTRAL_LIGHT_MAP_GREEN = .5;
|
|
1275
|
+
export declare const EMISSION_ALPHA_FLOOR = .01;
|
|
1276
|
+
export declare const TOON_LOW = .05;
|
|
1277
|
+
export declare const TOON_HIGH = .95;
|
|
1278
|
+
export declare const MINIMUM_RAMP_WIDTH_VERTEX = .01;
|
|
1279
|
+
export declare const MINIMUM_OUTLINE_KNOT_SPAN = .001;
|
|
1280
|
+
export declare const OUTLINE_PROJECTION_SCALE = 2.414;
|
|
1281
|
+
export declare const OUTLINE_WIDTH_SCALE = .41425;
|
|
1282
|
+
export declare const OUTLINE_MAIN_TEXTURE_SHARE = .2;
|
|
1283
|
+
export declare const DESATURATION_WEIGHTS: readonly [number, number, number];
|
|
1284
|
+
export declare const HALF_LAMBERT_SCALE = .4975;
|
|
1285
|
+
export declare const HALF_LAMBERT_OFFSET = .5;
|
|
1286
|
+
export declare const DEFAULT_LIGHT_AREA: number;
|
|
1287
|
+
export declare const DEFAULT_RAMP_WIDTH: number;
|
|
1288
|
+
export declare const MINIMUM_FACE_THRESHOLD = 1e-4;
|
|
1289
|
+
export declare const MAXIMUM_FACE_THRESHOLD = .9999;
|
|
1290
|
+
export declare const MAXIMUM_WINDOW_FLOOR = .9989;
|
|
1291
|
+
export declare const FLAT_LIGHT_MAP: Readonly<[number, number, number, number]>;
|
|
1292
|
+
//#endregion
|
|
1293
|
+
//#region src/character/shading/createCharacterShadingNode.d.ts
|
|
1294
|
+
export declare const createCharacterShadingNode: (inputs: CharacterShadingInputs, { lightColor, sunDirection }: Pick<LightUniforms, "lightColor" | "sunDirection">) => Node<"vec3">;
|
|
1295
|
+
//#endregion
|
|
1296
|
+
//#region src/character/shading/createFaceShadeNode.d.ts
|
|
1297
|
+
export declare const createFaceShadeNode: (faceMap: Texture | undefined, softness: number, { flip, threshold }: FaceDraw) => Node<"float">;
|
|
1298
|
+
//#endregion
|
|
1299
|
+
//#region src/character/shading/createOutlineColorNode.d.ts
|
|
1300
|
+
export declare const createOutlineColorNode: ({ color, contrastScale, desaturateScale, lightMapTexture, mainTexture, regionTints, regionToggles }: CharacterShadingInputs, { colors, intensities }: OutlineRegions) => Node<"vec3">;
|
|
1301
|
+
//#endregion
|
|
1302
|
+
//#region src/character/shading/createOutlineScaleNode.d.ts
|
|
1303
|
+
export declare const createOutlineScaleNode: (depths: Vector3Tuple, scales: Vector3Tuple) => Node<"float">;
|
|
1304
|
+
//#endregion
|
|
1305
|
+
//#region src/character/shading/createRampColumnNode.d.ts
|
|
1306
|
+
export declare const createRampColumnNode: (threshold: Node<"float">, lightArea: number, rampWidth: Node<"float">) => Node<"float">;
|
|
1307
|
+
//#endregion
|
|
1308
|
+
//#region src/character/shading/createRampUvNode.d.ts
|
|
1309
|
+
export declare const createRampUvNode: (layout: RampLayout, column: Node<"float">, row: Node<"float">) => Node<"vec2">;
|
|
1310
|
+
//#endregion
|
|
1311
|
+
//#region src/character/shading/createShadingRegionNode.d.ts
|
|
1312
|
+
export declare const createShadingRegionNode: (alpha: Node<"float">, toggles: ShadingRegionToggles) => Node<"float">;
|
|
1313
|
+
//#endregion
|
|
1314
|
+
//#region src/character/shading/createToneNode.d.ts
|
|
1315
|
+
export declare const createToneNode: (colour: Node<"vec3">, desaturateScale: number, contrastScale: number) => Node<"vec3">;
|
|
1316
|
+
//#endregion
|
|
1317
|
+
//#region src/models/character/ToonThresholdNodeInputs.d.ts
|
|
1318
|
+
export interface ToonThresholdNodeInputs {
|
|
1319
|
+
isLightMapAo: boolean;
|
|
1320
|
+
isVertexAo: boolean;
|
|
1321
|
+
lightMapGreen: Node<"float">;
|
|
1322
|
+
sunTerm: Node<"float">;
|
|
1323
|
+
vertexAo: number;
|
|
1324
|
+
}
|
|
1325
|
+
//#endregion
|
|
1326
|
+
//#region src/character/shading/createToonThresholdNode.d.ts
|
|
1327
|
+
export declare const createToonThresholdNode: ({ isLightMapAo, isVertexAo, lightMapGreen, sunTerm, vertexAo }: ToonThresholdNodeInputs) => Node<"float">;
|
|
1328
|
+
//#endregion
|
|
1329
|
+
//#region src/character/shading/getDesaturatedColour.d.ts
|
|
1330
|
+
export declare const getDesaturatedColour: (colour: Vector3, desaturateScale: number) => Vector3;
|
|
1331
|
+
//#endregion
|
|
1332
|
+
//#region src/character/shading/getOutlineDepth.d.ts
|
|
1333
|
+
export declare const getOutlineDepth: (viewZ: number, projectionYScale: number) => number;
|
|
1334
|
+
//#endregion
|
|
1335
|
+
//#region src/character/shading/getOutlineScale.d.ts
|
|
1336
|
+
export declare const getOutlineScale: (depth: number, knotDepths: Vector3, knotScales: Vector3) => number;
|
|
1337
|
+
//#endregion
|
|
1338
|
+
//#region src/character/shading/getRampColumn.d.ts
|
|
1339
|
+
export declare const getRampColumn: (threshold: number, lightArea: number, rampWidth: number) => number;
|
|
1340
|
+
//#endregion
|
|
1341
|
+
//#region src/character/shading/getRampRow.d.ts
|
|
1342
|
+
export declare const getRampRow: (region: number, isCoolShadow: boolean) => number;
|
|
1343
|
+
//#endregion
|
|
1344
|
+
//#region src/models/character/RampWidthInputs.d.ts
|
|
1345
|
+
export interface RampWidthInputs {
|
|
1346
|
+
isVertexRampWidth: boolean;
|
|
1347
|
+
rampWidth: number;
|
|
1348
|
+
vertexRampWidth: number;
|
|
1349
|
+
}
|
|
1350
|
+
//#endregion
|
|
1351
|
+
//#region src/character/shading/getRampWidth.d.ts
|
|
1352
|
+
export declare const getRampWidth: ({ isVertexRampWidth, rampWidth, vertexRampWidth }: RampWidthInputs) => number;
|
|
1353
|
+
//#endregion
|
|
1354
|
+
//#region src/character/shading/getShadingRegion.d.ts
|
|
1355
|
+
export declare const getShadingRegion: (alpha: number, toggles: ShadingRegionToggles) => number;
|
|
1356
|
+
//#endregion
|
|
1357
|
+
//#region src/character/shading/getToneColour.d.ts
|
|
1358
|
+
export declare const getToneColour: (colour: Vector3, desaturateScale: number, contrastScale: number) => Vector3;
|
|
1359
|
+
//#endregion
|
|
1360
|
+
//#region src/character/shading/getToonThreshold.d.ts
|
|
1361
|
+
export interface ToonThresholdInputs {
|
|
1362
|
+
isLightMapAo: boolean;
|
|
1363
|
+
isVertexAo: boolean;
|
|
1364
|
+
lightMapGreen: number;
|
|
1365
|
+
sunTerm: number;
|
|
1366
|
+
vertexAo: number;
|
|
1367
|
+
}
|
|
1368
|
+
export declare const getToonThreshold: ({ isLightMapAo, isVertexAo, lightMapGreen, sunTerm, vertexAo }: ToonThresholdInputs) => number;
|
|
1369
|
+
//#endregion
|
|
1370
|
+
//#region src/character/shading/selectRegionNode.d.ts
|
|
1371
|
+
export declare const selectRegionNode: <TNodeType>(region: Node<"float">, toRegionNode: (regionName: keyof ShadingRegionColours) => Node<TNodeType>) => Node<TNodeType>;
|
|
1372
|
+
//#endregion
|
|
1373
|
+
//#region src/character/shading/updateFaceDraw.d.ts
|
|
1374
|
+
export declare const createFaceDraw: ({ flipFactor, rotateOffset }?: Partial<Pick<FaceDraw, "flipFactor" | "rotateOffset">>) => FaceDraw;
|
|
1375
|
+
export declare const updateFaceDraw: (faceDraw: FaceDraw, lightDirection: Vector3, rootRotation: Quaternion) => void;
|
|
1376
|
+
//#endregion
|
|
344
1377
|
//#region src/models/clock/GameClock.d.ts
|
|
345
1378
|
export interface GameClock {
|
|
346
1379
|
minutes: number;
|
|
@@ -354,12 +1387,101 @@ export declare const advanceGameClock: (gameClock: GameClock, deltaSeconds: numb
|
|
|
354
1387
|
export declare const MINUTES_PER_DAY = 1440;
|
|
355
1388
|
export declare const GAME_MINUTES_PER_SECOND = 1;
|
|
356
1389
|
//#endregion
|
|
1390
|
+
//#region src/collision/constants.d.ts
|
|
1391
|
+
export declare const GROUND_NORMAL_SPAN = .1;
|
|
1392
|
+
export declare const SPHERE_CAST_STRIDE_SHARE = .5;
|
|
1393
|
+
//#endregion
|
|
1394
|
+
//#region src/collision/createGroundQuery.d.ts
|
|
1395
|
+
export declare const createGroundQuery: (getHeight: (x: number, z: number) => number, waterLevel: number) => GroundQuery;
|
|
1396
|
+
//#endregion
|
|
1397
|
+
//#region src/collision/createLandmarkCollider.d.ts
|
|
1398
|
+
export declare const createLandmarkCollider: () => LandmarkCollider;
|
|
1399
|
+
//#endregion
|
|
357
1400
|
//#region src/constants.d.ts
|
|
358
1401
|
export declare const MAX_BYTE = 255;
|
|
359
1402
|
//#endregion
|
|
1403
|
+
//#region src/input/InputActionBindingMap.d.ts
|
|
1404
|
+
export declare const InputActionBindingMap: Readonly<Record<InputAction, readonly (readonly string[])[]>>;
|
|
1405
|
+
//#endregion
|
|
1406
|
+
//#region src/models/input/GamepadButton.d.ts
|
|
1407
|
+
export declare enum GamepadButton {
|
|
1408
|
+
Back = "GamepadBack",
|
|
1409
|
+
DirectionalPadDown = "GamepadDirectionalPadDown",
|
|
1410
|
+
DirectionalPadLeft = "GamepadDirectionalPadLeft",
|
|
1411
|
+
DirectionalPadRight = "GamepadDirectionalPadRight",
|
|
1412
|
+
DirectionalPadUp = "GamepadDirectionalPadUp",
|
|
1413
|
+
FaceBottom = "GamepadFaceBottom",
|
|
1414
|
+
FaceLeft = "GamepadFaceLeft",
|
|
1415
|
+
FaceRight = "GamepadFaceRight",
|
|
1416
|
+
FaceTop = "GamepadFaceTop",
|
|
1417
|
+
LeftBumper = "GamepadLeftBumper",
|
|
1418
|
+
LeftStick = "GamepadLeftStick",
|
|
1419
|
+
LeftTrigger = "GamepadLeftTrigger",
|
|
1420
|
+
RightBumper = "GamepadRightBumper",
|
|
1421
|
+
RightStick = "GamepadRightStick",
|
|
1422
|
+
RightTrigger = "GamepadRightTrigger",
|
|
1423
|
+
Start = "GamepadStart"
|
|
1424
|
+
}
|
|
1425
|
+
//#endregion
|
|
1426
|
+
//#region src/models/input/MouseButton.d.ts
|
|
1427
|
+
export declare enum MouseButton {
|
|
1428
|
+
Auxiliary = "MouseAuxiliary",
|
|
1429
|
+
Primary = "MousePrimary",
|
|
1430
|
+
Secondary = "MouseSecondary"
|
|
1431
|
+
}
|
|
1432
|
+
//#endregion
|
|
1433
|
+
//#region src/input/constants.d.ts
|
|
1434
|
+
export declare const KEY_CODE_FORWARD = "KeyW";
|
|
1435
|
+
export declare const KEY_CODE_BACKWARD = "KeyS";
|
|
1436
|
+
export declare const KEY_CODE_LEFT = "KeyA";
|
|
1437
|
+
export declare const KEY_CODE_RIGHT = "KeyD";
|
|
1438
|
+
export declare const KEY_CODE_UP = "Space";
|
|
1439
|
+
export declare const KEY_CODE_DOWN = "ShiftLeft";
|
|
1440
|
+
export declare const FOCUS_KEY_CODES: readonly string[];
|
|
1441
|
+
export declare const FIELD_SELECTOR = "input, select, textarea, [contenteditable=\"true\"]";
|
|
1442
|
+
export declare const GAMEPAD_BUTTONS: readonly GamepadButton[];
|
|
1443
|
+
export declare const MOUSE_BUTTONS: readonly MouseButton[];
|
|
1444
|
+
export declare const MOUSE_LOOK_RADIANS_PER_PIXEL = .002;
|
|
1445
|
+
export declare const MOUSE_LOOK_MAX_PIXELS_PER_EVENT: number;
|
|
1446
|
+
export declare const GAMEPAD_LOOK_RADIANS_PER_SECOND = 2.5;
|
|
1447
|
+
export declare const GAMEPAD_STICK_DEADZONE = .15;
|
|
1448
|
+
//#endregion
|
|
1449
|
+
//#region src/models/input/Input.d.ts
|
|
1450
|
+
export interface Input {
|
|
1451
|
+
dispose: () => void;
|
|
1452
|
+
press: (code: string) => void;
|
|
1453
|
+
readInput: (frameSeconds: number) => InputState;
|
|
1454
|
+
release: (code: string) => void;
|
|
1455
|
+
setTouchStick: (x: number, y: number) => void;
|
|
1456
|
+
turn: (lookYaw: number, lookPitch: number) => void;
|
|
1457
|
+
}
|
|
1458
|
+
//#endregion
|
|
1459
|
+
//#region src/input/createInput.d.ts
|
|
1460
|
+
export declare const createInput: (target: Window) => Input;
|
|
1461
|
+
//#endregion
|
|
360
1462
|
//#region src/kits/architecture/createBoxesGeometry.d.ts
|
|
361
1463
|
export declare const createBoxesGeometry: (boxes: readonly (readonly number[])[]) => BufferGeometry;
|
|
362
1464
|
//#endregion
|
|
1465
|
+
//#region src/models/kits/architecture/RoofKind.d.ts
|
|
1466
|
+
export declare enum RoofKind {
|
|
1467
|
+
Conical = "Conical",
|
|
1468
|
+
Flat = "Flat"
|
|
1469
|
+
}
|
|
1470
|
+
//#endregion
|
|
1471
|
+
//#region src/models/kits/architecture/BuildingOptions.d.ts
|
|
1472
|
+
export interface BuildingOptions {
|
|
1473
|
+
depth: number;
|
|
1474
|
+
platformHeight: number;
|
|
1475
|
+
roofHeight: number;
|
|
1476
|
+
roofKind: RoofKind;
|
|
1477
|
+
wallHeight: number;
|
|
1478
|
+
wallThickness: number;
|
|
1479
|
+
width: number;
|
|
1480
|
+
}
|
|
1481
|
+
//#endregion
|
|
1482
|
+
//#region src/kits/architecture/createBuildingGeometry.d.ts
|
|
1483
|
+
export declare const createBuildingGeometry: ({ depth, platformHeight, roofHeight, roofKind, wallHeight, wallThickness, width }: BuildingOptions) => BufferGeometry;
|
|
1484
|
+
//#endregion
|
|
363
1485
|
//#region src/models/kits/architecture/LatheSection.d.ts
|
|
364
1486
|
export interface LatheSection {
|
|
365
1487
|
bottomRadius: number;
|
|
@@ -377,11 +1499,26 @@ export interface LatheStackOptions {
|
|
|
377
1499
|
//#region src/kits/architecture/createLatheStackGeometry.d.ts
|
|
378
1500
|
export declare const createLatheStackGeometry: ({ isFaceted, radialSegments, sections }: LatheStackOptions) => BufferGeometry;
|
|
379
1501
|
//#endregion
|
|
380
|
-
//#region src/kits/
|
|
381
|
-
export
|
|
1502
|
+
//#region src/models/kits/architecture/PavingStoneShape.d.ts
|
|
1503
|
+
export interface PavingStoneShape {
|
|
1504
|
+
bottom: number;
|
|
1505
|
+
radii: readonly number[];
|
|
1506
|
+
top: number;
|
|
1507
|
+
}
|
|
1508
|
+
//#endregion
|
|
1509
|
+
//#region src/models/kits/architecture/PavingStone.d.ts
|
|
1510
|
+
export interface PavingStone {
|
|
1511
|
+
position: readonly number[];
|
|
1512
|
+
quaternion: readonly number[];
|
|
1513
|
+
scale: readonly number[];
|
|
1514
|
+
shape: PavingStoneShape;
|
|
1515
|
+
}
|
|
1516
|
+
//#endregion
|
|
1517
|
+
//#region src/kits/architecture/createPavingGeometry.d.ts
|
|
1518
|
+
export declare const createPavingGeometry: (stones: readonly PavingStone[]) => BufferGeometry;
|
|
382
1519
|
//#endregion
|
|
383
|
-
//#region src/kits/
|
|
384
|
-
export declare const
|
|
1520
|
+
//#region src/kits/architecture/createPavingStoneGeometry.d.ts
|
|
1521
|
+
export declare const createPavingStoneGeometry: ({ bottom, radii, top }: PavingStoneShape) => BufferGeometry;
|
|
385
1522
|
//#endregion
|
|
386
1523
|
//#region src/models/kits/tree/LeafCards.d.ts
|
|
387
1524
|
export interface LeafCards {
|
|
@@ -391,37 +1528,97 @@ export interface LeafCards {
|
|
|
391
1528
|
uvs: Float32Array;
|
|
392
1529
|
}
|
|
393
1530
|
//#endregion
|
|
1531
|
+
//#region src/kits/createIndexedGeometry.d.ts
|
|
1532
|
+
export declare const createIndexedGeometry: ({ indices, normals, positions, uvs }: LeafCards) => BufferGeometry;
|
|
1533
|
+
//#endregion
|
|
1534
|
+
//#region src/kits/mergeGeometryParts.d.ts
|
|
1535
|
+
export declare const mergeGeometryParts: (parts: BufferGeometry[]) => BufferGeometry;
|
|
1536
|
+
//#endregion
|
|
1537
|
+
//#region src/models/kits/statue/StatueSection.d.ts
|
|
1538
|
+
export interface StatueSection {
|
|
1539
|
+
centre: readonly number[];
|
|
1540
|
+
colors: readonly number[];
|
|
1541
|
+
height: number;
|
|
1542
|
+
radii: readonly number[];
|
|
1543
|
+
}
|
|
1544
|
+
//#endregion
|
|
1545
|
+
//#region src/models/kits/statue/StatueSurface.d.ts
|
|
1546
|
+
export interface StatueSurface {
|
|
1547
|
+
colors: Float32Array;
|
|
1548
|
+
indices: Uint32Array;
|
|
1549
|
+
positions: Float32Array;
|
|
1550
|
+
}
|
|
1551
|
+
//#endregion
|
|
1552
|
+
//#region src/kits/statue/computeStatueSurface.d.ts
|
|
1553
|
+
export declare const computeStatueSurface: (sections: readonly StatueSection[]) => StatueSurface;
|
|
1554
|
+
//#endregion
|
|
1555
|
+
//#region src/models/kits/statue/StatueStack.d.ts
|
|
1556
|
+
export interface StatueStack {
|
|
1557
|
+
position: readonly number[];
|
|
1558
|
+
rotation: readonly number[];
|
|
1559
|
+
sections: StatueSection[];
|
|
1560
|
+
}
|
|
1561
|
+
//#endregion
|
|
1562
|
+
//#region src/models/kits/statue/StatuePart.d.ts
|
|
1563
|
+
export interface StatuePart extends StatueStack {
|
|
1564
|
+
part: string;
|
|
1565
|
+
}
|
|
1566
|
+
//#endregion
|
|
1567
|
+
//#region src/kits/statue/createStatueGeometries.d.ts
|
|
1568
|
+
export declare const createStatueGeometries: (parts: readonly StatuePart[]) => Record<string, BufferGeometry>;
|
|
1569
|
+
//#endregion
|
|
1570
|
+
//#region src/models/kits/tree/TreeCluster.d.ts
|
|
1571
|
+
export interface TreeCluster {
|
|
1572
|
+
leafArea: number;
|
|
1573
|
+
radius: number;
|
|
1574
|
+
x: number;
|
|
1575
|
+
y: number;
|
|
1576
|
+
z: number;
|
|
1577
|
+
}
|
|
1578
|
+
//#endregion
|
|
1579
|
+
//#region src/models/kits/tree/TreeNormalField.d.ts
|
|
1580
|
+
export interface TreeNormalField {
|
|
1581
|
+
cellSize: number;
|
|
1582
|
+
normals: readonly number[];
|
|
1583
|
+
origin: readonly number[];
|
|
1584
|
+
size: readonly number[];
|
|
1585
|
+
}
|
|
1586
|
+
//#endregion
|
|
1587
|
+
//#region src/models/kits/tree/TreeTubePoint.d.ts
|
|
1588
|
+
export interface TreeTubePoint {
|
|
1589
|
+
radius: number;
|
|
1590
|
+
x: number;
|
|
1591
|
+
y: number;
|
|
1592
|
+
z: number;
|
|
1593
|
+
}
|
|
1594
|
+
//#endregion
|
|
1595
|
+
//#region src/models/kits/tree/TreeTube.d.ts
|
|
1596
|
+
export type TreeTube = readonly [TreeTubePoint, TreeTubePoint, ...TreeTubePoint[]];
|
|
1597
|
+
//#endregion
|
|
394
1598
|
//#region src/models/kits/tree/TreeOptions.d.ts
|
|
395
1599
|
export interface TreeOptions {
|
|
396
|
-
branchLength: number;
|
|
397
1600
|
cardSize: number;
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
1601
|
+
clusters: readonly TreeCluster[];
|
|
1602
|
+
leafAreaScale: number;
|
|
1603
|
+
limbs: readonly TreeTube[];
|
|
1604
|
+
normalField?: TreeNormalField;
|
|
1605
|
+
roots: readonly TreeTube[];
|
|
401
1606
|
seed: number;
|
|
402
|
-
trunkHeight: number;
|
|
403
|
-
trunkRadius: number;
|
|
404
1607
|
}
|
|
405
1608
|
//#endregion
|
|
406
1609
|
//#region src/kits/tree/computeLeafCards.d.ts
|
|
407
|
-
export declare const computeLeafCards: (
|
|
408
|
-
//#endregion
|
|
409
|
-
//#region src/models/kits/tree/BranchSegment.d.ts
|
|
410
|
-
export interface BranchSegment {
|
|
411
|
-
end: Vector3;
|
|
412
|
-
endRadius: number;
|
|
413
|
-
start: Vector3;
|
|
414
|
-
startRadius: number;
|
|
415
|
-
}
|
|
1610
|
+
export declare const computeLeafCards: (clusters: readonly TreeCluster[], { cardSize, leafAreaScale, normalField, seed }: Pick<TreeOptions, "cardSize" | "leafAreaScale" | "normalField" | "seed">) => LeafCards;
|
|
416
1611
|
//#endregion
|
|
417
|
-
//#region src/models/kits/tree/
|
|
418
|
-
export interface
|
|
419
|
-
|
|
420
|
-
|
|
1612
|
+
//#region src/models/kits/tree/TreeTubes.d.ts
|
|
1613
|
+
export interface TreeTubes {
|
|
1614
|
+
indices: Uint32Array;
|
|
1615
|
+
normals: Float32Array;
|
|
1616
|
+
positions: Float32Array;
|
|
1617
|
+
uvs: Float32Array;
|
|
421
1618
|
}
|
|
422
1619
|
//#endregion
|
|
423
|
-
//#region src/kits/tree/
|
|
424
|
-
export declare const
|
|
1620
|
+
//#region src/kits/tree/computeTreeTubes.d.ts
|
|
1621
|
+
export declare const computeTreeTubes: (tubes: readonly TreeTube[]) => TreeTubes;
|
|
425
1622
|
//#endregion
|
|
426
1623
|
//#region src/models/kits/tree/TreeGeometry.d.ts
|
|
427
1624
|
export interface TreeGeometry {
|
|
@@ -430,7 +1627,100 @@ export interface TreeGeometry {
|
|
|
430
1627
|
}
|
|
431
1628
|
//#endregion
|
|
432
1629
|
//#region src/kits/tree/createTreeGeometry.d.ts
|
|
433
|
-
export declare const createTreeGeometry: (treeOptions: TreeOptions) => TreeGeometry;
|
|
1630
|
+
export declare const createTreeGeometry: ({ limbs, roots, ...treeOptions }: TreeOptions) => TreeGeometry;
|
|
1631
|
+
//#endregion
|
|
1632
|
+
//#region src/kits/tree/sampleTreeNormalField.d.ts
|
|
1633
|
+
export declare const sampleTreeNormalField: ({ cellSize, normals, origin, size }: TreeNormalField, position: [number, number, number]) => [number, number, number] | undefined;
|
|
1634
|
+
//#endregion
|
|
1635
|
+
//#region src/kits/writeQuadIndices.d.ts
|
|
1636
|
+
export declare const writeQuadIndices: (indices: Uint32Array, indexStart: number, vertexStart: number) => void;
|
|
1637
|
+
//#endregion
|
|
1638
|
+
//#region src/models/locomotion/LocomotionContact.d.ts
|
|
1639
|
+
export interface LocomotionContact {
|
|
1640
|
+
isFacingWall: boolean;
|
|
1641
|
+
isGrounded: boolean;
|
|
1642
|
+
isHighAboveGround: boolean;
|
|
1643
|
+
isInDeepWater: boolean;
|
|
1644
|
+
isRising: boolean;
|
|
1645
|
+
}
|
|
1646
|
+
//#endregion
|
|
1647
|
+
//#region src/models/locomotion/LocomotionInput.d.ts
|
|
1648
|
+
export interface LocomotionInput {
|
|
1649
|
+
isSprintHeld: boolean;
|
|
1650
|
+
isWalking: boolean;
|
|
1651
|
+
moveForward: number;
|
|
1652
|
+
moveRight: number;
|
|
1653
|
+
pressedActions: ReadonlySet<InputAction>;
|
|
1654
|
+
}
|
|
1655
|
+
//#endregion
|
|
1656
|
+
//#region src/locomotion/computeLocomotionState.d.ts
|
|
1657
|
+
export declare const computeLocomotionState: (phase: LocomotionPhase, input: LocomotionInput, contact: LocomotionContact, stamina: number, locomotion: Locomotion) => LocomotionState;
|
|
1658
|
+
//#endregion
|
|
1659
|
+
//#region src/locomotion/constants.d.ts
|
|
1660
|
+
export declare const STAMINA_MAX = 100;
|
|
1661
|
+
export declare const STAMINA_REFILL_PER_SECOND = 25;
|
|
1662
|
+
export declare const STAMINA_REFILL_DELAY_SECONDS = 1.5;
|
|
1663
|
+
export declare const DASH_STAMINA_COST = 18;
|
|
1664
|
+
export declare const SPRINT_STAMINA_PER_SECOND = 18;
|
|
1665
|
+
export declare const CLIMB_JUMP_STAMINA_COST = 25;
|
|
1666
|
+
export declare const SWIM_STROKE_STAMINA_COST = 4;
|
|
1667
|
+
export declare const SWIM_DASH_STAMINA_COST = 2;
|
|
1668
|
+
export declare const SWIM_DASH_STAMINA_PER_SECOND = 10.2;
|
|
1669
|
+
export declare const CLIMB_START_STAMINA = 5;
|
|
1670
|
+
export declare const GLIDE_STAMINA_PER_SECOND = 3;
|
|
1671
|
+
export declare const CLIMB_STAMINA_PER_SECOND = 2;
|
|
1672
|
+
export declare const SWIM_STROKE_SECONDS = 1.67;
|
|
1673
|
+
export declare const STAMINA_REFILL_STATES: readonly LocomotionState[];
|
|
1674
|
+
export declare const AIR_LOCOMOTION_STATES: readonly LocomotionState[];
|
|
1675
|
+
export declare const CLIMB_LOCOMOTION_STATES: readonly LocomotionState[];
|
|
1676
|
+
export declare const WATER_LOCOMOTION_STATES: readonly LocomotionState[];
|
|
1677
|
+
export declare const GROUND_LOCOMOTION_STATES: readonly LocomotionState[];
|
|
1678
|
+
export declare const WALK_MOVE_MAGNITUDE = .5;
|
|
1679
|
+
export declare const GROUND_CONTACT_DISTANCE = .05;
|
|
1680
|
+
export declare const GROUND_PRESS_SPEED = 1;
|
|
1681
|
+
export declare const WALL_PRESS_SPEED = 1;
|
|
1682
|
+
export declare const WALL_PROBE_DISTANCE = .1;
|
|
1683
|
+
export declare const STEEP_SLIDE_SPEED = 4;
|
|
1684
|
+
export declare const CLIMB_REGRAB_SECONDS = .5;
|
|
1685
|
+
//#endregion
|
|
1686
|
+
//#region src/models/locomotion/Stamina.d.ts
|
|
1687
|
+
export interface Stamina {
|
|
1688
|
+
checkCanSpend: (amount: number) => boolean;
|
|
1689
|
+
maximum: number;
|
|
1690
|
+
refill: () => void;
|
|
1691
|
+
spend: (amount: number) => void;
|
|
1692
|
+
step: (phase: LocomotionPhase, isEntered: boolean, isMoving: boolean, stepSeconds: number) => void;
|
|
1693
|
+
value: number;
|
|
1694
|
+
}
|
|
1695
|
+
//#endregion
|
|
1696
|
+
//#region src/models/locomotion/CharacterController.d.ts
|
|
1697
|
+
export interface CharacterController {
|
|
1698
|
+
face: (facing: number) => void;
|
|
1699
|
+
readonly facing: number;
|
|
1700
|
+
readonly heldPresses: ReadonlySet<InputAction>;
|
|
1701
|
+
holdPresses: (input: InputState) => void;
|
|
1702
|
+
readonly phase: Readonly<LocomotionPhase>;
|
|
1703
|
+
place: (position: Vector3, facing: number) => void;
|
|
1704
|
+
readonly position: Vector3;
|
|
1705
|
+
readonly previousPosition: Vector3;
|
|
1706
|
+
readonly stamina: Stamina;
|
|
1707
|
+
step: (input: InputState, cameraYaw: number, locomotion: Locomotion, stepSeconds: number) => void;
|
|
1708
|
+
}
|
|
1709
|
+
//#endregion
|
|
1710
|
+
//#region src/models/locomotion/CharacterControllerOptions.d.ts
|
|
1711
|
+
export interface CharacterControllerOptions {
|
|
1712
|
+
getStaminaConsumptionMultiplier?: () => number;
|
|
1713
|
+
ground: GroundQuery;
|
|
1714
|
+
landmarkCollider: LandmarkCollider;
|
|
1715
|
+
position: Vector3;
|
|
1716
|
+
staminaMaximum: number;
|
|
1717
|
+
}
|
|
1718
|
+
//#endregion
|
|
1719
|
+
//#region src/locomotion/createCharacterController.d.ts
|
|
1720
|
+
export declare const createCharacterController: ({ getStaminaConsumptionMultiplier, ground, landmarkCollider, position, staminaMaximum }: CharacterControllerOptions) => CharacterController;
|
|
1721
|
+
//#endregion
|
|
1722
|
+
//#region src/locomotion/createStamina.d.ts
|
|
1723
|
+
export declare const createStamina: (maximum: number, getStaminaConsumptionMultiplier?: () => number) => Stamina;
|
|
434
1724
|
//#endregion
|
|
435
1725
|
//#region src/materials/addSmoothLoop.d.ts
|
|
436
1726
|
export declare const addSmoothLoop: (path: Path2D, points: readonly (readonly [number, number])[]) => void;
|
|
@@ -438,21 +1728,137 @@ export declare const addSmoothLoop: (path: Path2D, points: readonly (readonly [n
|
|
|
438
1728
|
//#region src/models/materials/RampOptions.d.ts
|
|
439
1729
|
export interface RampOptions {
|
|
440
1730
|
resolution: number;
|
|
1731
|
+
shade: number;
|
|
441
1732
|
softness: number;
|
|
442
1733
|
terminator: number;
|
|
443
1734
|
}
|
|
444
1735
|
//#endregion
|
|
445
1736
|
//#region src/materials/computeRampValues.d.ts
|
|
446
|
-
export declare const computeRampValues: ({ resolution, softness, terminator }: RampOptions) => Uint8Array;
|
|
1737
|
+
export declare const computeRampValues: ({ resolution, shade, softness, terminator }: RampOptions) => Uint8Array;
|
|
447
1738
|
//#endregion
|
|
448
1739
|
//#region src/materials/createRampTexture.d.ts
|
|
449
1740
|
export declare const createRampTexture: (rampOptions: RampOptions) => DataTexture;
|
|
450
1741
|
//#endregion
|
|
1742
|
+
//#region src/models/character/PmxBoneFlag.d.ts
|
|
1743
|
+
export declare enum PmxBoneFlag {
|
|
1744
|
+
IndexedTail = 1,
|
|
1745
|
+
InverseKinematics = 32,
|
|
1746
|
+
InheritRotation = 256,
|
|
1747
|
+
InheritTranslation = 512,
|
|
1748
|
+
FixedAxis = 1024,
|
|
1749
|
+
LocalAxes = 2048,
|
|
1750
|
+
ExternalParent = 8192
|
|
1751
|
+
}
|
|
1752
|
+
//#endregion
|
|
1753
|
+
//#region src/models/character/PmxMaterialFlag.d.ts
|
|
1754
|
+
export declare enum PmxMaterialFlag {
|
|
1755
|
+
DoubleSided = 1,
|
|
1756
|
+
Outlined = 16
|
|
1757
|
+
}
|
|
1758
|
+
//#endregion
|
|
1759
|
+
//#region src/models/character/PmxTextEncoding.d.ts
|
|
1760
|
+
export declare enum PmxTextEncoding {
|
|
1761
|
+
Utf16LittleEndian = 0,
|
|
1762
|
+
Utf8 = 1
|
|
1763
|
+
}
|
|
1764
|
+
//#endregion
|
|
1765
|
+
//#region src/models/character/PmxWeightDeform.d.ts
|
|
1766
|
+
export declare enum PmxWeightDeform {
|
|
1767
|
+
OneBone = 0,
|
|
1768
|
+
TwoBones = 1,
|
|
1769
|
+
FourBones = 2,
|
|
1770
|
+
Spherical = 3,
|
|
1771
|
+
DualQuaternion = 4
|
|
1772
|
+
}
|
|
1773
|
+
//#endregion
|
|
1774
|
+
//#region src/models/vegetation/Impostor.d.ts
|
|
1775
|
+
export interface Impostor {
|
|
1776
|
+
albedoTarget: RenderTarget;
|
|
1777
|
+
bottom: number;
|
|
1778
|
+
height: number;
|
|
1779
|
+
normalTarget: RenderTarget;
|
|
1780
|
+
width: number;
|
|
1781
|
+
}
|
|
1782
|
+
//#endregion
|
|
1783
|
+
//#region src/models/nodes/ImpostorMaterialOptions.d.ts
|
|
1784
|
+
export interface ImpostorMaterialOptions {
|
|
1785
|
+
fade: Node<"float">;
|
|
1786
|
+
impostor: Impostor;
|
|
1787
|
+
lightUniforms: LightUniforms;
|
|
1788
|
+
rampTexture: DataTexture;
|
|
1789
|
+
}
|
|
1790
|
+
//#endregion
|
|
1791
|
+
//#region src/models/nodes/ObjectSurface.d.ts
|
|
1792
|
+
export declare class ObjectSurface {
|
|
1793
|
+
amplitudes: number[];
|
|
1794
|
+
color: Color;
|
|
1795
|
+
texelsPerMetre: number;
|
|
1796
|
+
constructor(color: Color, amplitudes: number[], texelsPerMetre: number);
|
|
1797
|
+
}
|
|
1798
|
+
//#endregion
|
|
1799
|
+
//#region src/models/wind/WindUniforms.d.ts
|
|
1800
|
+
export interface WindUniforms {
|
|
1801
|
+
direction: UniformNode<"vec2", Vector2>;
|
|
1802
|
+
gustSpeed: UniformNode<"float", number>;
|
|
1803
|
+
gustStrength: UniformNode<"float", number>;
|
|
1804
|
+
gustWidth: UniformNode<"float", number>;
|
|
1805
|
+
strength: UniformNode<"float", number>;
|
|
1806
|
+
}
|
|
1807
|
+
//#endregion
|
|
1808
|
+
//#region src/models/nodes/PrecipitationMaterialOptions.d.ts
|
|
1809
|
+
export interface PrecipitationMaterialOptions {
|
|
1810
|
+
lightUniforms: LightUniforms;
|
|
1811
|
+
precipitationUniforms: PrecipitationUniforms;
|
|
1812
|
+
windUniforms: WindUniforms;
|
|
1813
|
+
}
|
|
1814
|
+
//#endregion
|
|
1815
|
+
//#region src/models/nodes/SharedToonOutlinePassNode.d.ts
|
|
1816
|
+
export declare class SharedToonOutlinePassNode extends ToonOutlinePassNode {
|
|
1817
|
+
#private;
|
|
1818
|
+
alphaNode: Node<"float">;
|
|
1819
|
+
colorNode: Node<"vec3">;
|
|
1820
|
+
thicknessNode: Node<"float">;
|
|
1821
|
+
_getOutlineMaterial(originalMaterial: Material$1): NodeMaterial;
|
|
1822
|
+
override compileAsync(renderer: Renderer): Promise<void>;
|
|
1823
|
+
override updateBefore(frame: NodeFrame): boolean | undefined;
|
|
1824
|
+
}
|
|
1825
|
+
//#endregion
|
|
1826
|
+
//#region src/models/vegetation/GroundCapture.d.ts
|
|
1827
|
+
export interface GroundCapture {
|
|
1828
|
+
camera: OrthographicCamera;
|
|
1829
|
+
center: UniformNode<"vec2", Vector2>;
|
|
1830
|
+
material: MeshBasicNodeMaterial;
|
|
1831
|
+
renderTarget: RenderTarget;
|
|
1832
|
+
size: number;
|
|
1833
|
+
}
|
|
1834
|
+
//#endregion
|
|
1835
|
+
//#region src/models/water/WaterUniforms.d.ts
|
|
1836
|
+
export interface WaterUniforms {
|
|
1837
|
+
causticStrength: UniformNode<"float", number>;
|
|
1838
|
+
deepColor: UniformNode<"color", Color>;
|
|
1839
|
+
deepDepth: UniformNode<"float", number>;
|
|
1840
|
+
foamColor: UniformNode<"color", Color>;
|
|
1841
|
+
foamDepth: UniformNode<"float", number>;
|
|
1842
|
+
level: UniformNode<"float", number>;
|
|
1843
|
+
shallowColor: UniformNode<"color", Color>;
|
|
1844
|
+
underwaterFogColor: UniformNode<"color", Color>;
|
|
1845
|
+
underwaterFogDensity: UniformNode<"float", number>;
|
|
1846
|
+
}
|
|
1847
|
+
//#endregion
|
|
1848
|
+
//#region src/models/nodes/SplashMaterialOptions.d.ts
|
|
1849
|
+
export interface SplashMaterialOptions {
|
|
1850
|
+
groundCapture: GroundCapture;
|
|
1851
|
+
lightUniforms: LightUniforms;
|
|
1852
|
+
precipitationUniforms: PrecipitationUniforms;
|
|
1853
|
+
waterUniforms: WaterUniforms;
|
|
1854
|
+
}
|
|
1855
|
+
//#endregion
|
|
451
1856
|
//#region src/models/nodes/StoneLight.d.ts
|
|
452
1857
|
export interface StoneLight {
|
|
453
1858
|
harmonics: (readonly number[])[];
|
|
454
1859
|
hazeColor: readonly number[];
|
|
455
1860
|
hazeScatterColor: readonly number[];
|
|
1861
|
+
heightDarkening: number;
|
|
456
1862
|
heightFade: readonly number[];
|
|
457
1863
|
ramp: (readonly number[])[];
|
|
458
1864
|
}
|
|
@@ -462,6 +1868,7 @@ export interface StoneLightUniforms {
|
|
|
462
1868
|
harmonics: UniformArrayNode<"vec3">;
|
|
463
1869
|
hazeColor: UniformNode<"color", Color>;
|
|
464
1870
|
hazeScatterColor: UniformNode<"color", Color>;
|
|
1871
|
+
heightDarkening: UniformNode<"float", number>;
|
|
465
1872
|
heightFade: UniformNode<"color", Color>;
|
|
466
1873
|
ramp: DataTexture;
|
|
467
1874
|
sunRadiance: UniformNode<"color", Color>;
|
|
@@ -471,6 +1878,7 @@ export interface StoneLightUniforms {
|
|
|
471
1878
|
export declare class StoneLightingModel extends LightingModel {
|
|
472
1879
|
readonly stoneLight: StoneLightUniforms;
|
|
473
1880
|
constructor(stoneLight: StoneLightUniforms);
|
|
1881
|
+
createDarkeningNode(): Node<"float">;
|
|
474
1882
|
override direct({ lightColor, lightDirection, reflectedLight }: LightingModelDirectInput): void;
|
|
475
1883
|
override indirect(builder: NodeBuilder): void;
|
|
476
1884
|
}
|
|
@@ -478,6 +1886,7 @@ export declare class StoneLightingModel extends LightingModel {
|
|
|
478
1886
|
//#region src/models/nodes/StoneMaterialOptions.d.ts
|
|
479
1887
|
export interface StoneMaterialOptions {
|
|
480
1888
|
albedo: string;
|
|
1889
|
+
glowRange: number;
|
|
481
1890
|
rimColor: readonly number[];
|
|
482
1891
|
rimPower: number;
|
|
483
1892
|
rimStrength: number;
|
|
@@ -493,21 +1902,30 @@ export declare class StoneNodeMaterial extends NodeMaterial {
|
|
|
493
1902
|
override setupLightingModel(): StoneLightingModel;
|
|
494
1903
|
}
|
|
495
1904
|
//#endregion
|
|
1905
|
+
//#region src/models/nodes/SurfaceDetail.d.ts
|
|
1906
|
+
export interface SurfaceDetail {
|
|
1907
|
+
bands: number[];
|
|
1908
|
+
metresPerTexel: number;
|
|
1909
|
+
variance: number;
|
|
1910
|
+
}
|
|
1911
|
+
//#endregion
|
|
496
1912
|
//#region src/models/nodes/ToonMaterialOptions.d.ts
|
|
497
1913
|
export interface ToonMaterialOptions {
|
|
498
1914
|
color?: ColorRepresentation;
|
|
1915
|
+
detail?: SurfaceDetail;
|
|
1916
|
+
isObjectSurface?: boolean;
|
|
499
1917
|
isOutlined?: boolean;
|
|
500
1918
|
isVertexColors?: boolean;
|
|
501
1919
|
lightUniforms: LightUniforms;
|
|
502
1920
|
rampTexture: DataTexture;
|
|
503
1921
|
}
|
|
504
1922
|
//#endregion
|
|
505
|
-
//#region src/models/nodes/
|
|
506
|
-
export declare
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
1923
|
+
//#region src/models/nodes/createOutlineMaterial.d.ts
|
|
1924
|
+
export declare const createOutlineMaterial: (colorNode: Node<"vec4">, thicknessNode: Node<"float">) => NodeMaterial;
|
|
1925
|
+
export declare const createGameOutlineMaterial: (colorNode: Node<"vec4">, widthNode: Node<"float">, offsetNode: Node<"float">) => NodeMaterial;
|
|
1926
|
+
//#endregion
|
|
1927
|
+
//#region src/models/nodes/getGameOutlineOffset.d.ts
|
|
1928
|
+
export declare const getGameOutlineOffset: (viewPosition: Vector3, blue: number, blockBChannel: number, size: number) => Vector3;
|
|
511
1929
|
//#endregion
|
|
512
1930
|
//#region src/models/post/GradeOptions.d.ts
|
|
513
1931
|
export interface GradeOptions {
|
|
@@ -521,11 +1939,19 @@ export interface GradeOptions {
|
|
|
521
1939
|
//#region src/models/post/PostPipeline.d.ts
|
|
522
1940
|
export interface PostPipeline {
|
|
523
1941
|
bloomNode?: BloomNode;
|
|
1942
|
+
compileAsync: () => Promise<void>;
|
|
524
1943
|
dispose: () => void;
|
|
525
1944
|
godraysNode?: GodraysNode;
|
|
526
1945
|
renderPipeline: RenderPipeline;
|
|
527
1946
|
}
|
|
528
1947
|
//#endregion
|
|
1948
|
+
//#region src/models/post/SightUniforms.d.ts
|
|
1949
|
+
export interface SightUniforms {
|
|
1950
|
+
origin: UniformNode<"vec2", Vector2>;
|
|
1951
|
+
radius: UniformNode<"float", number>;
|
|
1952
|
+
strength: UniformNode<"float", number>;
|
|
1953
|
+
}
|
|
1954
|
+
//#endregion
|
|
529
1955
|
//#region src/models/renderer/AntialiasingMode.d.ts
|
|
530
1956
|
export declare enum AntialiasingMode {
|
|
531
1957
|
Smaa = "Smaa",
|
|
@@ -556,6 +1982,10 @@ export interface PostPipelineOptions {
|
|
|
556
1982
|
qualityTierSettings: QualityTierSettings;
|
|
557
1983
|
renderer: Renderer;
|
|
558
1984
|
scene: Scene;
|
|
1985
|
+
sight?: {
|
|
1986
|
+
litScene: Scene;
|
|
1987
|
+
uniforms: SightUniforms;
|
|
1988
|
+
};
|
|
559
1989
|
stoneLight?: StoneLightUniforms;
|
|
560
1990
|
}
|
|
561
1991
|
//#endregion
|
|
@@ -578,7 +2008,9 @@ export interface ScreenCamera {
|
|
|
578
2008
|
export interface SceneMaterial {
|
|
579
2009
|
colors: Record<string, [number, number, number, number]>;
|
|
580
2010
|
floats: Record<string, number>;
|
|
2011
|
+
keywords: string[];
|
|
581
2012
|
name: string;
|
|
2013
|
+
shader?: string;
|
|
582
2014
|
textures: Record<string, {
|
|
583
2015
|
name: string;
|
|
584
2016
|
offset: [number, number];
|
|
@@ -601,6 +2033,12 @@ export interface SceneLayout {
|
|
|
601
2033
|
placements: ScenePlacement[];
|
|
602
2034
|
}
|
|
603
2035
|
//#endregion
|
|
2036
|
+
//#region src/models/simulation/FixedStepLoop.d.ts
|
|
2037
|
+
export interface FixedStepLoop {
|
|
2038
|
+
advance: (deltaSeconds: number) => void;
|
|
2039
|
+
getStepShare: () => number;
|
|
2040
|
+
}
|
|
2041
|
+
//#endregion
|
|
604
2042
|
//#region src/models/terrain/TerrainSelection.d.ts
|
|
605
2043
|
export interface TerrainSelection {
|
|
606
2044
|
count: number;
|
|
@@ -610,9 +2048,13 @@ export interface TerrainSelection {
|
|
|
610
2048
|
//#region src/models/streaming/TileStreamer.d.ts
|
|
611
2049
|
export interface TileStreamer<TTile> {
|
|
612
2050
|
dispose: () => void;
|
|
2051
|
+
fail: (key: number) => boolean;
|
|
613
2052
|
get: (key: number) => TTile | undefined;
|
|
614
2053
|
has: (key: number) => boolean;
|
|
2054
|
+
isSettled: (key: number) => boolean;
|
|
2055
|
+
pendingKeys: () => number[];
|
|
615
2056
|
receive: (key: number, tile: TTile) => void;
|
|
2057
|
+
refresh: (checkIsChanged: (key: number) => boolean) => void;
|
|
616
2058
|
update: (wanted: TerrainSelection, drawn: TerrainSelection, surrounding: TerrainSelection) => void;
|
|
617
2059
|
}
|
|
618
2060
|
//#endregion
|
|
@@ -624,46 +2066,25 @@ export interface TileStreamerOptions<TTile> {
|
|
|
624
2066
|
requestTile: (key: number) => void;
|
|
625
2067
|
}
|
|
626
2068
|
//#endregion
|
|
627
|
-
//#region src/models/terrain/
|
|
628
|
-
export interface
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
2069
|
+
//#region src/models/terrain/TerrainBounds.d.ts
|
|
2070
|
+
export interface TerrainBounds {
|
|
2071
|
+
maxX: number;
|
|
2072
|
+
maxZ: number;
|
|
2073
|
+
minX: number;
|
|
2074
|
+
minZ: number;
|
|
633
2075
|
}
|
|
634
2076
|
//#endregion
|
|
635
|
-
//#region src/models/terrain/
|
|
636
|
-
export interface
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
export interface TerrainOptions {
|
|
643
|
-
cellsPerSide: number;
|
|
644
|
-
finestRange: number;
|
|
645
|
-
finestTileSize: number;
|
|
646
|
-
levelCount: number;
|
|
647
|
-
maxHeight: number;
|
|
648
|
-
minHeight: number;
|
|
649
|
-
morphShare: number;
|
|
650
|
-
}
|
|
651
|
-
//#endregion
|
|
652
|
-
//#region src/models/terrain/TerrainTile.d.ts
|
|
653
|
-
export interface TerrainTile {
|
|
654
|
-
coarsePositions: Float32Array;
|
|
655
|
-
colors: Float32Array;
|
|
656
|
-
key: number;
|
|
657
|
-
normals: Float32Array;
|
|
658
|
-
positions: Float32Array;
|
|
2077
|
+
//#region src/models/terrain/TerrainRing.d.ts
|
|
2078
|
+
export interface TerrainRing {
|
|
2079
|
+
add: (tile: TerrainTile) => void;
|
|
2080
|
+
dispose: () => void;
|
|
2081
|
+
draw: (keys: readonly number[]) => void;
|
|
2082
|
+
mesh: Mesh;
|
|
2083
|
+
remove: (key: number) => void;
|
|
659
2084
|
}
|
|
660
2085
|
//#endregion
|
|
661
|
-
//#region src/models/terrain/
|
|
662
|
-
export
|
|
663
|
-
getHeight: (x: number, z: number) => number;
|
|
664
|
-
key: number;
|
|
665
|
-
writeColor: (colors: Float32Array, offset: number, height: number, slope: number, x: number, z: number) => void;
|
|
666
|
-
}
|
|
2086
|
+
//#region src/models/terrain/TerrainTileArrays.d.ts
|
|
2087
|
+
export type TerrainTileArrays = Pick<TerrainTile, "coarseColors" | "coarseNormals" | "coarsePositions" | "colors" | "normals" | "positions">;
|
|
667
2088
|
//#endregion
|
|
668
2089
|
//#region src/models/vegetation/GrassBlade.d.ts
|
|
669
2090
|
export interface GrassBlade {
|
|
@@ -681,37 +2102,6 @@ export interface GrassRing {
|
|
|
681
2102
|
spacing: number;
|
|
682
2103
|
}
|
|
683
2104
|
//#endregion
|
|
684
|
-
//#region src/models/vegetation/GroundCapture.d.ts
|
|
685
|
-
export interface GroundCapture {
|
|
686
|
-
camera: OrthographicCamera;
|
|
687
|
-
center: UniformNode<"vec2", Vector2>;
|
|
688
|
-
material: MeshBasicNodeMaterial;
|
|
689
|
-
renderTarget: RenderTarget;
|
|
690
|
-
size: number;
|
|
691
|
-
}
|
|
692
|
-
//#endregion
|
|
693
|
-
//#region src/models/water/WaterUniforms.d.ts
|
|
694
|
-
export interface WaterUniforms {
|
|
695
|
-
causticStrength: UniformNode<"float", number>;
|
|
696
|
-
deepColor: UniformNode<"color", Color>;
|
|
697
|
-
deepDepth: UniformNode<"float", number>;
|
|
698
|
-
foamColor: UniformNode<"color", Color>;
|
|
699
|
-
foamDepth: UniformNode<"float", number>;
|
|
700
|
-
level: UniformNode<"float", number>;
|
|
701
|
-
shallowColor: UniformNode<"color", Color>;
|
|
702
|
-
underwaterFogColor: UniformNode<"color", Color>;
|
|
703
|
-
underwaterFogDensity: UniformNode<"float", number>;
|
|
704
|
-
}
|
|
705
|
-
//#endregion
|
|
706
|
-
//#region src/models/wind/WindUniforms.d.ts
|
|
707
|
-
export interface WindUniforms {
|
|
708
|
-
direction: UniformNode<"vec2", Vector2>;
|
|
709
|
-
gustSpeed: UniformNode<"float", number>;
|
|
710
|
-
gustStrength: UniformNode<"float", number>;
|
|
711
|
-
gustWidth: UniformNode<"float", number>;
|
|
712
|
-
strength: UniformNode<"float", number>;
|
|
713
|
-
}
|
|
714
|
-
//#endregion
|
|
715
2105
|
//#region src/models/vegetation/GrassOptions.d.ts
|
|
716
2106
|
export interface GrassOptions {
|
|
717
2107
|
bladeHeight: number;
|
|
@@ -726,6 +2116,21 @@ export interface GrassOptions {
|
|
|
726
2116
|
windUniforms: WindUniforms;
|
|
727
2117
|
}
|
|
728
2118
|
//#endregion
|
|
2119
|
+
//#region src/models/vegetation/ImpostorPart.d.ts
|
|
2120
|
+
export interface ImpostorPart {
|
|
2121
|
+
color: ColorRepresentation;
|
|
2122
|
+
geometry: BufferGeometry;
|
|
2123
|
+
opacityNode?: Node<"float">;
|
|
2124
|
+
}
|
|
2125
|
+
//#endregion
|
|
2126
|
+
//#region src/models/water/RiverCoursePoint.d.ts
|
|
2127
|
+
export interface RiverCoursePoint {
|
|
2128
|
+
level: number;
|
|
2129
|
+
width: number;
|
|
2130
|
+
x: number;
|
|
2131
|
+
z: number;
|
|
2132
|
+
}
|
|
2133
|
+
//#endregion
|
|
729
2134
|
//#region src/models/water/UnderwaterFogState.d.ts
|
|
730
2135
|
export interface UnderwaterFogState {
|
|
731
2136
|
aboveDensity: number;
|
|
@@ -733,6 +2138,21 @@ export interface UnderwaterFogState {
|
|
|
733
2138
|
aboveMaxOpacity: number;
|
|
734
2139
|
aboveStartDistance: number;
|
|
735
2140
|
isUnderwater: boolean;
|
|
2141
|
+
underwaterDensity: number;
|
|
2142
|
+
}
|
|
2143
|
+
//#endregion
|
|
2144
|
+
//#region src/models/water/WaterFlow.d.ts
|
|
2145
|
+
export interface WaterFlow {
|
|
2146
|
+
direction: UniformNode<"vec2", Vector2>;
|
|
2147
|
+
speed: UniformNode<"float", number>;
|
|
2148
|
+
}
|
|
2149
|
+
//#endregion
|
|
2150
|
+
//#region src/models/water/WaterfallSheet.d.ts
|
|
2151
|
+
export interface WaterfallSheet {
|
|
2152
|
+
across: Vector3;
|
|
2153
|
+
drop: number;
|
|
2154
|
+
lip: Vector3;
|
|
2155
|
+
width: number;
|
|
736
2156
|
}
|
|
737
2157
|
//#endregion
|
|
738
2158
|
//#region src/models/world/GroundPoint.d.ts
|
|
@@ -742,7 +2162,10 @@ export interface GroundPoint {
|
|
|
742
2162
|
}
|
|
743
2163
|
//#endregion
|
|
744
2164
|
//#region src/nodes/applyStoneLight.d.ts
|
|
745
|
-
export declare const applyStoneLight: ({ harmonics, hazeColor, hazeScatterColor, heightFade, ramp }: StoneLight, { harmonics: harmonicsUniform, hazeColor: hazeColorUniform, hazeScatterColor: hazeScatterColorUniform, heightFade: heightFadeUniform, ramp: rampTexture, sunRadiance }: StoneLightUniforms, light: DirectionalLight) => void;
|
|
2165
|
+
export declare const applyStoneLight: ({ harmonics, hazeColor, hazeScatterColor, heightDarkening, heightFade, ramp }: StoneLight, { harmonics: harmonicsUniform, hazeColor: hazeColorUniform, hazeScatterColor: hazeScatterColorUniform, heightDarkening: heightDarkeningUniform, heightFade: heightFadeUniform, ramp: rampTexture, sunRadiance }: StoneLightUniforms, light: DirectionalLight) => void;
|
|
2166
|
+
//#endregion
|
|
2167
|
+
//#region src/nodes/computeStoneDarkening.d.ts
|
|
2168
|
+
export declare const computeStoneDarkening: (height: number, heightDarkening: number) => number;
|
|
746
2169
|
//#endregion
|
|
747
2170
|
//#region src/nodes/computeStoneHarmonics.d.ts
|
|
748
2171
|
export declare const computeStoneHarmonics: ([x, y, z]: readonly number[], harmonics: number[]) => void;
|
|
@@ -750,6 +2173,13 @@ export declare const computeStoneHarmonics: ([x, y, z]: readonly number[], harmo
|
|
|
750
2173
|
//#region src/nodes/computeStoneRampCoordinate.d.ts
|
|
751
2174
|
export declare const computeStoneRampCoordinate: (facing: number, visibility: number) => number;
|
|
752
2175
|
//#endregion
|
|
2176
|
+
//#region src/nodes/computeSurfaceOctaves.d.ts
|
|
2177
|
+
export interface SurfaceOctave {
|
|
2178
|
+
amplitude: number;
|
|
2179
|
+
frequency: number;
|
|
2180
|
+
}
|
|
2181
|
+
export declare const computeSurfaceOctaves: ({ bands, metresPerTexel, variance }: SurfaceDetail) => SurfaceOctave[];
|
|
2182
|
+
//#endregion
|
|
753
2183
|
//#region src/nodes/constants.d.ts
|
|
754
2184
|
export declare const LEAST_DIVISOR = 1e-4;
|
|
755
2185
|
export declare const STONE_SHADOW_EXPONENT = .2;
|
|
@@ -757,16 +2187,51 @@ export declare const STONE_RAMP_KNOT_COUNT = 16;
|
|
|
757
2187
|
export declare const STONE_HARMONIC_COUNT = 9;
|
|
758
2188
|
export declare const STONE_MASK_OUTPUT = "stoneMask";
|
|
759
2189
|
export declare const STONE_HEIGHT_FALLOFF = .05;
|
|
2190
|
+
export declare const STONE_DARKENING_TOP = 20;
|
|
2191
|
+
export declare const WET_DARKENING = .35;
|
|
2192
|
+
export declare const WET_SHEEN_POWER = 32;
|
|
2193
|
+
export declare const WET_SHEEN_STRENGTH = .25;
|
|
2194
|
+
export declare const SURFACE_DETAIL_BAND_SIGMAS: number[];
|
|
2195
|
+
export declare const SURFACE_OCTAVE_TEXEL_FREQUENCIES: number[];
|
|
2196
|
+
export declare const SURFACE_DETAIL_RENDER_GAIN = 4;
|
|
2197
|
+
export declare const OBJECT_SURFACE_KEY = "surface";
|
|
2198
|
+
export declare const OBJECT_FADE_KEY = "fade";
|
|
2199
|
+
export declare const LEAF_SHAPE_WIDTH = .8;
|
|
2200
|
+
export declare const LEAF_SHAPE_KEPT_SHARE: number;
|
|
760
2201
|
//#endregion
|
|
761
2202
|
//#region src/nodes/createCausticsNode.d.ts
|
|
762
2203
|
export declare const createCausticsNode: ({ lightColor }: Pick<LightUniforms, "lightColor">, { causticStrength, deepDepth, level }: Pick<WaterUniforms, "causticStrength" | "deepDepth" | "level">) => Node<"vec3">;
|
|
763
2204
|
//#endregion
|
|
2205
|
+
//#region src/nodes/createCloudLayerNode.d.ts
|
|
2206
|
+
export declare const createCloudLayerNode: ({ center, curl, curlAmplitude, curlSpeed, curlTiling, density, direction: cloudDirection, elapsedTime, height: layerHeight, lightDirection, normal, normalYScale, opacity, profile, smoothness, sunBrightness, sunRimLightRadius, tiling, turn, weather, wisps, wispsCoverage, wispsElapsedTime, wispsOpacity, wispsTurn }: CloudLayerUniforms, { cloudCoverage, cloudFrontBackBlend, cloudLitBackColor, cloudLitColor, cloudShadeBackColor, cloudShadeColor, cloudSunBrighten, moonDirection, moonGlowColor, sunDirection, sunHaloColor, sunHaloSize }: SkyUniforms, direction: Node<"vec3">) => Node<"vec4">;
|
|
2207
|
+
//#endregion
|
|
2208
|
+
//#region src/nodes/createDitherFadeNode.d.ts
|
|
2209
|
+
export declare const createDitherFadeNode: (visibility: Node<"float">) => Node<"bool">;
|
|
2210
|
+
//#endregion
|
|
2211
|
+
//#region src/nodes/createImpostorMaterial.d.ts
|
|
2212
|
+
export declare const createImpostorMaterial: ({ fade, impostor, lightUniforms, rampTexture }: ImpostorMaterialOptions) => ToonNodeMaterial;
|
|
2213
|
+
//#endregion
|
|
764
2214
|
//#region src/nodes/createLeafMaterial.d.ts
|
|
765
2215
|
export declare const createLeafMaterial: (toonMaterialOptions: ToonMaterialOptions, windUniforms?: WindUniforms) => ToonNodeMaterial;
|
|
766
2216
|
//#endregion
|
|
2217
|
+
//#region src/nodes/createLeafShapeNode.d.ts
|
|
2218
|
+
export declare const createLeafShapeNode: () => Node<"float">;
|
|
2219
|
+
//#endregion
|
|
767
2220
|
//#region src/nodes/createLightUniforms.d.ts
|
|
768
2221
|
export declare const createLightUniforms: () => LightUniforms;
|
|
769
2222
|
//#endregion
|
|
2223
|
+
//#region src/nodes/createLightningBoltMaterial.d.ts
|
|
2224
|
+
export declare const createLightningBoltMaterial: (flash: UniformNode<"float", number>) => MeshBasicNodeMaterial;
|
|
2225
|
+
//#endregion
|
|
2226
|
+
//#region src/nodes/createObjectFadeNode.d.ts
|
|
2227
|
+
export declare const createObjectFadeNode: () => Node<"float">;
|
|
2228
|
+
//#endregion
|
|
2229
|
+
//#region src/nodes/createObjectSurfaceNode.d.ts
|
|
2230
|
+
export declare const createObjectSurfaceNode: () => Node<"vec3">;
|
|
2231
|
+
//#endregion
|
|
2232
|
+
//#region src/nodes/createPrecipitationMaterial.d.ts
|
|
2233
|
+
export declare const createPrecipitationMaterial: ({ lightUniforms, precipitationUniforms, windUniforms }: PrecipitationMaterialOptions) => MeshBasicNodeMaterial;
|
|
2234
|
+
//#endregion
|
|
770
2235
|
//#region src/nodes/createRimNode.d.ts
|
|
771
2236
|
export declare const createRimNode: ({ rimColor, rimStrength, sunDirection }: LightUniforms) => Node<"vec3">;
|
|
772
2237
|
//#endregion
|
|
@@ -774,32 +2239,84 @@ export declare const createRimNode: ({ rimColor, rimStrength, sunDirection }: Li
|
|
|
774
2239
|
export declare const createSkyColorNode: ({ frontBackBlend, haloColor, haloHeight, horizonBackColor, horizonBand, horizonColor, sunDirection, sunHaloColor, sunHaloSize, zenithBackColor, zenithColor }: SkyUniforms, gradient: Texture, direction: Node<"vec3">) => Node<"vec3">;
|
|
775
2240
|
//#endregion
|
|
776
2241
|
//#region src/nodes/createSkyNode.d.ts
|
|
777
|
-
export declare const createSkyNode: (uniforms: SkyUniforms, gradient: Texture) => Node<"vec3">;
|
|
2242
|
+
export declare const createSkyNode: (uniforms: SkyUniforms, gradient: Texture, cloudLayer?: CloudLayerUniforms) => Node<"vec3">;
|
|
2243
|
+
//#endregion
|
|
2244
|
+
//#region src/nodes/createSplashMaterial.d.ts
|
|
2245
|
+
export declare const createSplashMaterial: ({ groundCapture, lightUniforms, precipitationUniforms, waterUniforms }: SplashMaterialOptions) => MeshBasicNodeMaterial;
|
|
2246
|
+
//#endregion
|
|
2247
|
+
//#region src/nodes/createStoneGlowNode.d.ts
|
|
2248
|
+
export declare const createStoneGlowNode: ({ glowRange, rimColor, rimPower, rimStrength }: Pick<StoneMaterialOptions, "glowRange" | "rimColor" | "rimPower" | "rimStrength">) => Node<"vec3">;
|
|
778
2249
|
//#endregion
|
|
779
2250
|
//#region src/nodes/createStoneLightUniforms.d.ts
|
|
780
2251
|
export declare const createStoneLightUniforms: () => StoneLightUniforms;
|
|
781
2252
|
//#endregion
|
|
782
2253
|
//#region src/nodes/createStoneMaterial.d.ts
|
|
783
|
-
export declare const createStoneMaterial: (
|
|
2254
|
+
export declare const createStoneMaterial: (options: StoneMaterialOptions, stoneLight: StoneLightUniforms, glowNode?: Node<"vec3">) => StoneNodeMaterial;
|
|
784
2255
|
//#endregion
|
|
785
2256
|
//#region src/nodes/createSunVisibilityNode.d.ts
|
|
786
2257
|
export declare const createSunVisibilityNode: (lightColor: Node, sunRadiance: UniformNode<"color", Color>) => Node<"float">;
|
|
787
2258
|
//#endregion
|
|
2259
|
+
//#region src/nodes/createSurfaceDetailNode.d.ts
|
|
2260
|
+
export declare const createSurfaceDetailNode: (amplitudes: Node<"float">[], texelsPerMetre: Node<"float">) => Node<"float">;
|
|
2261
|
+
//#endregion
|
|
788
2262
|
//#region src/nodes/createToonMaterial.d.ts
|
|
789
|
-
export declare const createToonMaterial: ({ color, isOutlined, isVertexColors, lightUniforms, rampTexture }: ToonMaterialOptions) => ToonNodeMaterial;
|
|
2263
|
+
export declare const createToonMaterial: ({ color, detail, isObjectSurface, isOutlined, isVertexColors, lightUniforms, rampTexture }: ToonMaterialOptions) => ToonNodeMaterial;
|
|
790
2264
|
//#endregion
|
|
791
2265
|
//#region src/nodes/createWaterMaterial.d.ts
|
|
792
|
-
export declare const createWaterMaterial: ({ lightColor, sunDirection }: Pick<LightUniforms, "lightColor" | "sunDirection">, { horizonColor, zenithColor }: Pick<SkyUniforms, "horizonColor" | "zenithColor">, { deepColor, deepDepth, foamColor, foamDepth, shallowColor }: WaterUniforms) => MeshBasicNodeMaterial;
|
|
2266
|
+
export declare const createWaterMaterial: ({ lightColor, sunDirection }: Pick<LightUniforms, "lightColor" | "sunDirection">, { horizonColor, zenithColor }: Pick<SkyUniforms, "horizonColor" | "zenithColor">, { deepColor, deepDepth, foamColor, foamDepth, shallowColor }: WaterUniforms, { direction, speed }: WaterFlow, bendFoam?: Node<"float">) => MeshBasicNodeMaterial;
|
|
2267
|
+
//#endregion
|
|
2268
|
+
//#region src/nodes/createWaterfallMaterial.d.ts
|
|
2269
|
+
export declare const createWaterfallMaterial: ({ foamColor }: Pick<WaterUniforms, "foamColor">) => MeshBasicNodeMaterial;
|
|
2270
|
+
//#endregion
|
|
2271
|
+
//#region src/nodes/createWetDarkeningNode.d.ts
|
|
2272
|
+
export declare const createWetDarkeningNode: ({ wetness }: Pick<LightUniforms, "wetness">) => Node<"float">;
|
|
2273
|
+
//#endregion
|
|
2274
|
+
//#region src/nodes/createWetSheenNode.d.ts
|
|
2275
|
+
export declare const createWetSheenNode: ({ lightColor, sunDirection, wetness }: LightUniforms) => Node<"vec3">;
|
|
793
2276
|
//#endregion
|
|
794
2277
|
//#region src/nodes/createWindNode.d.ts
|
|
795
2278
|
export declare const createWindNode: ({ direction, gustSpeed, gustStrength, gustWidth, strength }: WindUniforms, groundPosition: Node<"vec2">) => Node<"vec2">;
|
|
796
2279
|
//#endregion
|
|
2280
|
+
//#region src/nodes/getCloudSunColors.d.ts
|
|
2281
|
+
export declare const getCloudSunColors: ({ cloudFrontBackBlend, cloudLitBackColor, cloudLitColor, cloudShadeBackColor, cloudShadeColor }: Pick<SkyUniforms, "cloudFrontBackBlend" | "cloudLitBackColor" | "cloudLitColor" | "cloudShadeBackColor" | "cloudShadeColor">, sunCosine: Node<"float">) => {
|
|
2282
|
+
lit: Node<"vec3">;
|
|
2283
|
+
shade: Node<"vec3">;
|
|
2284
|
+
};
|
|
2285
|
+
//#endregion
|
|
2286
|
+
//#region src/nodes/sampleGroundCapture.d.ts
|
|
2287
|
+
export declare const sampleGroundCapture: (groundCapture: GroundCapture, ground: Node<"vec2">) => {
|
|
2288
|
+
captured: Node<"vec4">;
|
|
2289
|
+
isInsideCapture: Node<"float">;
|
|
2290
|
+
};
|
|
2291
|
+
//#endregion
|
|
2292
|
+
//#region src/nodes/setObjectFade.d.ts
|
|
2293
|
+
export declare const setObjectFade: (object: Object3D, fade: number) => void;
|
|
2294
|
+
//#endregion
|
|
2295
|
+
//#region src/nodes/setObjectSurface.d.ts
|
|
2296
|
+
export declare const setObjectSurface: (object: Object3D, color: ColorRepresentation, detail?: SurfaceDetail) => void;
|
|
2297
|
+
//#endregion
|
|
2298
|
+
//#region src/noise/constants.d.ts
|
|
2299
|
+
export declare const SPECTRAL_RADIAL_BIN_COUNT = 16;
|
|
2300
|
+
export declare const SPECTRAL_ANGULAR_BIN_COUNT = 8;
|
|
2301
|
+
//#endregion
|
|
797
2302
|
//#region src/noise/createSimplexNoise.d.ts
|
|
798
2303
|
export declare const createSimplexNoise: (seed: number) => ((x: number, y: number) => number);
|
|
799
2304
|
//#endregion
|
|
2305
|
+
//#region src/noise/getSpectralBin.d.ts
|
|
2306
|
+
export declare const getSpectralBin: (column: number, row: number, width: number, height: number) => number | undefined;
|
|
2307
|
+
//#endregion
|
|
2308
|
+
//#region src/noise/synthesizeSpectralNoise.d.ts
|
|
2309
|
+
export declare const synthesizeSpectralNoise: ({ channels, height, width }: SpectralNoiseProfile, random: () => number) => Float32Array[];
|
|
2310
|
+
//#endregion
|
|
2311
|
+
//#region src/noise/transformFourierGrid.d.ts
|
|
2312
|
+
export declare const transformFourierGrid: (real: Float64Array, imaginary: Float64Array, width: number, height: number) => void;
|
|
2313
|
+
//#endregion
|
|
800
2314
|
//#region src/post/computeGradeLut.d.ts
|
|
801
2315
|
export declare const computeGradeLut: ({ contrast, highlightTint, saturation, shadowTint, size }: GradeOptions) => Uint8Array;
|
|
802
2316
|
//#endregion
|
|
2317
|
+
//#region src/post/computeWhiteBalance.d.ts
|
|
2318
|
+
export declare const computeWhiteBalance: ({ temperature, tint }: WhiteBalance, whiteBalance?: Matrix3) => Matrix3;
|
|
2319
|
+
//#endregion
|
|
803
2320
|
//#region src/post/createFogUniforms.d.ts
|
|
804
2321
|
export declare const createFogUniforms: () => FogUniforms;
|
|
805
2322
|
//#endregion
|
|
@@ -818,19 +2335,25 @@ export declare const createHeightFogNode: (colorNode: Node<"vec4">, depthNode: T
|
|
|
818
2335
|
export declare const createOcclusionNode: (depthNode: TextureNode, camera: Camera, radius: number) => GTAONode;
|
|
819
2336
|
//#endregion
|
|
820
2337
|
//#region src/post/createPostPipeline.d.ts
|
|
821
|
-
export declare const createPostPipeline: ({ camera, fogUniforms, godraysLight, gradeLutTexture, isBloomed, occlusionRadius, postUniforms: { godraysColor, gradeIntensity, outlineColor, outlineFadeDistance, outlineThickness }, qualityTierSettings: { antialiasingMode, godraysStepCount, isBloomEnabled, isOcclusionEnabled }, renderer, scene, stoneLight }: PostPipelineOptions) => PostPipeline;
|
|
2338
|
+
export declare const createPostPipeline: ({ camera, fogUniforms, godraysLight, gradeLutTexture, isBloomed, occlusionRadius, postUniforms: { godraysColor, gradeIntensity, outlineColor, outlineFadeDistance, outlineThickness, whiteBalance }, qualityTierSettings: { antialiasingMode, godraysStepCount, isBloomEnabled, isOcclusionEnabled }, renderer, scene, sight, stoneLight }: PostPipelineOptions) => PostPipeline;
|
|
822
2339
|
//#endregion
|
|
823
2340
|
//#region src/post/createPostUniforms.d.ts
|
|
824
2341
|
export declare const createPostUniforms: () => PostUniforms;
|
|
825
2342
|
//#endregion
|
|
2343
|
+
//#region src/post/createSightNode.d.ts
|
|
2344
|
+
export declare const createSightNode: (colorNode: Node<"vec4">, depthNode: TextureNode, camera: Camera, litPass: PassNode, { origin, radius, strength }: SightUniforms) => Node<"vec4">;
|
|
2345
|
+
//#endregion
|
|
2346
|
+
//#region src/post/createSightUniforms.d.ts
|
|
2347
|
+
export declare const createSightUniforms: () => SightUniforms;
|
|
2348
|
+
//#endregion
|
|
826
2349
|
//#region src/post/toSceneColor.d.ts
|
|
827
2350
|
export declare const toSceneColor: (displayColor: Color, sceneColor?: Color) => Color;
|
|
828
2351
|
//#endregion
|
|
829
|
-
//#region src/post/
|
|
830
|
-
export declare const
|
|
2352
|
+
//#region src/post/toneMapGenshin.d.ts
|
|
2353
|
+
export declare const toneMapGenshin: (sceneColor: readonly [number, number, number], toneMapped?: [number, number, number]) => [number, number, number];
|
|
831
2354
|
//#endregion
|
|
832
|
-
//#region src/
|
|
833
|
-
export declare const
|
|
2355
|
+
//#region src/post/toneMapGenshinNode.d.ts
|
|
2356
|
+
export declare const toneMapGenshinNode: (sceneColor: Node<"vec3">) => Node<"vec3">;
|
|
834
2357
|
//#endregion
|
|
835
2358
|
//#region src/renderer/QualityTierSettingsMap.d.ts
|
|
836
2359
|
export declare const QualityTierSettingsMap: Readonly<Record<QualityTier, QualityTierSettings>>;
|
|
@@ -840,63 +2363,169 @@ export declare const attachInspector: (renderer: Renderer) => Promise<Inspector>
|
|
|
840
2363
|
//#endregion
|
|
841
2364
|
//#region src/renderer/constants.d.ts
|
|
842
2365
|
export declare const GENSHIN_TONE_MAPPING: ToneMapping;
|
|
2366
|
+
export declare const GENSHIN_TONE_CONTRAST = .5;
|
|
2367
|
+
export declare const GENSHIN_TONE_EXPOSURE = 1;
|
|
2368
|
+
export declare const TONE_CONTRAST_OFFSET = .01;
|
|
2369
|
+
export declare const TONE_CURVE_LIFT = 1e-4;
|
|
2370
|
+
export declare const TONE_CURVE_FLOOR: number;
|
|
843
2371
|
//#endregion
|
|
844
2372
|
//#region src/renderer/createGenshinRenderer.d.ts
|
|
845
2373
|
export declare const createGenshinRenderer: (canvas: HTMLCanvasElement) => WebGPURenderer;
|
|
846
2374
|
//#endregion
|
|
2375
|
+
//#region src/renderer/createInstancedMesh.d.ts
|
|
2376
|
+
export declare const createInstancedMesh: <TGeometry extends BufferGeometry, TMaterial extends Material | Material[]>(geometry: TGeometry, material: TMaterial, count: number) => InstancedMesh<TGeometry, TMaterial>;
|
|
2377
|
+
//#endregion
|
|
847
2378
|
//#region src/renderer/getScreenDirection.d.ts
|
|
848
2379
|
export declare const getScreenDirection: ({ aspect, fov, pitch, yaw }: ScreenCamera, [x, y]: [number, number]) => Vector3;
|
|
849
2380
|
//#endregion
|
|
2381
|
+
//#region src/simulation/constants.d.ts
|
|
2382
|
+
export declare const MAX_STEPS_PER_FRAME = 5;
|
|
2383
|
+
//#endregion
|
|
2384
|
+
//#region src/simulation/createFixedStepLoop.d.ts
|
|
2385
|
+
export declare const createFixedStepLoop: (stepSeconds: number, step: () => void) => FixedStepLoop;
|
|
2386
|
+
//#endregion
|
|
2387
|
+
//#region src/streaming/constants.d.ts
|
|
2388
|
+
export declare const MAX_TILE_ATTEMPTS = 3;
|
|
2389
|
+
//#endregion
|
|
850
2390
|
//#region src/streaming/createTileStreamer.d.ts
|
|
851
2391
|
export declare const createTileStreamer: <TTile>({ disposeTile, maxCachedCount, maxPendingCount, requestTile }: TileStreamerOptions<TTile>) => TileStreamer<TTile>;
|
|
852
2392
|
//#endregion
|
|
2393
|
+
//#region src/terrain/TerrainFeatureKindBlendMap.d.ts
|
|
2394
|
+
export declare const TerrainFeatureKindBlendMap: { [K in TerrainFeatureKind]: (feature: Extract<TerrainFeature, {
|
|
2395
|
+
kind: K;
|
|
2396
|
+
}>, x: number, z: number) => number; };
|
|
2397
|
+
//#endregion
|
|
2398
|
+
//#region src/terrain/blendGridNodes.d.ts
|
|
2399
|
+
export declare const blendGridNodes: (values: readonly number[], sizeX: number, sizeZ: number, column: number, row: number) => number;
|
|
2400
|
+
//#endregion
|
|
2401
|
+
//#region src/terrain/checkTerrainBoundsOverlap.d.ts
|
|
2402
|
+
export declare const checkTerrainBoundsOverlap: (first: TerrainBounds, second: TerrainBounds) => boolean;
|
|
2403
|
+
//#endregion
|
|
2404
|
+
//#region src/terrain/checkTerrainDrawsChanged.d.ts
|
|
2405
|
+
export declare const checkTerrainDrawsChanged: ({ finestTileSize }: Pick<TerrainOptions, "finestTileSize">, previous: TerrainSelection, next: TerrainSelection, center: Vector3Like, halfSize: number) => boolean;
|
|
2406
|
+
//#endregion
|
|
2407
|
+
//#region src/terrain/checkTerrainTileCasts.d.ts
|
|
2408
|
+
export declare const checkTerrainTileCasts: ({ finestRange }: Pick<TerrainOptions, "finestRange">, key: number, shadowReach: number) => boolean;
|
|
2409
|
+
//#endregion
|
|
853
2410
|
//#region src/terrain/computeTerrainIndices.d.ts
|
|
854
2411
|
export declare const computeTerrainIndices: (cellsPerSide: number) => Uint16Array | Uint32Array;
|
|
855
2412
|
//#endregion
|
|
856
|
-
//#region src/terrain/computeTerrainTile.d.ts
|
|
857
|
-
export declare const computeTerrainTile: ({ cellsPerSide, finestTileSize, getHeight, key, writeColor }: TerrainTileOptions) => TerrainTile;
|
|
858
|
-
//#endregion
|
|
859
2413
|
//#region src/terrain/constants.d.ts
|
|
860
2414
|
export declare const TILE_INDEX_OFFSET: number;
|
|
861
2415
|
export declare const TILE_INDEX_SPAN: number;
|
|
862
2416
|
export declare const TERRAIN_LAYER = 1;
|
|
2417
|
+
export declare const TERRAIN_RING_INITIAL_TILE_COUNT = 64;
|
|
2418
|
+
export declare const TERRAIN_CELL_SIZE = 64;
|
|
2419
|
+
export declare const GAUSSIAN_REACH_WIDTHS = 3;
|
|
2420
|
+
export declare const TERRAIN_HEIGHT_PADDING = 2;
|
|
863
2421
|
//#endregion
|
|
864
2422
|
//#region src/terrain/createGaussianHillsHeight.d.ts
|
|
865
2423
|
export declare const createGaussianHillsHeight: ({ base, hills }: GaussianHills) => ((x: number, z: number) => number);
|
|
866
2424
|
//#endregion
|
|
2425
|
+
//#region src/terrain/createResidualHeight.d.ts
|
|
2426
|
+
export declare const createResidualHeight: ({ amplitude, fade, octaves, scale, seed }: TerrainResidual) => ((x: number, z: number) => number);
|
|
2427
|
+
//#endregion
|
|
2428
|
+
//#region src/terrain/createTerrainFeaturesBlend.d.ts
|
|
2429
|
+
export declare const createTerrainFeaturesBlend: (features: readonly TerrainFeature[]) => ((x: number, z: number) => number);
|
|
2430
|
+
//#endregion
|
|
2431
|
+
//#region src/terrain/createTerrainFeaturesHeight.d.ts
|
|
2432
|
+
export declare const createTerrainFeaturesHeight: (features: readonly TerrainFeature[]) => ((x: number, z: number) => number);
|
|
2433
|
+
//#endregion
|
|
867
2434
|
//#region src/terrain/createTerrainMaterial.d.ts
|
|
868
|
-
export declare const createTerrainMaterial: (
|
|
2435
|
+
export declare const createTerrainMaterial: (terrainOptions: Pick<TerrainOptions, "finestRange" | "finestTileSize" | "maxHeight" | "minHeight">, eye: UniformNode<"vec3", Vector3>, toonMaterialOptions: Pick<ToonMaterialOptions, "lightUniforms" | "rampTexture">, waterUniforms?: WaterUniforms) => ToonNodeMaterial;
|
|
2436
|
+
//#endregion
|
|
2437
|
+
//#region src/terrain/createTerrainRing.d.ts
|
|
2438
|
+
export declare const createTerrainRing: ({ cellsPerSide, finestTileSize }: Pick<TerrainOptions, "cellsPerSide" | "finestTileSize">, tileIndices: Uint16Array | Uint32Array, material: Material) => TerrainRing;
|
|
869
2439
|
//#endregion
|
|
870
2440
|
//#region src/terrain/createTerrainSelection.d.ts
|
|
871
2441
|
export declare const createTerrainSelection: (capacity: number) => TerrainSelection;
|
|
872
2442
|
//#endregion
|
|
873
2443
|
//#region src/terrain/createTerrainTileGeometry.d.ts
|
|
874
|
-
export declare const createTerrainTileGeometry: ({ coarsePositions, colors, normals, positions }:
|
|
2444
|
+
export declare const createTerrainTileGeometry: ({ coarseColors, coarseNormals, coarsePositions, colors, normals, positions }: TerrainTileArrays, index: BufferAttribute, boundingBox: Box3) => BufferGeometry;
|
|
2445
|
+
//#endregion
|
|
2446
|
+
//#region src/terrain/fileByCell.d.ts
|
|
2447
|
+
export declare const fileByCell: <T>(items: readonly T[], getBounds: (item: T) => TerrainBounds) => ((x: number, z: number) => readonly T[]);
|
|
2448
|
+
//#endregion
|
|
2449
|
+
//#region src/terrain/getCliffBlend.d.ts
|
|
2450
|
+
export declare const getCliffBlend: (feature: CliffFeature, x: number, z: number) => number;
|
|
2451
|
+
//#endregion
|
|
2452
|
+
//#region src/terrain/getGaussianHillBlend.d.ts
|
|
2453
|
+
export declare const getGaussianHillBlend: ({ width, x: hillX, z: hillZ }: Pick<GaussianHill, "width" | "x" | "z">, x: number, z: number) => number;
|
|
875
2454
|
//#endregion
|
|
876
2455
|
//#region src/terrain/getParentTerrainTileKey.d.ts
|
|
877
2456
|
export declare const getParentTerrainTileKey: (key: number) => number;
|
|
878
2457
|
//#endregion
|
|
879
|
-
//#region src/terrain/
|
|
880
|
-
export declare const
|
|
2458
|
+
//#region src/terrain/getPlateauBlend.d.ts
|
|
2459
|
+
export declare const getPlateauBlend: (feature: PlateauFeature, x: number, z: number) => number;
|
|
2460
|
+
//#endregion
|
|
2461
|
+
//#region src/terrain/getRidgeBlend.d.ts
|
|
2462
|
+
export declare const getRidgeBlend: (feature: RidgeFeature, x: number, z: number) => number;
|
|
2463
|
+
//#endregion
|
|
2464
|
+
//#region src/terrain/getSegmentBounds.d.ts
|
|
2465
|
+
export declare const getSegmentBounds: (startX: number, startZ: number, endX: number, endZ: number, reach: number) => TerrainBounds;
|
|
2466
|
+
//#endregion
|
|
2467
|
+
//#region src/terrain/getTerrainFeatureBounds.d.ts
|
|
2468
|
+
export declare const getTerrainFeatureBounds: (feature: TerrainFeature) => TerrainBounds;
|
|
2469
|
+
//#endregion
|
|
2470
|
+
//#region src/terrain/getTerrainMorphStart.d.ts
|
|
2471
|
+
export declare const getTerrainMorphStart: ({ finestRange, finestTileSize }: Pick<TerrainOptions, "finestRange" | "finestTileSize">) => number;
|
|
2472
|
+
//#endregion
|
|
2473
|
+
//#region src/terrain/getTerrainOverlayBounds.d.ts
|
|
2474
|
+
export declare const getTerrainOverlayBounds: (shape: TerrainShape) => TerrainBounds;
|
|
2475
|
+
//#endregion
|
|
2476
|
+
//#region src/terrain/getTerrainShapeLevel.d.ts
|
|
2477
|
+
export declare const getTerrainShapeLevel: ({ base, hills }: GaussianHills, baseUnder: number) => PlateauFeature | undefined;
|
|
2478
|
+
//#endregion
|
|
2479
|
+
//#region src/terrain/getTerrainTileBounds.d.ts
|
|
2480
|
+
export declare const getTerrainTileBounds: (key: number, finestTileSize: number, cellsPerSide: number) => TerrainBounds;
|
|
881
2481
|
//#endregion
|
|
882
2482
|
//#region src/terrain/getTerrainTileKey.d.ts
|
|
883
2483
|
export declare const getTerrainTileKey: (level: number, column: number, row: number) => number;
|
|
884
2484
|
//#endregion
|
|
885
|
-
//#region src/terrain/
|
|
886
|
-
export declare const
|
|
887
|
-
//#endregion
|
|
888
|
-
//#region src/terrain/getTerrainTileRow.d.ts
|
|
889
|
-
export declare const getTerrainTileRow: (key: number) => number;
|
|
2485
|
+
//#region src/terrain/measureSegment.d.ts
|
|
2486
|
+
export declare const measureSegment: ({ endX, endZ, startX, startZ }: Pick<RidgeFeature, "endX" | "endZ" | "startX" | "startZ">, x: number, z: number) => Float64Array;
|
|
890
2487
|
//#endregion
|
|
891
2488
|
//#region src/terrain/resolveTerrainDraws.d.ts
|
|
892
2489
|
export declare const resolveTerrainDraws: ({ levelCount }: Pick<TerrainOptions, "levelCount">, wanted: TerrainSelection, checkTileLoaded: (key: number) => boolean, draws: TerrainSelection) => TerrainSelection;
|
|
893
2490
|
//#endregion
|
|
2491
|
+
//#region src/terrain/sampleGroundLayerField.d.ts
|
|
2492
|
+
export declare const sampleGroundLayerField: ({ cellSize, layers, origin, size }: GroundLayerField, x: number, z: number, weights: Record<GroundLayer, number>) => void;
|
|
2493
|
+
//#endregion
|
|
2494
|
+
//#region src/terrain/sampleTerrainResidualFade.d.ts
|
|
2495
|
+
export declare const sampleTerrainResidualFade: ({ cellSize, clearings, origin, size, weights }: TerrainResidualFade, x: number, z: number) => number;
|
|
2496
|
+
//#endregion
|
|
894
2497
|
//#region src/terrain/selectTerrainTiles.d.ts
|
|
895
2498
|
export declare const selectTerrainTiles: (terrainOptions: TerrainOptions, eye: Vector3Like, frustum: Frustum | undefined, selection: TerrainSelection) => TerrainSelection;
|
|
896
2499
|
//#endregion
|
|
2500
|
+
//#region src/terrain/writeTerrainRingIndices.d.ts
|
|
2501
|
+
export declare const writeTerrainRingIndices: (ringIndices: Uint32Array, tileIndices: Uint16Array | Uint32Array, drawnOrdinals: readonly number[], vertexCount: number) => number;
|
|
2502
|
+
//#endregion
|
|
2503
|
+
//#region src/terrain/writeTerrainRingTile.d.ts
|
|
2504
|
+
export declare const writeTerrainRingTile: (ring: TerrainTileArrays, base: number, tile: TerrainTile, finestTileSize: number) => void;
|
|
2505
|
+
//#endregion
|
|
2506
|
+
//#region src/vegetation/bakeImpostor.d.ts
|
|
2507
|
+
export declare const bakeImpostor: (renderer: Renderer, parts: readonly ImpostorPart[], resolution: number) => Impostor;
|
|
2508
|
+
//#endregion
|
|
897
2509
|
//#region src/vegetation/computeGrassBlade.d.ts
|
|
898
2510
|
export declare const computeGrassBlade: (segmentCount: number) => GrassBlade;
|
|
899
2511
|
//#endregion
|
|
2512
|
+
//#region src/vegetation/constants.d.ts
|
|
2513
|
+
export declare const IMPOSTOR_RESOLUTION = 256;
|
|
2514
|
+
export declare const IMPOSTOR_SWITCH_HEIGHTS = 10;
|
|
2515
|
+
export declare const IMPOSTOR_CROSSFADE_SHARE = .1;
|
|
2516
|
+
export declare const FLOWER_BEND_PER_WIND = .12;
|
|
2517
|
+
export declare const FLOWER_MATRIX_ATTRIBUTE_NAMES: readonly ["flowerMatrix0", "flowerMatrix1", "flowerMatrix2", "flowerMatrix3"];
|
|
2518
|
+
export declare const FLOWER_COLOR_ATTRIBUTE_NAME = "flowerColor";
|
|
2519
|
+
//#endregion
|
|
2520
|
+
//#region src/vegetation/createFlowerGeometry.d.ts
|
|
2521
|
+
export declare const createFlowerGeometry: () => BufferGeometry;
|
|
2522
|
+
//#endregion
|
|
2523
|
+
//#region src/vegetation/createFlowerMaterial.d.ts
|
|
2524
|
+
export declare const createFlowerMaterial: (toonMaterialOptions: Pick<ToonMaterialOptions, "lightUniforms" | "rampTexture">, windUniforms: WindUniforms) => ToonNodeMaterial;
|
|
2525
|
+
//#endregion
|
|
2526
|
+
//#region src/vegetation/createFlowerTileGeometry.d.ts
|
|
2527
|
+
export declare const createFlowerTileGeometry: (matrices: Float32Array, colors: Float32Array) => InstancedBufferGeometry;
|
|
2528
|
+
//#endregion
|
|
900
2529
|
//#region src/vegetation/createGrassGeometry.d.ts
|
|
901
2530
|
export declare const createGrassGeometry: (segmentCount: number, bladeCount: number) => InstancedBufferGeometry;
|
|
902
2531
|
//#endregion
|
|
@@ -909,12 +2538,25 @@ export declare const createGroundCapture: (size: number, resolution: number) =>
|
|
|
909
2538
|
//#region src/vegetation/renderGroundCapture.d.ts
|
|
910
2539
|
export declare const renderGroundCapture: (renderer: Renderer, scene: Scene, { camera, center, material, renderTarget }: GroundCapture, { maxHeight }: Pick<TerrainOptions, "maxHeight">, worldCenter: Vector3Like, origin: Vector3Like) => void;
|
|
911
2540
|
//#endregion
|
|
2541
|
+
//#region src/water/constants.d.ts
|
|
2542
|
+
export declare const RIVER_BEND_FOAM_ATTRIBUTE = "bendFoam";
|
|
2543
|
+
export declare const BEND_FOAM_FULL_RADIUS_WIDTHS = 2;
|
|
2544
|
+
//#endregion
|
|
2545
|
+
//#region src/water/createRiverGeometry.d.ts
|
|
2546
|
+
export declare const createRiverGeometry: (course: readonly RiverCoursePoint[]) => BufferGeometry;
|
|
2547
|
+
//#endregion
|
|
912
2548
|
//#region src/water/createUnderwaterFogState.d.ts
|
|
913
2549
|
export declare const createUnderwaterFogState: () => UnderwaterFogState;
|
|
914
2550
|
//#endregion
|
|
2551
|
+
//#region src/water/createWaterFlowUniforms.d.ts
|
|
2552
|
+
export declare const createWaterFlowUniforms: () => WaterFlow;
|
|
2553
|
+
//#endregion
|
|
915
2554
|
//#region src/water/createWaterUniforms.d.ts
|
|
916
2555
|
export declare const createWaterUniforms: () => WaterUniforms;
|
|
917
2556
|
//#endregion
|
|
2557
|
+
//#region src/water/createWaterfallGeometry.d.ts
|
|
2558
|
+
export declare const createWaterfallGeometry: ({ across, drop, lip, width }: WaterfallSheet) => BufferGeometry;
|
|
2559
|
+
//#endregion
|
|
918
2560
|
//#region src/water/updateUnderwaterFog.d.ts
|
|
919
2561
|
export declare const updateUnderwaterFog: (eyeHeight: number, { level, underwaterFogColor, underwaterFogDensity }: Pick<WaterUniforms, "level" | "underwaterFogColor" | "underwaterFogDensity">, { color, density, heightFalloff, maxOpacity, startDistance }: FogUniforms, underwaterFogState: UnderwaterFogState) => void;
|
|
920
2562
|
//#endregion
|
|
@@ -926,4 +2568,5 @@ export declare const computeOriginShift: (cameraPosition: Vector3, threshold: nu
|
|
|
926
2568
|
//#endregion
|
|
927
2569
|
//#region src/world/computeOutlineDistance.d.ts
|
|
928
2570
|
export declare const computeOutlineDistance: (outline: readonly GroundPoint[], x: number, z: number) => number;
|
|
929
|
-
//#endregion
|
|
2571
|
+
//#endregion
|
|
2572
|
+
export { CliffFeature, GaussianHill, GaussianHills, GroundBand, GroundLayer, GroundLayerColors, GroundLayerField, GroundLayers, GroundPaint, GroundPathSegment, PlateauFeature, RidgeFeature, ScatterOptions, TerrainFeature, TerrainFeatureKind, TerrainOptions, TerrainResidual, TerrainResidualClearing, TerrainResidualFade, TerrainShape, TerrainTile, TerrainTileOptions, computeScatterPoints, computeTerrainTile, createGroundLayerWeights, createGroundPaintColor, createSeededRandom, createTerrainShapeHeight, getTerrainTileColumn, getTerrainTileLevel, getTerrainTileRow };
|