@multiplekex/shallot 0.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/dist/core/builder.d.ts +25 -0
- package/dist/core/builder.d.ts.map +1 -0
- package/dist/core/builder.js +88 -0
- package/dist/core/builder.js.map +1 -0
- package/dist/core/component.d.ts +29 -0
- package/dist/core/component.d.ts.map +1 -0
- package/dist/core/component.js +36 -0
- package/dist/core/component.js.map +1 -0
- package/dist/core/index.d.ts +13 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/math.d.ts +32 -0
- package/dist/core/math.d.ts.map +1 -0
- package/dist/core/math.js +39 -0
- package/dist/core/math.js.map +1 -0
- package/dist/core/relation.d.ts +16 -0
- package/dist/core/relation.d.ts.map +1 -0
- package/dist/core/relation.js +32 -0
- package/dist/core/relation.js.map +1 -0
- package/dist/core/resource.d.ts +9 -0
- package/dist/core/resource.d.ts.map +1 -0
- package/dist/core/resource.js +12 -0
- package/dist/core/resource.js.map +1 -0
- package/dist/core/runtime.d.ts +13 -0
- package/dist/core/runtime.d.ts.map +1 -0
- package/dist/core/runtime.js +118 -0
- package/dist/core/runtime.js.map +1 -0
- package/dist/core/scheduler.d.ts +47 -0
- package/dist/core/scheduler.d.ts.map +1 -0
- package/dist/core/scheduler.js +138 -0
- package/dist/core/scheduler.js.map +1 -0
- package/dist/core/state.d.ts +62 -0
- package/dist/core/state.d.ts.map +1 -0
- package/dist/core/state.js +185 -0
- package/dist/core/state.js.map +1 -0
- package/dist/core/strings.d.ts +3 -0
- package/dist/core/strings.d.ts.map +1 -0
- package/dist/core/strings.js +11 -0
- package/dist/core/strings.js.map +1 -0
- package/dist/core/types.d.ts +33 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/xml.d.ts +42 -0
- package/dist/core/xml.d.ts.map +1 -0
- package/dist/core/xml.js +349 -0
- package/dist/core/xml.js.map +1 -0
- package/dist/extras/arrows/index.d.ts +33 -0
- package/dist/extras/arrows/index.d.ts.map +1 -0
- package/dist/extras/arrows/index.js +288 -0
- package/dist/extras/arrows/index.js.map +1 -0
- package/dist/extras/index.d.ts +5 -0
- package/dist/extras/index.d.ts.map +1 -0
- package/dist/extras/index.js +31 -0
- package/dist/extras/index.js.map +1 -0
- package/dist/extras/lines/index.d.ts +36 -0
- package/dist/extras/lines/index.d.ts.map +1 -0
- package/dist/extras/lines/index.js +288 -0
- package/dist/extras/lines/index.js.map +1 -0
- package/dist/extras/orbit/index.d.ts +20 -0
- package/dist/extras/orbit/index.d.ts.map +1 -0
- package/dist/extras/orbit/index.js +93 -0
- package/dist/extras/orbit/index.js.map +1 -0
- package/dist/extras/text/index.d.ts +64 -0
- package/dist/extras/text/index.d.ts.map +1 -0
- package/dist/extras/text/index.js +423 -0
- package/dist/extras/text/index.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +187 -0
- package/dist/index.js.map +1 -0
- package/dist/rust/transforms/pkg/shallot_transforms.js +107 -0
- package/dist/rust/transforms/pkg/shallot_transforms.js.map +1 -0
- package/dist/standard/compute/graph.d.ts +37 -0
- package/dist/standard/compute/graph.d.ts.map +1 -0
- package/dist/standard/compute/graph.js +85 -0
- package/dist/standard/compute/graph.js.map +1 -0
- package/dist/standard/compute/index.d.ts +21 -0
- package/dist/standard/compute/index.d.ts.map +1 -0
- package/dist/standard/compute/index.js +81 -0
- package/dist/standard/compute/index.js.map +1 -0
- package/dist/standard/defaults.d.ts +3 -0
- package/dist/standard/defaults.d.ts.map +1 -0
- package/dist/standard/defaults.js +18 -0
- package/dist/standard/defaults.js.map +1 -0
- package/dist/standard/index.d.ts +8 -0
- package/dist/standard/index.d.ts.map +1 -0
- package/dist/standard/input/index.d.ts +5 -0
- package/dist/standard/input/index.d.ts.map +1 -0
- package/dist/standard/input/index.js +70 -0
- package/dist/standard/input/index.js.map +1 -0
- package/dist/standard/loading/index.d.ts +7 -0
- package/dist/standard/loading/index.d.ts.map +1 -0
- package/dist/standard/loading/index.js +91 -0
- package/dist/standard/loading/index.js.map +1 -0
- package/dist/standard/render/camera.d.ts +36 -0
- package/dist/standard/render/camera.d.ts.map +1 -0
- package/dist/standard/render/camera.js +71 -0
- package/dist/standard/render/camera.js.map +1 -0
- package/dist/standard/render/forward.d.ts +30 -0
- package/dist/standard/render/forward.d.ts.map +1 -0
- package/dist/standard/render/forward.js +158 -0
- package/dist/standard/render/forward.js.map +1 -0
- package/dist/standard/render/index.d.ts +22 -0
- package/dist/standard/render/index.d.ts.map +1 -0
- package/dist/standard/render/index.js +153 -0
- package/dist/standard/render/index.js.map +1 -0
- package/dist/standard/render/light.d.ts +25 -0
- package/dist/standard/render/light.d.ts.map +1 -0
- package/dist/standard/render/light.js +48 -0
- package/dist/standard/render/light.js.map +1 -0
- package/dist/standard/render/mesh/box.d.ts +3 -0
- package/dist/standard/render/mesh/box.d.ts.map +1 -0
- package/dist/standard/render/mesh/box.js +190 -0
- package/dist/standard/render/mesh/box.js.map +1 -0
- package/dist/standard/render/mesh/index.d.ts +52 -0
- package/dist/standard/render/mesh/index.d.ts.map +1 -0
- package/dist/standard/render/mesh/index.js +158 -0
- package/dist/standard/render/mesh/index.js.map +1 -0
- package/dist/standard/render/mesh/plane.d.ts +3 -0
- package/dist/standard/render/mesh/plane.d.ts.map +1 -0
- package/dist/standard/render/mesh/plane.js +33 -0
- package/dist/standard/render/mesh/plane.js.map +1 -0
- package/dist/standard/render/mesh/sphere.d.ts +3 -0
- package/dist/standard/render/mesh/sphere.d.ts.map +1 -0
- package/dist/standard/render/mesh/sphere.js +25 -0
- package/dist/standard/render/mesh/sphere.js.map +1 -0
- package/dist/standard/render/postprocess.d.ts +11 -0
- package/dist/standard/render/postprocess.d.ts.map +1 -0
- package/dist/standard/render/postprocess.js +190 -0
- package/dist/standard/render/postprocess.js.map +1 -0
- package/dist/standard/render/scene.d.ts +8 -0
- package/dist/standard/render/scene.d.ts.map +1 -0
- package/dist/standard/render/scene.js +67 -0
- package/dist/standard/render/scene.js.map +1 -0
- package/dist/standard/transforms/index.d.ts +27 -0
- package/dist/standard/transforms/index.d.ts.map +1 -0
- package/dist/standard/transforms/index.js +122 -0
- package/dist/standard/transforms/index.js.map +1 -0
- package/dist/standard/transforms/wasm.d.ts +17 -0
- package/dist/standard/transforms/wasm.d.ts.map +1 -0
- package/dist/standard/transforms/wasm.js +31 -0
- package/dist/standard/transforms/wasm.js.map +1 -0
- package/dist/standard/tween/easing.d.ts +5 -0
- package/dist/standard/tween/easing.d.ts.map +1 -0
- package/dist/standard/tween/easing.js +80 -0
- package/dist/standard/tween/easing.js.map +1 -0
- package/dist/standard/tween/index.d.ts +4 -0
- package/dist/standard/tween/index.d.ts.map +1 -0
- package/dist/standard/tween/sequence.d.ts +20 -0
- package/dist/standard/tween/sequence.d.ts.map +1 -0
- package/dist/standard/tween/sequence.js +95 -0
- package/dist/standard/tween/sequence.js.map +1 -0
- package/dist/standard/tween/tween.d.ts +28 -0
- package/dist/standard/tween/tween.d.ts.map +1 -0
- package/dist/standard/tween/tween.js +136 -0
- package/dist/standard/tween/tween.js.map +1 -0
- package/package.json +63 -0
- package/src/core/builder.ts +148 -0
- package/src/core/component.ts +71 -0
- package/src/core/index.ts +92 -0
- package/src/core/math.ts +128 -0
- package/src/core/relation.ts +46 -0
- package/src/core/resource.ts +18 -0
- package/src/core/runtime.ts +185 -0
- package/src/core/scheduler.ts +238 -0
- package/src/core/state.ts +295 -0
- package/src/core/strings.ts +10 -0
- package/src/core/types.ts +37 -0
- package/src/core/xml.ts +676 -0
- package/src/extras/arrows/index.ts +363 -0
- package/src/extras/index.ts +4 -0
- package/src/extras/lines/index.ts +368 -0
- package/src/extras/orbit/index.ts +133 -0
- package/src/extras/text/index.ts +641 -0
- package/src/index.ts +3 -0
- package/src/standard/compute/graph.ts +165 -0
- package/src/standard/compute/index.ts +116 -0
- package/src/standard/defaults.ts +17 -0
- package/src/standard/index.ts +7 -0
- package/src/standard/input/index.ts +142 -0
- package/src/standard/loading/index.ts +136 -0
- package/src/standard/render/camera.ts +87 -0
- package/src/standard/render/forward.ts +212 -0
- package/src/standard/render/index.ts +175 -0
- package/src/standard/render/light.ts +81 -0
- package/src/standard/render/mesh/box.ts +20 -0
- package/src/standard/render/mesh/index.ts +227 -0
- package/src/standard/render/mesh/plane.ts +11 -0
- package/src/standard/render/mesh/sphere.ts +40 -0
- package/src/standard/render/postprocess.ts +235 -0
- package/src/standard/render/scene.ts +116 -0
- package/src/standard/transforms/index.ts +184 -0
- package/src/standard/transforms/wasm.ts +61 -0
- package/src/standard/tween/easing.ts +169 -0
- package/src/standard/tween/index.ts +13 -0
- package/src/standard/tween/sequence.ts +142 -0
- package/src/standard/tween/tween.ts +265 -0
- package/src/vite-env.d.ts +6 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
function t() {
|
|
2
|
+
const e = new Float32Array([
|
|
3
|
+
-0.5,
|
|
4
|
+
-0.5,
|
|
5
|
+
0.5,
|
|
6
|
+
0,
|
|
7
|
+
0,
|
|
8
|
+
1,
|
|
9
|
+
0.5,
|
|
10
|
+
-0.5,
|
|
11
|
+
0.5,
|
|
12
|
+
0,
|
|
13
|
+
0,
|
|
14
|
+
1,
|
|
15
|
+
0.5,
|
|
16
|
+
0.5,
|
|
17
|
+
0.5,
|
|
18
|
+
0,
|
|
19
|
+
0,
|
|
20
|
+
1,
|
|
21
|
+
-0.5,
|
|
22
|
+
0.5,
|
|
23
|
+
0.5,
|
|
24
|
+
0,
|
|
25
|
+
0,
|
|
26
|
+
1,
|
|
27
|
+
0.5,
|
|
28
|
+
-0.5,
|
|
29
|
+
-0.5,
|
|
30
|
+
0,
|
|
31
|
+
0,
|
|
32
|
+
-1,
|
|
33
|
+
-0.5,
|
|
34
|
+
-0.5,
|
|
35
|
+
-0.5,
|
|
36
|
+
0,
|
|
37
|
+
0,
|
|
38
|
+
-1,
|
|
39
|
+
-0.5,
|
|
40
|
+
0.5,
|
|
41
|
+
-0.5,
|
|
42
|
+
0,
|
|
43
|
+
0,
|
|
44
|
+
-1,
|
|
45
|
+
0.5,
|
|
46
|
+
0.5,
|
|
47
|
+
-0.5,
|
|
48
|
+
0,
|
|
49
|
+
0,
|
|
50
|
+
-1,
|
|
51
|
+
-0.5,
|
|
52
|
+
0.5,
|
|
53
|
+
0.5,
|
|
54
|
+
0,
|
|
55
|
+
1,
|
|
56
|
+
0,
|
|
57
|
+
0.5,
|
|
58
|
+
0.5,
|
|
59
|
+
0.5,
|
|
60
|
+
0,
|
|
61
|
+
1,
|
|
62
|
+
0,
|
|
63
|
+
0.5,
|
|
64
|
+
0.5,
|
|
65
|
+
-0.5,
|
|
66
|
+
0,
|
|
67
|
+
1,
|
|
68
|
+
0,
|
|
69
|
+
-0.5,
|
|
70
|
+
0.5,
|
|
71
|
+
-0.5,
|
|
72
|
+
0,
|
|
73
|
+
1,
|
|
74
|
+
0,
|
|
75
|
+
-0.5,
|
|
76
|
+
-0.5,
|
|
77
|
+
-0.5,
|
|
78
|
+
0,
|
|
79
|
+
-1,
|
|
80
|
+
0,
|
|
81
|
+
0.5,
|
|
82
|
+
-0.5,
|
|
83
|
+
-0.5,
|
|
84
|
+
0,
|
|
85
|
+
-1,
|
|
86
|
+
0,
|
|
87
|
+
0.5,
|
|
88
|
+
-0.5,
|
|
89
|
+
0.5,
|
|
90
|
+
0,
|
|
91
|
+
-1,
|
|
92
|
+
0,
|
|
93
|
+
-0.5,
|
|
94
|
+
-0.5,
|
|
95
|
+
0.5,
|
|
96
|
+
0,
|
|
97
|
+
-1,
|
|
98
|
+
0,
|
|
99
|
+
0.5,
|
|
100
|
+
-0.5,
|
|
101
|
+
0.5,
|
|
102
|
+
1,
|
|
103
|
+
0,
|
|
104
|
+
0,
|
|
105
|
+
0.5,
|
|
106
|
+
-0.5,
|
|
107
|
+
-0.5,
|
|
108
|
+
1,
|
|
109
|
+
0,
|
|
110
|
+
0,
|
|
111
|
+
0.5,
|
|
112
|
+
0.5,
|
|
113
|
+
-0.5,
|
|
114
|
+
1,
|
|
115
|
+
0,
|
|
116
|
+
0,
|
|
117
|
+
0.5,
|
|
118
|
+
0.5,
|
|
119
|
+
0.5,
|
|
120
|
+
1,
|
|
121
|
+
0,
|
|
122
|
+
0,
|
|
123
|
+
-0.5,
|
|
124
|
+
-0.5,
|
|
125
|
+
-0.5,
|
|
126
|
+
-1,
|
|
127
|
+
0,
|
|
128
|
+
0,
|
|
129
|
+
-0.5,
|
|
130
|
+
-0.5,
|
|
131
|
+
0.5,
|
|
132
|
+
-1,
|
|
133
|
+
0,
|
|
134
|
+
0,
|
|
135
|
+
-0.5,
|
|
136
|
+
0.5,
|
|
137
|
+
0.5,
|
|
138
|
+
-1,
|
|
139
|
+
0,
|
|
140
|
+
0,
|
|
141
|
+
-0.5,
|
|
142
|
+
0.5,
|
|
143
|
+
-0.5,
|
|
144
|
+
-1,
|
|
145
|
+
0,
|
|
146
|
+
0
|
|
147
|
+
]), n = new Uint16Array([
|
|
148
|
+
0,
|
|
149
|
+
1,
|
|
150
|
+
2,
|
|
151
|
+
0,
|
|
152
|
+
2,
|
|
153
|
+
3,
|
|
154
|
+
4,
|
|
155
|
+
5,
|
|
156
|
+
6,
|
|
157
|
+
4,
|
|
158
|
+
6,
|
|
159
|
+
7,
|
|
160
|
+
8,
|
|
161
|
+
9,
|
|
162
|
+
10,
|
|
163
|
+
8,
|
|
164
|
+
10,
|
|
165
|
+
11,
|
|
166
|
+
12,
|
|
167
|
+
13,
|
|
168
|
+
14,
|
|
169
|
+
12,
|
|
170
|
+
14,
|
|
171
|
+
15,
|
|
172
|
+
16,
|
|
173
|
+
17,
|
|
174
|
+
18,
|
|
175
|
+
16,
|
|
176
|
+
18,
|
|
177
|
+
19,
|
|
178
|
+
20,
|
|
179
|
+
21,
|
|
180
|
+
22,
|
|
181
|
+
20,
|
|
182
|
+
22,
|
|
183
|
+
23
|
|
184
|
+
]);
|
|
185
|
+
return { vertices: e, indices: n, vertexCount: 24, indexCount: 36 };
|
|
186
|
+
}
|
|
187
|
+
export {
|
|
188
|
+
t as createBox
|
|
189
|
+
};
|
|
190
|
+
//# sourceMappingURL=box.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"box.js","sources":["../../../../src/standard/render/mesh/box.ts"],"sourcesContent":["import type { MeshData } from \"./index\";\n\nexport function createBox(): MeshData {\n const vertices = new Float32Array([\n -0.5, -0.5, 0.5, 0, 0, 1, 0.5, -0.5, 0.5, 0, 0, 1, 0.5, 0.5, 0.5, 0, 0, 1, -0.5, 0.5, 0.5,\n 0, 0, 1, 0.5, -0.5, -0.5, 0, 0, -1, -0.5, -0.5, -0.5, 0, 0, -1, -0.5, 0.5, -0.5, 0, 0, -1,\n 0.5, 0.5, -0.5, 0, 0, -1, -0.5, 0.5, 0.5, 0, 1, 0, 0.5, 0.5, 0.5, 0, 1, 0, 0.5, 0.5, -0.5,\n 0, 1, 0, -0.5, 0.5, -0.5, 0, 1, 0, -0.5, -0.5, -0.5, 0, -1, 0, 0.5, -0.5, -0.5, 0, -1, 0,\n 0.5, -0.5, 0.5, 0, -1, 0, -0.5, -0.5, 0.5, 0, -1, 0, 0.5, -0.5, 0.5, 1, 0, 0, 0.5, -0.5,\n -0.5, 1, 0, 0, 0.5, 0.5, -0.5, 1, 0, 0, 0.5, 0.5, 0.5, 1, 0, 0, -0.5, -0.5, -0.5, -1, 0, 0,\n -0.5, -0.5, 0.5, -1, 0, 0, -0.5, 0.5, 0.5, -1, 0, 0, -0.5, 0.5, -0.5, -1, 0, 0,\n ]);\n\n const indices = new Uint16Array([\n 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, 8, 9, 10, 8, 10, 11, 12, 13, 14, 12, 14, 15, 16, 17, 18,\n 16, 18, 19, 20, 21, 22, 20, 22, 23,\n ]);\n\n return { vertices, indices, vertexCount: 24, indexCount: 36 };\n}\n"],"names":["createBox","vertices","indices"],"mappings":"AAEO,SAASA,IAAsB;AAClC,QAAMC,IAAW,IAAI,aAAa;AAAA,IAC9B;AAAA,IAAM;AAAA,IAAM;AAAA,IAAK;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAK;AAAA,IAAM;AAAA,IAAK;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAM;AAAA,IAAK;AAAA,IACtF;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAK;AAAA,IAAM;AAAA,IAAM;AAAA,IAAG;AAAA,IAAG;AAAA,IAAI;AAAA,IAAM;AAAA,IAAM;AAAA,IAAM;AAAA,IAAG;AAAA,IAAG;AAAA,IAAI;AAAA,IAAM;AAAA,IAAK;AAAA,IAAM;AAAA,IAAG;AAAA,IAAG;AAAA,IACvF;AAAA,IAAK;AAAA,IAAK;AAAA,IAAM;AAAA,IAAG;AAAA,IAAG;AAAA,IAAI;AAAA,IAAM;AAAA,IAAK;AAAA,IAAK;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAK;AAAA,IAAK;AAAA,IACrF;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAM;AAAA,IAAK;AAAA,IAAM;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAM;AAAA,IAAM;AAAA,IAAM;AAAA,IAAG;AAAA,IAAI;AAAA,IAAG;AAAA,IAAK;AAAA,IAAM;AAAA,IAAM;AAAA,IAAG;AAAA,IAAI;AAAA,IACvF;AAAA,IAAK;AAAA,IAAM;AAAA,IAAK;AAAA,IAAG;AAAA,IAAI;AAAA,IAAG;AAAA,IAAM;AAAA,IAAM;AAAA,IAAK;AAAA,IAAG;AAAA,IAAI;AAAA,IAAG;AAAA,IAAK;AAAA,IAAM;AAAA,IAAK;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAK;AAAA,IACnF;AAAA,IAAM;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAK;AAAA,IAAK;AAAA,IAAM;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAM;AAAA,IAAM;AAAA,IAAM;AAAA,IAAI;AAAA,IAAG;AAAA,IACzF;AAAA,IAAM;AAAA,IAAM;AAAA,IAAK;AAAA,IAAI;AAAA,IAAG;AAAA,IAAG;AAAA,IAAM;AAAA,IAAK;AAAA,IAAK;AAAA,IAAI;AAAA,IAAG;AAAA,IAAG;AAAA,IAAM;AAAA,IAAK;AAAA,IAAM;AAAA,IAAI;AAAA,IAAG;AAAA,EAAA,CAChF,GAEKC,IAAU,IAAI,YAAY;AAAA,IAC5B;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAI;AAAA,IAAG;AAAA,IAAI;AAAA,IAAI;AAAA,IAAI;AAAA,IAAI;AAAA,IAAI;AAAA,IAAI;AAAA,IAAI;AAAA,IAAI;AAAA,IAAI;AAAA,IAAI;AAAA,IACzF;AAAA,IAAI;AAAA,IAAI;AAAA,IAAI;AAAA,IAAI;AAAA,IAAI;AAAA,IAAI;AAAA,IAAI;AAAA,IAAI;AAAA,EAAA,CACnC;AAED,SAAO,EAAE,UAAAD,GAAU,SAAAC,GAAS,aAAa,IAAI,YAAY,GAAA;AAC7D;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { FieldAccessor } from '../../../core/component';
|
|
2
|
+
export interface MeshData {
|
|
3
|
+
vertices: Float32Array<ArrayBuffer>;
|
|
4
|
+
indices: Uint16Array<ArrayBuffer>;
|
|
5
|
+
vertexCount: number;
|
|
6
|
+
indexCount: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const MeshShape: {
|
|
9
|
+
readonly Box: 0;
|
|
10
|
+
readonly Sphere: 1;
|
|
11
|
+
readonly Plane: 2;
|
|
12
|
+
};
|
|
13
|
+
export declare function createGeometry(shape: number): MeshData;
|
|
14
|
+
export declare const MeshColors: {
|
|
15
|
+
data: Float32Array<ArrayBuffer>;
|
|
16
|
+
};
|
|
17
|
+
export declare const MeshSizes: {
|
|
18
|
+
data: Float32Array<ArrayBuffer>;
|
|
19
|
+
};
|
|
20
|
+
interface ColorProxy extends Array<number>, FieldAccessor {
|
|
21
|
+
}
|
|
22
|
+
interface SizeProxy extends Array<number>, FieldAccessor {
|
|
23
|
+
}
|
|
24
|
+
export declare const Mesh: {
|
|
25
|
+
shape: number[];
|
|
26
|
+
color: ColorProxy;
|
|
27
|
+
sizeX: SizeProxy;
|
|
28
|
+
sizeY: SizeProxy;
|
|
29
|
+
sizeZ: SizeProxy;
|
|
30
|
+
};
|
|
31
|
+
export interface MeshBuffers {
|
|
32
|
+
vertex: GPUBuffer;
|
|
33
|
+
index: GPUBuffer;
|
|
34
|
+
indexCount: number;
|
|
35
|
+
}
|
|
36
|
+
export declare function createMeshBuffers(device: GPUDevice, mesh: MeshData): MeshBuffers;
|
|
37
|
+
export declare function collectByShape(entities: Iterable<number>): Map<number, number[]>;
|
|
38
|
+
export interface ShapeBatch {
|
|
39
|
+
index: number;
|
|
40
|
+
buffers: MeshBuffers;
|
|
41
|
+
entityIds: GPUBuffer;
|
|
42
|
+
count: number;
|
|
43
|
+
}
|
|
44
|
+
export interface BatchState {
|
|
45
|
+
batches: Map<number, ShapeBatch>;
|
|
46
|
+
buffers: Map<number, MeshBuffers>;
|
|
47
|
+
}
|
|
48
|
+
export declare function updateBatches(device: GPUDevice, byShape: Map<number, number[]>, state: BatchState, indirect: GPUBuffer): void;
|
|
49
|
+
export { createBox } from './box';
|
|
50
|
+
export { createSphere } from './sphere';
|
|
51
|
+
export { createPlane } from './plane';
|
|
52
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/standard/render/mesh/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAOxE,MAAM,WAAW,QAAQ;IACrB,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,SAAS;;;;CAIZ,CAAC;AAEX,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAStD;AAED,eAAO,MAAM,UAAU;;CAEtB,CAAC;AAEF,eAAO,MAAM,SAAS;;CAErB,CAAC;AAEF,UAAU,UAAW,SAAQ,KAAK,CAAC,MAAM,CAAC,EAAE,aAAa;CAAG;AAsC5D,UAAU,SAAU,SAAQ,KAAK,CAAC,MAAM,CAAC,EAAE,aAAa;CAAG;AA8B3D,eAAO,MAAM,IAAI,EAAE;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;CAOpB,CAAC;AAkBF,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,GAAG,WAAW,CAgBhF;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAYhF;AAED,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACrC;AAED,wBAAgB,aAAa,CACzB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAC9B,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,SAAS,GACpB,IAAI,CA6BN;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import "bitecs";
|
|
2
|
+
import { MAX_ENTITIES as l } from "../../../core/state.js";
|
|
3
|
+
import "../../../core/builder.js";
|
|
4
|
+
import { setTraits as d } from "../../../core/component.js";
|
|
5
|
+
import "../../../core/relation.js";
|
|
6
|
+
import "../../../core/math.js";
|
|
7
|
+
import "fast-xml-parser";
|
|
8
|
+
import { createEntityIdBuffer as h } from "../../compute/index.js";
|
|
9
|
+
import { writeIndirect as b } from "../forward.js";
|
|
10
|
+
import { createBox as m } from "./box.js";
|
|
11
|
+
import { createSphere as g } from "./sphere.js";
|
|
12
|
+
import { createPlane as x } from "./plane.js";
|
|
13
|
+
const c = {
|
|
14
|
+
Box: 0,
|
|
15
|
+
Sphere: 1,
|
|
16
|
+
Plane: 2
|
|
17
|
+
};
|
|
18
|
+
function p(t) {
|
|
19
|
+
switch (t) {
|
|
20
|
+
case c.Sphere:
|
|
21
|
+
return g();
|
|
22
|
+
case c.Plane:
|
|
23
|
+
return x();
|
|
24
|
+
default:
|
|
25
|
+
return m();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const N = {
|
|
29
|
+
data: new Float32Array(l * 4)
|
|
30
|
+
}, z = {
|
|
31
|
+
data: new Float32Array(l * 4)
|
|
32
|
+
};
|
|
33
|
+
function B() {
|
|
34
|
+
const t = N.data;
|
|
35
|
+
function n(i) {
|
|
36
|
+
const e = i * 4, r = Math.round(t[e] * 255), o = Math.round(t[e + 1] * 255), u = Math.round(t[e + 2] * 255);
|
|
37
|
+
return r << 16 | o << 8 | u;
|
|
38
|
+
}
|
|
39
|
+
function s(i, e) {
|
|
40
|
+
const r = i * 4;
|
|
41
|
+
t[r] = (e >> 16 & 255) / 255, t[r + 1] = (e >> 8 & 255) / 255, t[r + 2] = (e & 255) / 255, t[r + 3] = 1;
|
|
42
|
+
}
|
|
43
|
+
return new Proxy([], {
|
|
44
|
+
get(i, e) {
|
|
45
|
+
if (e === "get") return n;
|
|
46
|
+
if (e === "set") return s;
|
|
47
|
+
const r = Number(e);
|
|
48
|
+
if (!Number.isNaN(r))
|
|
49
|
+
return n(r);
|
|
50
|
+
},
|
|
51
|
+
set(i, e, r) {
|
|
52
|
+
const o = Number(e);
|
|
53
|
+
return Number.isNaN(o) ? !1 : (s(o, r), !0);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function a(t) {
|
|
58
|
+
const n = z.data;
|
|
59
|
+
function s(e) {
|
|
60
|
+
return n[e * 4 + t];
|
|
61
|
+
}
|
|
62
|
+
function i(e, r) {
|
|
63
|
+
n[e * 4 + t] = r;
|
|
64
|
+
}
|
|
65
|
+
return new Proxy([], {
|
|
66
|
+
get(e, r) {
|
|
67
|
+
if (r === "get") return s;
|
|
68
|
+
if (r === "set") return i;
|
|
69
|
+
const o = Number(r);
|
|
70
|
+
if (!Number.isNaN(o))
|
|
71
|
+
return s(o);
|
|
72
|
+
},
|
|
73
|
+
set(e, r, o) {
|
|
74
|
+
const u = Number(r);
|
|
75
|
+
return Number.isNaN(u) ? !1 : (i(u, o), !0);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
const f = {
|
|
80
|
+
shape: [],
|
|
81
|
+
color: B(),
|
|
82
|
+
sizeX: a(0),
|
|
83
|
+
sizeY: a(1),
|
|
84
|
+
sizeZ: a(2)
|
|
85
|
+
};
|
|
86
|
+
d(f, {
|
|
87
|
+
defaults: () => ({
|
|
88
|
+
shape: c.Box,
|
|
89
|
+
color: 16777215,
|
|
90
|
+
sizeX: 1,
|
|
91
|
+
sizeY: 1,
|
|
92
|
+
sizeZ: 1
|
|
93
|
+
}),
|
|
94
|
+
accessors: {
|
|
95
|
+
color: f.color,
|
|
96
|
+
sizeX: f.sizeX,
|
|
97
|
+
sizeY: f.sizeY,
|
|
98
|
+
sizeZ: f.sizeZ
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
function y(t, n) {
|
|
102
|
+
const s = t.createBuffer({
|
|
103
|
+
label: "vertex",
|
|
104
|
+
size: n.vertices.byteLength,
|
|
105
|
+
usage: GPUBufferUsage.VERTEX | GPUBufferUsage.COPY_DST
|
|
106
|
+
});
|
|
107
|
+
t.queue.writeBuffer(s, 0, n.vertices);
|
|
108
|
+
const i = t.createBuffer({
|
|
109
|
+
label: "index",
|
|
110
|
+
size: n.indices.byteLength,
|
|
111
|
+
usage: GPUBufferUsage.INDEX | GPUBufferUsage.COPY_DST
|
|
112
|
+
});
|
|
113
|
+
return t.queue.writeBuffer(i, 0, n.indices), { vertex: s, index: i, indexCount: n.indexCount };
|
|
114
|
+
}
|
|
115
|
+
function Y(t) {
|
|
116
|
+
const n = /* @__PURE__ */ new Map();
|
|
117
|
+
for (const s of t) {
|
|
118
|
+
const i = f.shape[s];
|
|
119
|
+
let e = n.get(i);
|
|
120
|
+
e || (e = [], n.set(i, e)), e.push(s);
|
|
121
|
+
}
|
|
122
|
+
return n;
|
|
123
|
+
}
|
|
124
|
+
function G(t, n, s, i) {
|
|
125
|
+
for (const [e, r] of n) {
|
|
126
|
+
let o = s.batches.get(e);
|
|
127
|
+
if (!o) {
|
|
128
|
+
let u = s.buffers.get(e);
|
|
129
|
+
u || (u = y(t, p(e)), s.buffers.set(e, u)), o = {
|
|
130
|
+
index: s.batches.size,
|
|
131
|
+
buffers: u,
|
|
132
|
+
entityIds: h(t, l),
|
|
133
|
+
count: 0
|
|
134
|
+
}, s.batches.set(e, o);
|
|
135
|
+
}
|
|
136
|
+
t.queue.writeBuffer(o.entityIds, 0, new Uint32Array(r)), o.count = r.length, b(t, i, o.index, {
|
|
137
|
+
indexCount: o.buffers.indexCount,
|
|
138
|
+
instanceCount: r.length,
|
|
139
|
+
firstIndex: 0,
|
|
140
|
+
baseVertex: 0,
|
|
141
|
+
firstInstance: 0
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
export {
|
|
146
|
+
f as Mesh,
|
|
147
|
+
N as MeshColors,
|
|
148
|
+
c as MeshShape,
|
|
149
|
+
z as MeshSizes,
|
|
150
|
+
Y as collectByShape,
|
|
151
|
+
m as createBox,
|
|
152
|
+
p as createGeometry,
|
|
153
|
+
y as createMeshBuffers,
|
|
154
|
+
x as createPlane,
|
|
155
|
+
g as createSphere,
|
|
156
|
+
G as updateBatches
|
|
157
|
+
};
|
|
158
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/standard/render/mesh/index.ts"],"sourcesContent":["import { MAX_ENTITIES } from \"../../../core\";\nimport { setTraits, type FieldAccessor } from \"../../../core/component\";\nimport { createEntityIdBuffer } from \"../../compute\";\nimport { writeIndirect } from \"../forward\";\nimport { createBox } from \"./box\";\nimport { createSphere } from \"./sphere\";\nimport { createPlane } from \"./plane\";\n\nexport interface MeshData {\n vertices: Float32Array<ArrayBuffer>;\n indices: Uint16Array<ArrayBuffer>;\n vertexCount: number;\n indexCount: number;\n}\n\nexport const MeshShape = {\n Box: 0,\n Sphere: 1,\n Plane: 2,\n} as const;\n\nexport function createGeometry(shape: number): MeshData {\n switch (shape) {\n case MeshShape.Sphere:\n return createSphere();\n case MeshShape.Plane:\n return createPlane();\n default:\n return createBox();\n }\n}\n\nexport const MeshColors = {\n data: new Float32Array(MAX_ENTITIES * 4),\n};\n\nexport const MeshSizes = {\n data: new Float32Array(MAX_ENTITIES * 4),\n};\n\ninterface ColorProxy extends Array<number>, FieldAccessor {}\n\nfunction colorProxy(): ColorProxy {\n const data = MeshColors.data;\n\n function getValue(eid: number): number {\n const offset = eid * 4;\n const r = Math.round(data[offset] * 255);\n const g = Math.round(data[offset + 1] * 255);\n const b = Math.round(data[offset + 2] * 255);\n return (r << 16) | (g << 8) | b;\n }\n\n function setValue(eid: number, value: number): void {\n const offset = eid * 4;\n data[offset] = ((value >> 16) & 0xff) / 255;\n data[offset + 1] = ((value >> 8) & 0xff) / 255;\n data[offset + 2] = (value & 0xff) / 255;\n data[offset + 3] = 1;\n }\n\n return new Proxy([] as unknown as ColorProxy, {\n get(_, prop) {\n if (prop === \"get\") return getValue;\n if (prop === \"set\") return setValue;\n const eid = Number(prop);\n if (Number.isNaN(eid)) return undefined;\n return getValue(eid);\n },\n set(_, prop, value) {\n const eid = Number(prop);\n if (Number.isNaN(eid)) return false;\n setValue(eid, value);\n return true;\n },\n });\n}\n\ninterface SizeProxy extends Array<number>, FieldAccessor {}\n\nfunction sizeProxy(component: number): SizeProxy {\n const data = MeshSizes.data;\n\n function getValue(eid: number): number {\n return data[eid * 4 + component];\n }\n\n function setValue(eid: number, value: number): void {\n data[eid * 4 + component] = value;\n }\n\n return new Proxy([] as unknown as SizeProxy, {\n get(_, prop) {\n if (prop === \"get\") return getValue;\n if (prop === \"set\") return setValue;\n const eid = Number(prop);\n if (Number.isNaN(eid)) return undefined;\n return getValue(eid);\n },\n set(_, prop, value) {\n const eid = Number(prop);\n if (Number.isNaN(eid)) return false;\n setValue(eid, value);\n return true;\n },\n });\n}\n\nexport const Mesh: {\n shape: number[];\n color: ColorProxy;\n sizeX: SizeProxy;\n sizeY: SizeProxy;\n sizeZ: SizeProxy;\n} = {\n shape: [],\n color: colorProxy(),\n sizeX: sizeProxy(0),\n sizeY: sizeProxy(1),\n sizeZ: sizeProxy(2),\n};\n\nsetTraits(Mesh, {\n defaults: () => ({\n shape: MeshShape.Box,\n color: 0xffffff,\n sizeX: 1,\n sizeY: 1,\n sizeZ: 1,\n }),\n accessors: {\n color: Mesh.color,\n sizeX: Mesh.sizeX,\n sizeY: Mesh.sizeY,\n sizeZ: Mesh.sizeZ,\n },\n});\n\nexport interface MeshBuffers {\n vertex: GPUBuffer;\n index: GPUBuffer;\n indexCount: number;\n}\n\nexport function createMeshBuffers(device: GPUDevice, mesh: MeshData): MeshBuffers {\n const vertex = device.createBuffer({\n label: \"vertex\",\n size: mesh.vertices.byteLength,\n usage: GPUBufferUsage.VERTEX | GPUBufferUsage.COPY_DST,\n });\n device.queue.writeBuffer(vertex, 0, mesh.vertices);\n\n const index = device.createBuffer({\n label: \"index\",\n size: mesh.indices.byteLength,\n usage: GPUBufferUsage.INDEX | GPUBufferUsage.COPY_DST,\n });\n device.queue.writeBuffer(index, 0, mesh.indices);\n\n return { vertex, index, indexCount: mesh.indexCount };\n}\n\nexport function collectByShape(entities: Iterable<number>): Map<number, number[]> {\n const byShape = new Map<number, number[]>();\n for (const eid of entities) {\n const shape = Mesh.shape[eid];\n let list = byShape.get(shape);\n if (!list) {\n list = [];\n byShape.set(shape, list);\n }\n list.push(eid);\n }\n return byShape;\n}\n\nexport interface ShapeBatch {\n index: number;\n buffers: MeshBuffers;\n entityIds: GPUBuffer;\n count: number;\n}\n\nexport interface BatchState {\n batches: Map<number, ShapeBatch>;\n buffers: Map<number, MeshBuffers>;\n}\n\nexport function updateBatches(\n device: GPUDevice,\n byShape: Map<number, number[]>,\n state: BatchState,\n indirect: GPUBuffer\n): void {\n for (const [shape, entities] of byShape) {\n let batch = state.batches.get(shape);\n if (!batch) {\n let buffers = state.buffers.get(shape);\n if (!buffers) {\n buffers = createMeshBuffers(device, createGeometry(shape));\n state.buffers.set(shape, buffers);\n }\n batch = {\n index: state.batches.size,\n buffers,\n entityIds: createEntityIdBuffer(device, MAX_ENTITIES),\n count: 0,\n };\n state.batches.set(shape, batch);\n }\n\n device.queue.writeBuffer(batch.entityIds, 0, new Uint32Array(entities));\n batch.count = entities.length;\n\n writeIndirect(device, indirect, batch.index, {\n indexCount: batch.buffers.indexCount,\n instanceCount: entities.length,\n firstIndex: 0,\n baseVertex: 0,\n firstInstance: 0,\n });\n }\n}\n\nexport { createBox } from \"./box\";\nexport { createSphere } from \"./sphere\";\nexport { createPlane } from \"./plane\";\n"],"names":["MeshShape","createGeometry","shape","createSphere","createPlane","createBox","MeshColors","MAX_ENTITIES","MeshSizes","colorProxy","data","getValue","eid","offset","g","b","setValue","value","_","prop","sizeProxy","component","Mesh","setTraits","createMeshBuffers","device","mesh","vertex","index","collectByShape","entities","byShape","list","updateBatches","state","indirect","batch","buffers","createEntityIdBuffer","writeIndirect"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plane.d.ts","sourceRoot":"","sources":["../../../../src/standard/render/mesh/plane.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,wBAAgB,WAAW,IAAI,QAAQ,CAQtC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
function t() {
|
|
2
|
+
const e = new Float32Array([
|
|
3
|
+
-0.5,
|
|
4
|
+
0,
|
|
5
|
+
0.5,
|
|
6
|
+
0,
|
|
7
|
+
1,
|
|
8
|
+
0,
|
|
9
|
+
0.5,
|
|
10
|
+
0,
|
|
11
|
+
0.5,
|
|
12
|
+
0,
|
|
13
|
+
1,
|
|
14
|
+
0,
|
|
15
|
+
0.5,
|
|
16
|
+
0,
|
|
17
|
+
-0.5,
|
|
18
|
+
0,
|
|
19
|
+
1,
|
|
20
|
+
0,
|
|
21
|
+
-0.5,
|
|
22
|
+
0,
|
|
23
|
+
-0.5,
|
|
24
|
+
0,
|
|
25
|
+
1,
|
|
26
|
+
0
|
|
27
|
+
]), n = new Uint16Array([0, 1, 2, 0, 2, 3]);
|
|
28
|
+
return { vertices: e, indices: n, vertexCount: 4, indexCount: 6 };
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
t as createPlane
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=plane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plane.js","sources":["../../../../src/standard/render/mesh/plane.ts"],"sourcesContent":["import type { MeshData } from \"./index\";\n\nexport function createPlane(): MeshData {\n const vertices = new Float32Array([\n -0.5, 0, 0.5, 0, 1, 0, 0.5, 0, 0.5, 0, 1, 0, 0.5, 0, -0.5, 0, 1, 0, -0.5, 0, -0.5, 0, 1, 0,\n ]);\n\n const indices = new Uint16Array([0, 1, 2, 0, 2, 3]);\n\n return { vertices, indices, vertexCount: 4, indexCount: 6 };\n}\n"],"names":["createPlane","vertices","indices"],"mappings":"AAEO,SAASA,IAAwB;AACpC,QAAMC,IAAW,IAAI,aAAa;AAAA,IAC9B;AAAA,IAAM;AAAA,IAAG;AAAA,IAAK;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAK;AAAA,IAAG;AAAA,IAAK;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAK;AAAA,IAAG;AAAA,IAAM;AAAA,IAAG;AAAA,IAAG;AAAA,IAAG;AAAA,IAAM;AAAA,IAAG;AAAA,IAAM;AAAA,IAAG;AAAA,IAAG;AAAA,EAAA,CAC5F,GAEKC,IAAU,IAAI,YAAY,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AAElD,SAAO,EAAE,UAAAD,GAAU,SAAAC,GAAS,aAAa,GAAG,YAAY,EAAA;AAC5D;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sphere.d.ts","sourceRoot":"","sources":["../../../../src/standard/render/mesh/sphere.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,wBAAgB,YAAY,CAAC,QAAQ,SAAK,EAAE,KAAK,SAAK,GAAG,QAAQ,CAqChE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
function x(o = 32, a = 16) {
|
|
2
|
+
const i = [], h = [];
|
|
3
|
+
for (let c = 0; c <= a; c++) {
|
|
4
|
+
const t = c / a * Math.PI;
|
|
5
|
+
for (let n = 0; n <= o; n++) {
|
|
6
|
+
const u = n / o * Math.PI * 2, s = Math.sin(t) * Math.cos(u), e = Math.cos(t), d = Math.sin(t) * Math.sin(u);
|
|
7
|
+
i.push(s * 0.5, e * 0.5, d * 0.5, s, e, d);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
for (let c = 0; c < a; c++)
|
|
11
|
+
for (let r = 0; r < o; r++) {
|
|
12
|
+
const t = c * (o + 1) + r, n = t + o + 1;
|
|
13
|
+
h.push(t, t + 1, n), h.push(t + 1, n + 1, n);
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
vertices: new Float32Array(i),
|
|
17
|
+
indices: new Uint16Array(h),
|
|
18
|
+
vertexCount: (a + 1) * (o + 1),
|
|
19
|
+
indexCount: a * o * 6
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
x as createSphere
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=sphere.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sphere.js","sources":["../../../../src/standard/render/mesh/sphere.ts"],"sourcesContent":["import type { MeshData } from \"./index\";\n\nexport function createSphere(segments = 32, rings = 16): MeshData {\n const vertices: number[] = [];\n const indices: number[] = [];\n const radius = 0.5;\n\n for (let y = 0; y <= rings; y++) {\n const v = y / rings;\n const theta = v * Math.PI;\n\n for (let x = 0; x <= segments; x++) {\n const u = x / segments;\n const phi = u * Math.PI * 2;\n\n const nx = Math.sin(theta) * Math.cos(phi);\n const ny = Math.cos(theta);\n const nz = Math.sin(theta) * Math.sin(phi);\n\n vertices.push(nx * radius, ny * radius, nz * radius, nx, ny, nz);\n }\n }\n\n for (let y = 0; y < rings; y++) {\n for (let x = 0; x < segments; x++) {\n const a = y * (segments + 1) + x;\n const b = a + segments + 1;\n\n indices.push(a, a + 1, b);\n indices.push(a + 1, b + 1, b);\n }\n }\n\n return {\n vertices: new Float32Array(vertices),\n indices: new Uint16Array(indices),\n vertexCount: (rings + 1) * (segments + 1),\n indexCount: rings * segments * 6,\n };\n}\n"],"names":["createSphere","segments","rings","vertices","indices","y","theta","x","phi","nx","ny","nz","a","b"],"mappings":"AAEO,SAASA,EAAaC,IAAW,IAAIC,IAAQ,IAAc;AAC9D,QAAMC,IAAqB,CAAA,GACrBC,IAAoB,CAAA;AAG1B,WAASC,IAAI,GAAGA,KAAKH,GAAOG,KAAK;AAE7B,UAAMC,IADID,IAAIH,IACI,KAAK;AAEvB,aAASK,IAAI,GAAGA,KAAKN,GAAUM,KAAK;AAEhC,YAAMC,IADID,IAAIN,IACE,KAAK,KAAK,GAEpBQ,IAAK,KAAK,IAAIH,CAAK,IAAI,KAAK,IAAIE,CAAG,GACnCE,IAAK,KAAK,IAAIJ,CAAK,GACnBK,IAAK,KAAK,IAAIL,CAAK,IAAI,KAAK,IAAIE,CAAG;AAEzC,MAAAL,EAAS,KAAKM,IAAK,KAAQC,IAAK,KAAQC,IAAK,KAAQF,GAAIC,GAAIC,CAAE;AAAA,IACnE;AAAA,EACJ;AAEA,WAASN,IAAI,GAAGA,IAAIH,GAAOG;AACvB,aAASE,IAAI,GAAGA,IAAIN,GAAUM,KAAK;AAC/B,YAAMK,IAAIP,KAAKJ,IAAW,KAAKM,GACzBM,IAAID,IAAIX,IAAW;AAEzB,MAAAG,EAAQ,KAAKQ,GAAGA,IAAI,GAAGC,CAAC,GACxBT,EAAQ,KAAKQ,IAAI,GAAGC,IAAI,GAAGA,CAAC;AAAA,IAChC;AAGJ,SAAO;AAAA,IACH,UAAU,IAAI,aAAaV,CAAQ;AAAA,IACnC,SAAS,IAAI,YAAYC,CAAO;AAAA,IAChC,cAAcF,IAAQ,MAAMD,IAAW;AAAA,IACvC,YAAYC,IAAQD,IAAW;AAAA,EAAA;AAEvC;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ComputeNode } from '../compute';
|
|
2
|
+
export interface PostProcessUniforms {
|
|
3
|
+
tonemap: boolean;
|
|
4
|
+
exposure: number;
|
|
5
|
+
fxaa: boolean;
|
|
6
|
+
vignetteStrength: number;
|
|
7
|
+
vignetteInner: number;
|
|
8
|
+
vignetteOuter: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function createPostProcessNode(uniforms: PostProcessUniforms): ComputeNode;
|
|
11
|
+
//# sourceMappingURL=postprocess.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postprocess.d.ts","sourceRoot":"","sources":["../../../src/standard/render/postprocess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAwIhE,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,WAAW,CAyFhF"}
|