@headless-three/renderer 0.0.0 → 0.1.7
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/LICENSE +21 -0
- package/README.md +201 -1
- package/dist/attributes.d.ts +8 -0
- package/dist/attributes.d.ts.map +1 -0
- package/dist/attributes.js +91 -0
- package/dist/attributes.js.map +1 -0
- package/dist/camera.d.ts +8 -0
- package/dist/camera.d.ts.map +1 -0
- package/dist/camera.js +53 -0
- package/dist/camera.js.map +1 -0
- package/dist/color.d.ts +5 -0
- package/dist/color.d.ts.map +1 -0
- package/dist/color.js +36 -0
- package/dist/color.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +72 -0
- package/dist/index.js.map +1 -0
- package/dist/lights.d.ts +5 -0
- package/dist/lights.d.ts.map +1 -0
- package/dist/lights.js +186 -0
- package/dist/lights.js.map +1 -0
- package/dist/materials.d.ts +18 -0
- package/dist/materials.d.ts.map +1 -0
- package/dist/materials.js +268 -0
- package/dist/materials.js.map +1 -0
- package/dist/math.d.ts +14 -0
- package/dist/math.d.ts.map +1 -0
- package/dist/math.js +137 -0
- package/dist/math.js.map +1 -0
- package/dist/morphs.d.ts +22 -0
- package/dist/morphs.d.ts.map +1 -0
- package/dist/morphs.js +108 -0
- package/dist/morphs.js.map +1 -0
- package/dist/scene.d.ts +3 -0
- package/dist/scene.d.ts.map +1 -0
- package/dist/scene.js +220 -0
- package/dist/scene.js.map +1 -0
- package/dist/skinning.d.ts +15 -0
- package/dist/skinning.d.ts.map +1 -0
- package/dist/skinning.js +88 -0
- package/dist/skinning.js.map +1 -0
- package/dist/types.d.ts +313 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/native.d.ts +178 -0
- package/native.js +580 -0
- package/package.json +82 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skinning.js","sourceRoot":"","sources":["../api/skinning.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
export type RenderOutputFormat = 'png' | 'rgba' | 'raw' | 'raw-rgba';
|
|
2
|
+
export interface ThreeColorLike {
|
|
3
|
+
r: number;
|
|
4
|
+
g: number;
|
|
5
|
+
b: number;
|
|
6
|
+
isColor?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface ThreeMatrix4Like {
|
|
9
|
+
elements: ArrayLike<number>;
|
|
10
|
+
}
|
|
11
|
+
export interface ThreeBufferAttributeLike {
|
|
12
|
+
count: number;
|
|
13
|
+
itemSize?: number;
|
|
14
|
+
normalized?: boolean;
|
|
15
|
+
array?: ArrayLike<number>;
|
|
16
|
+
data?: {
|
|
17
|
+
array: ArrayLike<number>;
|
|
18
|
+
stride: number;
|
|
19
|
+
};
|
|
20
|
+
offset?: number;
|
|
21
|
+
getX?(index: number): number;
|
|
22
|
+
getY?(index: number): number;
|
|
23
|
+
getZ?(index: number): number;
|
|
24
|
+
getW?(index: number): number;
|
|
25
|
+
}
|
|
26
|
+
export interface ThreeBufferGeometryLike {
|
|
27
|
+
attributes?: Record<string, ThreeBufferAttributeLike | undefined>;
|
|
28
|
+
index?: ThreeBufferAttributeLike | null;
|
|
29
|
+
groups?: Array<{
|
|
30
|
+
start: number;
|
|
31
|
+
count: number;
|
|
32
|
+
materialIndex?: number;
|
|
33
|
+
}>;
|
|
34
|
+
drawRange?: {
|
|
35
|
+
start?: number;
|
|
36
|
+
count?: number;
|
|
37
|
+
};
|
|
38
|
+
getAttribute?(name: string): ThreeBufferAttributeLike | undefined;
|
|
39
|
+
morphAttributes?: Record<string, ThreeBufferAttributeLike[] | undefined>;
|
|
40
|
+
morphTargetsRelative?: boolean;
|
|
41
|
+
}
|
|
42
|
+
export interface ThreeTextureLike {
|
|
43
|
+
image?: {
|
|
44
|
+
data?: ArrayLike<number>;
|
|
45
|
+
width?: number;
|
|
46
|
+
height?: number;
|
|
47
|
+
} | Buffer | Uint8Array;
|
|
48
|
+
source?: {
|
|
49
|
+
data?: {
|
|
50
|
+
data?: ArrayLike<number>;
|
|
51
|
+
width?: number;
|
|
52
|
+
height?: number;
|
|
53
|
+
} | Buffer | Uint8Array;
|
|
54
|
+
};
|
|
55
|
+
wrapS?: number;
|
|
56
|
+
wrapT?: number;
|
|
57
|
+
}
|
|
58
|
+
export interface ThreeMaterialLike {
|
|
59
|
+
color?: ThreeColorLike;
|
|
60
|
+
opacity?: number;
|
|
61
|
+
visible?: boolean;
|
|
62
|
+
vertexColors?: boolean;
|
|
63
|
+
map?: ThreeTextureLike | null;
|
|
64
|
+
metalness?: number;
|
|
65
|
+
roughness?: number;
|
|
66
|
+
emissive?: ThreeColorLike;
|
|
67
|
+
emissiveIntensity?: number;
|
|
68
|
+
emissiveMap?: ThreeTextureLike | null;
|
|
69
|
+
normalMap?: ThreeTextureLike | null;
|
|
70
|
+
normalScale?: {
|
|
71
|
+
x: number;
|
|
72
|
+
y: number;
|
|
73
|
+
};
|
|
74
|
+
metalnessMap?: ThreeTextureLike | null;
|
|
75
|
+
roughnessMap?: ThreeTextureLike | null;
|
|
76
|
+
aoMap?: ThreeTextureLike | null;
|
|
77
|
+
aoMapIntensity?: number;
|
|
78
|
+
alphaTest?: number;
|
|
79
|
+
transparent?: boolean;
|
|
80
|
+
side?: number;
|
|
81
|
+
isMeshBasicMaterial?: boolean;
|
|
82
|
+
isMeshLambertMaterial?: boolean;
|
|
83
|
+
isMeshStandardMaterial?: boolean;
|
|
84
|
+
isMeshPhysicalMaterial?: boolean;
|
|
85
|
+
isLineBasicMaterial?: boolean;
|
|
86
|
+
isPointsMaterial?: boolean;
|
|
87
|
+
size?: number;
|
|
88
|
+
}
|
|
89
|
+
export interface ThreeBoneLike {
|
|
90
|
+
matrixWorld?: ThreeMatrix4Like;
|
|
91
|
+
}
|
|
92
|
+
export interface ThreeSkeletonLike {
|
|
93
|
+
bones?: ThreeBoneLike[];
|
|
94
|
+
boneInverses?: ThreeMatrix4Like[];
|
|
95
|
+
update?(): void;
|
|
96
|
+
}
|
|
97
|
+
export interface ThreeObject3DLike {
|
|
98
|
+
visible?: boolean;
|
|
99
|
+
children?: ThreeObject3DLike[];
|
|
100
|
+
isMesh?: boolean;
|
|
101
|
+
isSkinnedMesh?: boolean;
|
|
102
|
+
isLine?: boolean;
|
|
103
|
+
isLineSegments?: boolean;
|
|
104
|
+
isLineLoop?: boolean;
|
|
105
|
+
isPoints?: boolean;
|
|
106
|
+
isLight?: boolean;
|
|
107
|
+
isDirectionalLight?: boolean;
|
|
108
|
+
isPointLight?: boolean;
|
|
109
|
+
isSpotLight?: boolean;
|
|
110
|
+
isHemisphereLight?: boolean;
|
|
111
|
+
isAmbientLight?: boolean;
|
|
112
|
+
geometry?: ThreeBufferGeometryLike;
|
|
113
|
+
material?: ThreeMaterialLike | ThreeMaterialLike[];
|
|
114
|
+
matrixWorld?: ThreeMatrix4Like;
|
|
115
|
+
skeleton?: ThreeSkeletonLike;
|
|
116
|
+
bindMatrix?: ThreeMatrix4Like;
|
|
117
|
+
bindMatrixInverse?: ThreeMatrix4Like;
|
|
118
|
+
morphTargetInfluences?: number[];
|
|
119
|
+
morphTargetDictionary?: Record<string, number>;
|
|
120
|
+
color?: ThreeColorLike;
|
|
121
|
+
groundColor?: ThreeColorLike;
|
|
122
|
+
intensity?: number;
|
|
123
|
+
distance?: number;
|
|
124
|
+
decay?: number;
|
|
125
|
+
angle?: number;
|
|
126
|
+
penumbra?: number;
|
|
127
|
+
target?: ThreeObject3DLike & {
|
|
128
|
+
matrixWorld?: ThreeMatrix4Like;
|
|
129
|
+
};
|
|
130
|
+
name?: string;
|
|
131
|
+
uuid?: string;
|
|
132
|
+
castShadow?: boolean;
|
|
133
|
+
receiveShadow?: boolean;
|
|
134
|
+
/** DirectionalLight.shadow (three.js). */
|
|
135
|
+
shadow?: {
|
|
136
|
+
mapSize?: {
|
|
137
|
+
x?: number;
|
|
138
|
+
y?: number;
|
|
139
|
+
width?: number;
|
|
140
|
+
height?: number;
|
|
141
|
+
};
|
|
142
|
+
bias?: number;
|
|
143
|
+
normalBias?: number;
|
|
144
|
+
radius?: number;
|
|
145
|
+
camera?: {
|
|
146
|
+
left?: number;
|
|
147
|
+
right?: number;
|
|
148
|
+
top?: number;
|
|
149
|
+
bottom?: number;
|
|
150
|
+
near?: number;
|
|
151
|
+
far?: number;
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
export interface ThreeSceneLike extends ThreeObject3DLike {
|
|
156
|
+
isScene: true;
|
|
157
|
+
background?: ThreeColorLike | null;
|
|
158
|
+
environment?: ThreeTextureLike | null;
|
|
159
|
+
environmentIntensity?: number;
|
|
160
|
+
updateMatrixWorld?(force?: boolean): void;
|
|
161
|
+
}
|
|
162
|
+
export interface ThreeCameraLike {
|
|
163
|
+
isCamera: true;
|
|
164
|
+
projectionMatrix: ThreeMatrix4Like;
|
|
165
|
+
matrixWorldInverse: ThreeMatrix4Like;
|
|
166
|
+
matrixWorld?: ThreeMatrix4Like;
|
|
167
|
+
aspect?: number;
|
|
168
|
+
userData?: {
|
|
169
|
+
width?: number;
|
|
170
|
+
height?: number;
|
|
171
|
+
};
|
|
172
|
+
updateMatrixWorld?(force?: boolean): void;
|
|
173
|
+
}
|
|
174
|
+
export interface RenderOptions {
|
|
175
|
+
width?: number;
|
|
176
|
+
height?: number;
|
|
177
|
+
background?: number[] | ThreeColorLike;
|
|
178
|
+
format?: RenderOutputFormat;
|
|
179
|
+
}
|
|
180
|
+
export interface NativeCamera {
|
|
181
|
+
width?: number;
|
|
182
|
+
height?: number;
|
|
183
|
+
eye?: number[];
|
|
184
|
+
target?: number[];
|
|
185
|
+
up?: number[];
|
|
186
|
+
fovYDegrees?: number;
|
|
187
|
+
near?: number;
|
|
188
|
+
far?: number;
|
|
189
|
+
viewProjection?: number[];
|
|
190
|
+
cameraPosition?: number[];
|
|
191
|
+
}
|
|
192
|
+
export interface NativeSceneLight {
|
|
193
|
+
lightType: string;
|
|
194
|
+
color?: number[];
|
|
195
|
+
intensity?: number;
|
|
196
|
+
position?: number[];
|
|
197
|
+
direction?: number[];
|
|
198
|
+
distance?: number;
|
|
199
|
+
decay?: number;
|
|
200
|
+
angle?: number;
|
|
201
|
+
penumbra?: number;
|
|
202
|
+
groundColor?: number[];
|
|
203
|
+
/** Whether this light casts shadows (directional only for now). */
|
|
204
|
+
castShadow?: boolean;
|
|
205
|
+
/** Shadow map resolution (square). Defaults to 512. */
|
|
206
|
+
shadowMapSize?: number;
|
|
207
|
+
/** Depth bias applied when sampling the shadow map. */
|
|
208
|
+
shadowBias?: number;
|
|
209
|
+
/** Normal-offset bias (world space units) applied at receivers. */
|
|
210
|
+
shadowNormalBias?: number;
|
|
211
|
+
/** Orthographic shadow-camera frustum bounds. */
|
|
212
|
+
shadowCameraLeft?: number;
|
|
213
|
+
shadowCameraRight?: number;
|
|
214
|
+
shadowCameraTop?: number;
|
|
215
|
+
shadowCameraBottom?: number;
|
|
216
|
+
shadowCameraNear?: number;
|
|
217
|
+
shadowCameraFar?: number;
|
|
218
|
+
}
|
|
219
|
+
export interface NativeSceneMesh {
|
|
220
|
+
positions: number[];
|
|
221
|
+
indices?: number[];
|
|
222
|
+
normals?: number[];
|
|
223
|
+
colors?: number[];
|
|
224
|
+
color?: number[];
|
|
225
|
+
transform?: number[];
|
|
226
|
+
uvs?: number[];
|
|
227
|
+
texture?: Buffer;
|
|
228
|
+
textureWidth?: number;
|
|
229
|
+
textureHeight?: number;
|
|
230
|
+
textureWrapS?: string;
|
|
231
|
+
textureWrapT?: string;
|
|
232
|
+
metallic?: number;
|
|
233
|
+
roughness?: number;
|
|
234
|
+
emissive?: number[];
|
|
235
|
+
emissiveIntensity?: number;
|
|
236
|
+
normalMap?: Buffer;
|
|
237
|
+
normalMapWidth?: number;
|
|
238
|
+
normalMapHeight?: number;
|
|
239
|
+
normalScale?: number[];
|
|
240
|
+
metallicRoughnessTexture?: Buffer;
|
|
241
|
+
metallicRoughnessTextureWidth?: number;
|
|
242
|
+
metallicRoughnessTextureHeight?: number;
|
|
243
|
+
emissiveMap?: Buffer;
|
|
244
|
+
emissiveMapWidth?: number;
|
|
245
|
+
emissiveMapHeight?: number;
|
|
246
|
+
aoMap?: Buffer;
|
|
247
|
+
aoMapWidth?: number;
|
|
248
|
+
aoMapHeight?: number;
|
|
249
|
+
aoMapIntensity?: number;
|
|
250
|
+
alphaTest?: number;
|
|
251
|
+
transparent?: boolean;
|
|
252
|
+
side?: string;
|
|
253
|
+
shadingModel?: string;
|
|
254
|
+
topology?: string;
|
|
255
|
+
/** Whether this mesh casts shadows in the shadow pass. Defaults to false. */
|
|
256
|
+
castShadow?: boolean;
|
|
257
|
+
/** Whether this mesh receives shadows in the main pass. Defaults to false. */
|
|
258
|
+
receiveShadow?: boolean;
|
|
259
|
+
}
|
|
260
|
+
export interface NativeRenderScene {
|
|
261
|
+
width?: number;
|
|
262
|
+
height?: number;
|
|
263
|
+
background?: number[];
|
|
264
|
+
format?: string;
|
|
265
|
+
meshes?: NativeSceneMesh[];
|
|
266
|
+
lights?: NativeSceneLight[];
|
|
267
|
+
ambientLight?: number[];
|
|
268
|
+
ambientIntensity?: number;
|
|
269
|
+
environmentMap?: Buffer;
|
|
270
|
+
environmentMapWidth?: number;
|
|
271
|
+
environmentMapHeight?: number;
|
|
272
|
+
environmentMapIntensity?: number;
|
|
273
|
+
}
|
|
274
|
+
export type Color4 = [number, number, number, number];
|
|
275
|
+
export type Mat4 = number[];
|
|
276
|
+
export type Vec3 = [number, number, number];
|
|
277
|
+
export interface PbrProperties {
|
|
278
|
+
metallic?: number;
|
|
279
|
+
roughness?: number;
|
|
280
|
+
emissive?: number[];
|
|
281
|
+
emissiveIntensity?: number;
|
|
282
|
+
normalMap?: Buffer;
|
|
283
|
+
normalMapWidth?: number;
|
|
284
|
+
normalMapHeight?: number;
|
|
285
|
+
normalScale?: number[];
|
|
286
|
+
metallicRoughnessTexture?: Buffer;
|
|
287
|
+
metallicRoughnessTextureWidth?: number;
|
|
288
|
+
metallicRoughnessTextureHeight?: number;
|
|
289
|
+
emissiveMap?: Buffer;
|
|
290
|
+
emissiveMapWidth?: number;
|
|
291
|
+
emissiveMapHeight?: number;
|
|
292
|
+
aoMap?: Buffer;
|
|
293
|
+
aoMapWidth?: number;
|
|
294
|
+
aoMapHeight?: number;
|
|
295
|
+
aoMapIntensity?: number;
|
|
296
|
+
alphaTest?: number;
|
|
297
|
+
transparent?: boolean;
|
|
298
|
+
side?: string;
|
|
299
|
+
shadingModel?: string;
|
|
300
|
+
}
|
|
301
|
+
export interface TextureInfo {
|
|
302
|
+
data: Buffer;
|
|
303
|
+
width: number;
|
|
304
|
+
height: number;
|
|
305
|
+
wrapS?: string;
|
|
306
|
+
wrapT?: string;
|
|
307
|
+
}
|
|
308
|
+
export interface GeometryGroup {
|
|
309
|
+
start: number;
|
|
310
|
+
count: number;
|
|
311
|
+
materialIndex: number;
|
|
312
|
+
}
|
|
313
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../api/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../api/types.ts"],"names":[],"mappings":";AAAA,8BAA8B"}
|
package/native.d.ts
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export declare class NativeRenderer {
|
|
3
|
+
constructor()
|
|
4
|
+
render(scene: RenderScene, camera: Camera): Buffer
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface Camera {
|
|
8
|
+
/** Output width in pixels. */
|
|
9
|
+
width?: number
|
|
10
|
+
/** Output height in pixels. */
|
|
11
|
+
height?: number
|
|
12
|
+
/** Camera position. Defaults to `[2.5, 1.8, 3.2]`. */
|
|
13
|
+
eye?: Array<number>
|
|
14
|
+
/** Look-at target. Defaults to `[0, 0, 0]`. */
|
|
15
|
+
target?: Array<number>
|
|
16
|
+
/** Up direction. Defaults to `[0, 1, 0]`. */
|
|
17
|
+
up?: Array<number>
|
|
18
|
+
/** Vertical field of view in degrees. Defaults to `45`. */
|
|
19
|
+
fovYDegrees?: number
|
|
20
|
+
/** Near clipping plane. Defaults to `0.01`. */
|
|
21
|
+
near?: number
|
|
22
|
+
/** Far clipping plane. Defaults to `100`. */
|
|
23
|
+
far?: number
|
|
24
|
+
/** Optional column-major 4x4 view-projection matrix in WebGPU clip space. */
|
|
25
|
+
viewProjection?: Array<number>
|
|
26
|
+
/** Camera world position `[x, y, z]` for PBR lighting. */
|
|
27
|
+
cameraPosition?: Array<number>
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export declare function renderNative(scene: RenderScene, camera: Camera): Buffer
|
|
31
|
+
|
|
32
|
+
export interface RenderScene {
|
|
33
|
+
/** Output width in pixels. `camera.width` takes precedence when set. */
|
|
34
|
+
width?: number
|
|
35
|
+
/** Output height in pixels. `camera.height` takes precedence when set. */
|
|
36
|
+
height?: number
|
|
37
|
+
/** Clear color as `[r, g, b]` or `[r, g, b, a]`, with values in the 0..1 range. */
|
|
38
|
+
background?: Array<number>
|
|
39
|
+
/** Output format. Supported values are `"png"` (default) and `"rgba"`. */
|
|
40
|
+
format?: string
|
|
41
|
+
/** Triangle-list meshes generated by the JavaScript Three.js adapter. */
|
|
42
|
+
meshes?: Array<SceneMesh>
|
|
43
|
+
/** Scene lights. */
|
|
44
|
+
lights?: Array<SceneLight>
|
|
45
|
+
/** Ambient light color `[r, g, b]` in 0..1 range. */
|
|
46
|
+
ambientLight?: Array<number>
|
|
47
|
+
/** Ambient light intensity. Defaults to 0. */
|
|
48
|
+
ambientIntensity?: number
|
|
49
|
+
/** Optional environment map image data (equirectangular HDR/LDR, encoded or raw RGBA/Float). */
|
|
50
|
+
environmentMap?: Buffer
|
|
51
|
+
/** Environment map width in pixels (required when data is raw typed-array bytes). */
|
|
52
|
+
environmentMapWidth?: number
|
|
53
|
+
/** Environment map height in pixels (required when data is raw typed-array bytes). */
|
|
54
|
+
environmentMapHeight?: number
|
|
55
|
+
/** Environment map intensity multiplier. Defaults to 1. */
|
|
56
|
+
environmentMapIntensity?: number
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface SceneLight {
|
|
60
|
+
/** Light type: `"directional"`, `"point"`, `"spot"`, or `"hemisphere"`. */
|
|
61
|
+
lightType: string
|
|
62
|
+
/** Light color `[r, g, b]` in 0..1 range. */
|
|
63
|
+
color?: Array<number>
|
|
64
|
+
/** Light intensity. */
|
|
65
|
+
intensity?: number
|
|
66
|
+
/** World-space position `[x, y, z]` (point and spot lights). */
|
|
67
|
+
position?: Array<number>
|
|
68
|
+
/** Direction `[x, y, z]` (directional and spot lights, up for hemisphere). */
|
|
69
|
+
direction?: Array<number>
|
|
70
|
+
/** Maximum range. 0 = infinite (point and spot). */
|
|
71
|
+
distance?: number
|
|
72
|
+
/** Decay exponent for distance falloff (point and spot). Defaults to 2. */
|
|
73
|
+
decay?: number
|
|
74
|
+
/** Spotlight half-angle in radians. Defaults to π/3. */
|
|
75
|
+
angle?: number
|
|
76
|
+
/** Spotlight penumbra 0..1. Defaults to 0. */
|
|
77
|
+
penumbra?: number
|
|
78
|
+
/** Hemisphere light ground color `[r, g, b]` in 0..1 range. */
|
|
79
|
+
groundColor?: Array<number>
|
|
80
|
+
/** Whether this light casts shadows (directional lights only). */
|
|
81
|
+
castShadow?: boolean
|
|
82
|
+
/** Shadow map resolution (square, pixels). Defaults to 512. */
|
|
83
|
+
shadowMapSize?: number
|
|
84
|
+
/** Depth bias in shadow-map NDC. */
|
|
85
|
+
shadowBias?: number
|
|
86
|
+
/** Normal-offset bias in world space at the receiver. */
|
|
87
|
+
shadowNormalBias?: number
|
|
88
|
+
/** Orthographic shadow-camera frustum bounds. */
|
|
89
|
+
shadowCameraLeft?: number
|
|
90
|
+
shadowCameraRight?: number
|
|
91
|
+
shadowCameraTop?: number
|
|
92
|
+
shadowCameraBottom?: number
|
|
93
|
+
shadowCameraNear?: number
|
|
94
|
+
shadowCameraFar?: number
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export interface SceneMesh {
|
|
98
|
+
/** Flat xyz positions: `[x0, y0, z0, x1, y1, z1, ...]`. */
|
|
99
|
+
positions: Array<number>
|
|
100
|
+
/** Optional uint32 triangle-list indices. */
|
|
101
|
+
indices?: Array<number>
|
|
102
|
+
/** Optional per-vertex normals: `[nx0, ny0, nz0, ...]`. */
|
|
103
|
+
normals?: Array<number>
|
|
104
|
+
/** Optional per-vertex colors. Accepts one `[r,g,b,a]` color or one color per vertex. */
|
|
105
|
+
colors?: Array<number>
|
|
106
|
+
/** Mesh material color used when `colors` is omitted. */
|
|
107
|
+
color?: Array<number>
|
|
108
|
+
/** Optional column-major 4x4 model matrix. */
|
|
109
|
+
transform?: Array<number>
|
|
110
|
+
/** Optional per-vertex UV coordinates: `[u0, v0, u1, v1, ...]`. */
|
|
111
|
+
uvs?: Array<number>
|
|
112
|
+
/** Optional texture image data (raw RGBA8 bytes or encoded PNG/JPEG/WebP). */
|
|
113
|
+
texture?: Buffer
|
|
114
|
+
/** Texture width in pixels (required when `texture` is raw RGBA8 bytes). */
|
|
115
|
+
textureWidth?: number
|
|
116
|
+
/** Texture height in pixels (required when `texture` is raw RGBA8 bytes). */
|
|
117
|
+
textureHeight?: number
|
|
118
|
+
/** Texture horizontal wrap mode: `"repeat"`, `"clamp"`, or `"mirror"`. Defaults to `"clamp"`. */
|
|
119
|
+
textureWrapS?: string
|
|
120
|
+
/** Texture vertical wrap mode: `"repeat"`, `"clamp"`, or `"mirror"`. Defaults to `"clamp"`. */
|
|
121
|
+
textureWrapT?: string
|
|
122
|
+
/** Optional metallic-roughness texture (glTF convention: G=roughness, B=metallic). */
|
|
123
|
+
metallicRoughnessTexture?: Buffer
|
|
124
|
+
/** Metallic-roughness texture width (required when texture is raw RGBA8 bytes). */
|
|
125
|
+
metallicRoughnessTextureWidth?: number
|
|
126
|
+
/** Metallic-roughness texture height (required when texture is raw RGBA8 bytes). */
|
|
127
|
+
metallicRoughnessTextureHeight?: number
|
|
128
|
+
/** Metallic factor (0..1). Defaults to 0. */
|
|
129
|
+
metallic?: number
|
|
130
|
+
/** Roughness factor (0..1). Defaults to 1. */
|
|
131
|
+
roughness?: number
|
|
132
|
+
/** Emissive color `[r, g, b]` in 0..1 range. */
|
|
133
|
+
emissive?: Array<number>
|
|
134
|
+
/** Emissive intensity multiplier. Defaults to 1. */
|
|
135
|
+
emissiveIntensity?: number
|
|
136
|
+
/** Optional normal map image data (raw RGBA8 bytes or encoded PNG/JPEG/WebP). */
|
|
137
|
+
normalMap?: Buffer
|
|
138
|
+
/** Normal map width in pixels (required when `normal_map` is raw RGBA8 bytes). */
|
|
139
|
+
normalMapWidth?: number
|
|
140
|
+
/** Normal map height in pixels (required when `normal_map` is raw RGBA8 bytes). */
|
|
141
|
+
normalMapHeight?: number
|
|
142
|
+
/** Normal map scale `[x, y]`. Defaults to `[1, 1]`. */
|
|
143
|
+
normalScale?: Array<number>
|
|
144
|
+
/** Optional emissive map image data (raw RGBA8 bytes or encoded PNG/JPEG/WebP). */
|
|
145
|
+
emissiveMap?: Buffer
|
|
146
|
+
/** Emissive map width in pixels (required when `emissive_map` is raw RGBA8 bytes). */
|
|
147
|
+
emissiveMapWidth?: number
|
|
148
|
+
/** Emissive map height in pixels (required when `emissive_map` is raw RGBA8 bytes). */
|
|
149
|
+
emissiveMapHeight?: number
|
|
150
|
+
/**
|
|
151
|
+
* Optional ambient occlusion map image data (raw RGBA8 bytes or encoded PNG/JPEG/WebP).
|
|
152
|
+
* Red channel is used as the occlusion factor (Three.js / glTF convention).
|
|
153
|
+
*/
|
|
154
|
+
aoMap?: Buffer
|
|
155
|
+
/** AO map width in pixels (required when `ao_map` is raw RGBA8 bytes). */
|
|
156
|
+
aoMapWidth?: number
|
|
157
|
+
/** AO map height in pixels (required when `ao_map` is raw RGBA8 bytes). */
|
|
158
|
+
aoMapHeight?: number
|
|
159
|
+
/** AO map intensity multiplier (0..1). Defaults to 1. */
|
|
160
|
+
aoMapIntensity?: number
|
|
161
|
+
/** Alpha test cutoff threshold (0..1). Fragments with alpha below this are discarded. */
|
|
162
|
+
alphaTest?: number
|
|
163
|
+
/** Whether the mesh is transparent (sorted back-to-front, no depth write). */
|
|
164
|
+
transparent?: boolean
|
|
165
|
+
/** Which faces to render: `"front"` (default), `"back"`, or `"double"`. */
|
|
166
|
+
side?: string
|
|
167
|
+
/**
|
|
168
|
+
* Shading model: `"standard"` (default PBR), `"basic"` (unlit / MeshBasicMaterial),
|
|
169
|
+
* or `"lambert"` (diffuse-only / MeshLambertMaterial).
|
|
170
|
+
*/
|
|
171
|
+
shadingModel?: string
|
|
172
|
+
/** Primitive topology: `"triangles"` (default), `"lines"` (LineList), or `"points"`. */
|
|
173
|
+
topology?: string
|
|
174
|
+
/** Whether this mesh casts shadows in the shadow pass. Defaults to false. */
|
|
175
|
+
castShadow?: boolean
|
|
176
|
+
/** Whether this mesh receives shadows in the main pass. Defaults to false. */
|
|
177
|
+
receiveShadow?: boolean
|
|
178
|
+
}
|