three-stdlib 2.13.1 → 2.14.0
Sign up to get free protection for your applications and to get access to all the features.
- package/{Nodes-607e9ed8.js → Nodes-4f766d71.js} +0 -0
- package/{Nodes-627a8bdf.js → Nodes-9aa16d74.js} +0 -0
- package/index.cjs.js +1 -1
- package/loaders/FontLoader.cjs.js +1 -1
- package/loaders/FontLoader.d.ts +8 -1
- package/loaders/FontLoader.js +18 -6
- package/loaders/KTX2Loader.cjs.js +1 -1
- package/loaders/KTX2Loader.js +493 -102
- package/loaders/NodeMaterialLoader.cjs.js +1 -1
- package/loaders/RGBMLoader.js +248 -177
- package/nodes/Nodes.cjs.js +1 -1
- package/nodes/core/NodeBuilder.js +5 -1
- package/nodes/loaders/NodeLoader.cjs.js +1 -1
- package/nodes/loaders/NodeObjectLoader.cjs.js +1 -1
- package/package.json +2 -2
- package/utils/WorkerPool.cjs.js +1 -0
- package/utils/WorkerPool.js +82 -0
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),s=require("../Nodes-
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),s=require("../Nodes-9aa16d74.js");require("../nodes/core/ArrayUniformNode.cjs.js"),require("../nodes/core/UniformNode.cjs.js"),require("../nodes/core/InputNode.cjs.js"),require("../nodes/core/Node.cjs.js"),require("../nodes/core/constants.cjs.js"),require("../nodes/core/NodeUtils.cjs.js"),require("../nodes/core/AttributeNode.cjs.js"),require("../nodes/core/VaryNode.cjs.js"),require("../nodes/core/BypassNode.cjs.js"),require("../nodes/core/CodeNode.cjs.js"),require("../nodes/core/ConstNode.cjs.js"),require("../nodes/core/ContextNode.cjs.js"),require("../nodes/core/ExpressionNode.cjs.js"),require("../nodes/core/TempNode.cjs.js"),require("../nodes/core/FunctionCallNode.cjs.js"),require("../nodes/core/FunctionNode.cjs.js"),require("../nodes/core/NodeAttribute.cjs.js"),require("../nodes/core/NodeBuilder.cjs.js"),require("../nodes/core/NodeUniform.cjs.js"),require("../nodes/core/NodeVary.cjs.js"),require("../nodes/core/NodeVar.cjs.js"),require("../nodes/core/NodeCode.cjs.js"),require("../nodes/core/NodeKeywords.cjs.js"),require("../nodes/core/NodeFrame.cjs.js"),require("../nodes/core/NodeFunctionInput.cjs.js"),require("../nodes/core/PropertyNode.cjs.js"),require("../nodes/core/VarNode.cjs.js"),require("../nodes/accessors/BufferNode.cjs.js"),require("../nodes/accessors/CameraNode.cjs.js"),require("@babel/runtime/helpers/defineProperty"),require("../nodes/accessors/Object3DNode.cjs.js"),require("../nodes/accessors/CubeTextureNode.cjs.js"),require("../nodes/accessors/TextureNode.cjs.js"),require("../nodes/accessors/UVNode.cjs.js"),require("../nodes/accessors/ReflectNode.cjs.js"),require("../nodes/ShaderNode.cjs.js"),require("../nodes/accessors/PositionNode.cjs.js"),require("../nodes/accessors/ModelNode.cjs.js"),require("../nodes/math/MathNode.cjs.js"),require("../nodes/utils/JoinNode.cjs.js"),require("../nodes/utils/SplitNode.cjs.js"),require("../nodes/math/OperatorNode.cjs.js"),require("../nodes/accessors/NormalNode.cjs.js"),require("../nodes/math/CondNode.cjs.js"),require("../nodes/utils/ArrayElementNode.cjs.js"),require("../nodes/utils/ConvertNode.cjs.js"),require("../nodes/accessors/MaterialNode.cjs.js"),require("../nodes/accessors/MaterialReferenceNode.cjs.js"),require("../nodes/accessors/ReferenceNode.cjs.js"),require("../nodes/accessors/ModelViewProjectionNode.cjs.js"),require("../nodes/accessors/PointUVNode.cjs.js"),require("../nodes/accessors/SkinningNode.cjs.js"),require("../nodes/display/ColorSpaceNode.cjs.js"),require("../nodes/display/NormalMapNode.cjs.js"),require("../nodes/lights/LightContextNode.cjs.js"),require("../nodes/functions/BSDFs.cjs.js"),require("../nodes/lights/LightNode.cjs.js"),require("../nodes/lights/LightsNode.cjs.js"),require("../nodes/utils/SpriteSheetUVNode.cjs.js"),require("../nodes/utils/MatcapUVNode.cjs.js"),require("../nodes/utils/OscNode.cjs.js"),require("../nodes/utils/TimerNode.cjs.js"),require("../nodes/loaders/NodeMaterialLoader.cjs.js"),require("../nodes/procedural/CheckerNode.cjs.js"),require("../nodes/fog/FogNode.cjs.js"),require("../nodes/fog/FogRangeNode.cjs.js"),require("../nodes/materials/LineBasicNodeMaterial.cjs.js"),require("../nodes/materials/NodeMaterial.cjs.js"),require("../nodes/materials/MeshBasicNodeMaterial.cjs.js"),require("../nodes/materials/MeshStandardNodeMaterial.cjs.js"),require("../nodes/materials/PointsNodeMaterial.cjs.js");class r extends e.Loader{constructor(e,s={}){super(e),this.nodes={},this.materials={},this.passes={},this.names={},this.library=s}load(s,r,o,i){const t=this,d=new e.FileLoader(t.manager);return d.setPath(t.path),d.load(s,(function(e){r(t.parse(JSON.parse(e)))}),o,i),this}getObjectByName(e){return this.names[e]}getObjectById(e){return this.library[e]||this.nodes[e]||this.materials[e]||this.passes[e]||this.names[e]}getNode(e){const s=this.getObjectById(e);return s||console.warn('Node "'+e+'" not found.'),s}resolve(e){switch(typeof e){case"boolean":case"number":return e;case"string":return/^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$/i.test(e)||this.library[e]?this.getNode(e):e;default:if(Array.isArray(e))for(let s=0;s<e.length;s++)e[s]=this.resolve(e[s]);else for(const s in e)"uuid"!==s&&(e[s]=this.resolve(e[s]))}return e}declare(e){let r,o,i;for(r in e.nodes)o=e.nodes[r],i=new s.Nodes[o.nodeType+"Node"],o.name&&(i.name=o.name,this.names[i.name]=i),this.nodes[r]=i;for(r in e.materials)o=e.materials[r],i=new s.Nodes[o.type],o.name&&(i.name=o.name,this.names[i.name]=i),this.materials[r]=i;for(r in e.passes)o=e.passes[r],i=new s.Nodes[o.type],o.name&&(i.name=o.name,this.names[i.name]=i),this.passes[r]=i;return e.material&&(this.material=this.materials[e.material]),e.pass&&(this.pass=this.passes[e.pass]),e}parse(e){let s;for(s in(e=this.resolve(this.declare(e))).nodes)this.nodes[s].copy(e.nodes[s]);for(s in e.materials)this.materials[s].copy(e.materials[s]);for(s in e.passes)this.passes[s].copy(e.passes[s]);return this.material||this.pass||this}}exports.NodeMaterialLoader=r,exports.NodeMaterialLoaderUtils=class{static replaceUUIDObject(e,s,r,o){if(o=void 0===o||o,"object"==typeof s&&(s=s.uuid),"object"==typeof e){const i=Object.keys(e);for(let t=0;t<i.length;t++){const d=i[t];o&&(e[d]=this.replaceUUIDObject(e[d],s,r)),d===s&&(e[s]=e[d],delete e[d])}}return e===s?r:e}static replaceUUID(e,s,r){return this.replaceUUIDObject(e,s,r,!1),this.replaceUUIDObject(e.nodes,s,r),this.replaceUUIDObject(e.materials,s,r),this.replaceUUIDObject(e.passes,s,r),this.replaceUUIDObject(e.library,s,r,!1),e}};
|
package/loaders/RGBMLoader.js
CHANGED
@@ -128,43 +128,60 @@ UPNG.toRGBA8.decodeImage = function (data, w, h, out) {
|
|
128
128
|
if (ctype == 6) {
|
129
129
|
// RGB + alpha
|
130
130
|
var qarea = area << 2;
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
131
|
+
|
132
|
+
if (depth == 8) {
|
133
|
+
for (var i = 0; i < qarea; i += 4) {
|
134
|
+
bf[i] = data[i];
|
135
|
+
bf[i + 1] = data[i + 1];
|
136
|
+
bf[i + 2] = data[i + 2];
|
137
|
+
bf[i + 3] = data[i + 3];
|
138
|
+
}
|
136
139
|
}
|
137
|
-
|
138
|
-
|
140
|
+
|
141
|
+
if (depth == 16) {
|
142
|
+
for (var i = 0; i < qarea; i++) {
|
143
|
+
bf[i] = data[i << 1];
|
144
|
+
}
|
139
145
|
}
|
140
146
|
} else if (ctype == 2) {
|
141
147
|
// RGB
|
142
148
|
var ts = out.tabs['tRNS'];
|
143
149
|
|
144
150
|
if (ts == null) {
|
145
|
-
if (depth == 8)
|
146
|
-
var
|
147
|
-
|
151
|
+
if (depth == 8) {
|
152
|
+
for (var i = 0; i < area; i++) {
|
153
|
+
var ti = i * 3;
|
154
|
+
bf32[i] = 255 << 24 | data[ti + 2] << 16 | data[ti + 1] << 8 | data[ti];
|
155
|
+
}
|
148
156
|
}
|
149
|
-
|
150
|
-
|
151
|
-
|
157
|
+
|
158
|
+
if (depth == 16) {
|
159
|
+
for (var i = 0; i < area; i++) {
|
160
|
+
var ti = i * 6;
|
161
|
+
bf32[i] = 255 << 24 | data[ti + 4] << 16 | data[ti + 2] << 8 | data[ti];
|
162
|
+
}
|
152
163
|
}
|
153
164
|
} else {
|
154
165
|
var tr = ts[0],
|
155
166
|
tg = ts[1],
|
156
167
|
tb = ts[2];
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
168
|
+
|
169
|
+
if (depth == 8) {
|
170
|
+
for (var i = 0; i < area; i++) {
|
171
|
+
var qi = i << 2,
|
172
|
+
ti = i * 3;
|
173
|
+
bf32[i] = 255 << 24 | data[ti + 2] << 16 | data[ti + 1] << 8 | data[ti];
|
174
|
+
if (data[ti] == tr && data[ti + 1] == tg && data[ti + 2] == tb) bf[qi + 3] = 0;
|
175
|
+
}
|
162
176
|
}
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
177
|
+
|
178
|
+
if (depth == 16) {
|
179
|
+
for (var i = 0; i < area; i++) {
|
180
|
+
var qi = i << 2,
|
181
|
+
ti = i * 6;
|
182
|
+
bf32[i] = 255 << 24 | data[ti + 4] << 16 | data[ti + 2] << 8 | data[ti];
|
183
|
+
if (rs(data, ti) == tr && rs(data, ti + 2) == tg && rs(data, ti + 4) == tb) bf[qi + 3] = 0;
|
184
|
+
}
|
168
185
|
}
|
169
186
|
}
|
170
187
|
} else if (ctype == 3) {
|
@@ -173,41 +190,61 @@ UPNG.toRGBA8.decodeImage = function (data, w, h, out) {
|
|
173
190
|
ap = out.tabs['tRNS'],
|
174
191
|
tl = ap ? ap.length : 0; //console.log(p, ap);
|
175
192
|
|
176
|
-
if (depth == 1)
|
177
|
-
var
|
178
|
-
|
193
|
+
if (depth == 1) {
|
194
|
+
for (var y = 0; y < h; y++) {
|
195
|
+
var s0 = y * bpl,
|
196
|
+
t0 = y * w;
|
197
|
+
|
198
|
+
for (var i = 0; i < w; i++) {
|
199
|
+
var qi = t0 + i << 2,
|
200
|
+
j = data[s0 + (i >> 3)] >> 7 - ((i & 7) << 0) & 1,
|
201
|
+
cj = 3 * j;
|
202
|
+
bf[qi] = p[cj];
|
203
|
+
bf[qi + 1] = p[cj + 1];
|
204
|
+
bf[qi + 2] = p[cj + 2];
|
205
|
+
bf[qi + 3] = j < tl ? ap[j] : 255;
|
206
|
+
}
|
207
|
+
}
|
208
|
+
}
|
179
209
|
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
210
|
+
if (depth == 2) {
|
211
|
+
for (var y = 0; y < h; y++) {
|
212
|
+
var s0 = y * bpl,
|
213
|
+
t0 = y * w;
|
214
|
+
|
215
|
+
for (var i = 0; i < w; i++) {
|
216
|
+
var qi = t0 + i << 2,
|
217
|
+
j = data[s0 + (i >> 2)] >> 6 - ((i & 3) << 1) & 3,
|
218
|
+
cj = 3 * j;
|
219
|
+
bf[qi] = p[cj];
|
220
|
+
bf[qi + 1] = p[cj + 1];
|
221
|
+
bf[qi + 2] = p[cj + 2];
|
222
|
+
bf[qi + 3] = j < tl ? ap[j] : 255;
|
223
|
+
}
|
188
224
|
}
|
189
225
|
}
|
190
|
-
if (depth == 2) for (var y = 0; y < h; y++) {
|
191
|
-
var s0 = y * bpl,
|
192
|
-
t0 = y * w;
|
193
226
|
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
227
|
+
if (depth == 4) {
|
228
|
+
for (var y = 0; y < h; y++) {
|
229
|
+
var s0 = y * bpl,
|
230
|
+
t0 = y * w;
|
231
|
+
|
232
|
+
for (var i = 0; i < w; i++) {
|
233
|
+
var qi = t0 + i << 2,
|
234
|
+
j = data[s0 + (i >> 1)] >> 4 - ((i & 1) << 2) & 15,
|
235
|
+
cj = 3 * j;
|
236
|
+
bf[qi] = p[cj];
|
237
|
+
bf[qi + 1] = p[cj + 1];
|
238
|
+
bf[qi + 2] = p[cj + 2];
|
239
|
+
bf[qi + 3] = j < tl ? ap[j] : 255;
|
240
|
+
}
|
202
241
|
}
|
203
242
|
}
|
204
|
-
if (depth == 4) for (var y = 0; y < h; y++) {
|
205
|
-
var s0 = y * bpl,
|
206
|
-
t0 = y * w;
|
207
243
|
|
208
|
-
|
209
|
-
|
210
|
-
|
244
|
+
if (depth == 8) {
|
245
|
+
for (var i = 0; i < area; i++) {
|
246
|
+
var qi = i << 2,
|
247
|
+
j = data[i],
|
211
248
|
cj = 3 * j;
|
212
249
|
bf[qi] = p[cj];
|
213
250
|
bf[qi + 1] = p[cj + 1];
|
@@ -215,34 +252,30 @@ UPNG.toRGBA8.decodeImage = function (data, w, h, out) {
|
|
215
252
|
bf[qi + 3] = j < tl ? ap[j] : 255;
|
216
253
|
}
|
217
254
|
}
|
218
|
-
if (depth == 8) for (var i = 0; i < area; i++) {
|
219
|
-
var qi = i << 2,
|
220
|
-
j = data[i],
|
221
|
-
cj = 3 * j;
|
222
|
-
bf[qi] = p[cj];
|
223
|
-
bf[qi + 1] = p[cj + 1];
|
224
|
-
bf[qi + 2] = p[cj + 2];
|
225
|
-
bf[qi + 3] = j < tl ? ap[j] : 255;
|
226
|
-
}
|
227
255
|
} else if (ctype == 4) {
|
228
256
|
// gray + alpha
|
229
|
-
if (depth == 8)
|
230
|
-
var
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
257
|
+
if (depth == 8) {
|
258
|
+
for (var i = 0; i < area; i++) {
|
259
|
+
var qi = i << 2,
|
260
|
+
di = i << 1,
|
261
|
+
gr = data[di];
|
262
|
+
bf[qi] = gr;
|
263
|
+
bf[qi + 1] = gr;
|
264
|
+
bf[qi + 2] = gr;
|
265
|
+
bf[qi + 3] = data[di + 1];
|
266
|
+
}
|
237
267
|
}
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
268
|
+
|
269
|
+
if (depth == 16) {
|
270
|
+
for (var i = 0; i < area; i++) {
|
271
|
+
var qi = i << 2,
|
272
|
+
di = i << 2,
|
273
|
+
gr = data[di];
|
274
|
+
bf[qi] = gr;
|
275
|
+
bf[qi + 1] = gr;
|
276
|
+
bf[qi + 2] = gr;
|
277
|
+
bf[qi + 3] = data[di + 2];
|
278
|
+
}
|
246
279
|
}
|
247
280
|
} else if (ctype == 0) {
|
248
281
|
// gray
|
@@ -251,26 +284,37 @@ UPNG.toRGBA8.decodeImage = function (data, w, h, out) {
|
|
251
284
|
for (var y = 0; y < h; y++) {
|
252
285
|
var off = y * bpl,
|
253
286
|
to = y * w;
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
287
|
+
|
288
|
+
if (depth == 1) {
|
289
|
+
for (var x = 0; x < w; x++) {
|
290
|
+
var gr = 255 * (data[off + (x >>> 3)] >>> 7 - (x & 7) & 1),
|
291
|
+
al = gr == tr * 255 ? 0 : 255;
|
292
|
+
bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr;
|
293
|
+
}
|
294
|
+
} else if (depth == 2) {
|
295
|
+
for (var x = 0; x < w; x++) {
|
296
|
+
var gr = 85 * (data[off + (x >>> 2)] >>> 6 - ((x & 3) << 1) & 3),
|
297
|
+
al = gr == tr * 85 ? 0 : 255;
|
298
|
+
bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr;
|
299
|
+
}
|
300
|
+
} else if (depth == 4) {
|
301
|
+
for (var x = 0; x < w; x++) {
|
302
|
+
var gr = 17 * (data[off + (x >>> 1)] >>> 4 - ((x & 1) << 2) & 15),
|
303
|
+
al = gr == tr * 17 ? 0 : 255;
|
304
|
+
bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr;
|
305
|
+
}
|
306
|
+
} else if (depth == 8) {
|
307
|
+
for (var x = 0; x < w; x++) {
|
308
|
+
var gr = data[off + x],
|
309
|
+
al = gr == tr ? 0 : 255;
|
310
|
+
bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr;
|
311
|
+
}
|
312
|
+
} else if (depth == 16) {
|
313
|
+
for (var x = 0; x < w; x++) {
|
314
|
+
var gr = data[off + (x << 1)],
|
315
|
+
al = rs(data, off + (x << 1)) == tr ? 0 : 255;
|
316
|
+
bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr;
|
317
|
+
}
|
274
318
|
}
|
275
319
|
}
|
276
320
|
} //console.log(Date.now()-time);
|
@@ -358,10 +402,14 @@ UPNG.decode = function (buff) {
|
|
358
402
|
var nz = bin.nextZero(data, offset);
|
359
403
|
keyw = bin.readASCII(data, offset, nz - offset);
|
360
404
|
var tl = offset + len - nz - 1;
|
361
|
-
|
405
|
+
|
406
|
+
if (type == 'tEXt') {
|
407
|
+
text = bin.readASCII(data, nz + 1, tl);
|
408
|
+
} else {
|
362
409
|
bfr = UPNG.decode._inflate(data.slice(nz + 2, nz + 2 + tl));
|
363
410
|
text = bin.readUTF8(bfr, 0, bfr.length);
|
364
411
|
}
|
412
|
+
|
365
413
|
out.tabs[type][keyw] = text;
|
366
414
|
} else if (type == 'iTXt') {
|
367
415
|
if (out.tabs[type] == null) out.tabs[type] = {};
|
@@ -379,10 +427,14 @@ UPNG.decode = function (buff) {
|
|
379
427
|
bin.readUTF8(data, off, nz - off);
|
380
428
|
off = nz + 1;
|
381
429
|
var tl = len - (off - offset);
|
382
|
-
|
430
|
+
|
431
|
+
if (cflag == 0) {
|
432
|
+
text = bin.readUTF8(data, off, tl);
|
433
|
+
} else {
|
383
434
|
bfr = UPNG.decode._inflate(data.slice(off, off + tl));
|
384
435
|
text = bin.readUTF8(bfr, 0, bfr.length);
|
385
436
|
}
|
437
|
+
|
386
438
|
out.tabs[type][keyw] = text;
|
387
439
|
} else if (type == 'PLTE') {
|
388
440
|
out.tabs[type] = bin.readBytes(data, offset, len);
|
@@ -393,8 +445,18 @@ UPNG.decode = function (buff) {
|
|
393
445
|
for (var i = 0; i < pl; i++) out.tabs[type].push(rUs(data, offset + i * 2));
|
394
446
|
} else if (type == 'tRNS') {
|
395
447
|
if (out.ctype == 3) out.tabs[type] = bin.readBytes(data, offset, len);else if (out.ctype == 0) out.tabs[type] = rUs(data, offset);else if (out.ctype == 2) out.tabs[type] = [rUs(data, offset), rUs(data, offset + 2), rUs(data, offset + 4)]; //else console.log("tRNS for unsupported color type",out.ctype, len);
|
396
|
-
} else if (type == 'gAMA')
|
397
|
-
|
448
|
+
} else if (type == 'gAMA') {
|
449
|
+
out.tabs[type] = bin.readUint(data, offset) / 100000;
|
450
|
+
} else if (type == 'sRGB') {
|
451
|
+
out.tabs[type] = data[offset];
|
452
|
+
} else if (type == 'bKGD') {
|
453
|
+
if (out.ctype == 0 || out.ctype == 4) {
|
454
|
+
out.tabs[type] = [rUs(data, offset)];
|
455
|
+
} else if (out.ctype == 2 || out.ctype == 6) {
|
456
|
+
out.tabs[type] = [rUs(data, offset), rUs(data, offset + 2), rUs(data, offset + 4)];
|
457
|
+
} else if (out.ctype == 3) {
|
458
|
+
out.tabs[type] = data[offset];
|
459
|
+
}
|
398
460
|
} else if (type == 'IEND') {
|
399
461
|
break;
|
400
462
|
} //else { console.log("unknown chunk type", type, len); out.tabs[type]=data.slice(offset,offset+len); }
|
@@ -669,18 +731,20 @@ UPNG.inflateRaw = function () {
|
|
669
731
|
n = H.H.m,
|
670
732
|
A = n.r;
|
671
733
|
|
672
|
-
for (var l = 0; l < V; l += 2)
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
734
|
+
for (var l = 0; l < V; l += 2) {
|
735
|
+
if (N[l + 1] != 0) {
|
736
|
+
var M = l >> 1,
|
737
|
+
I = N[l + 1],
|
738
|
+
e = M << 4 | I,
|
739
|
+
b = W - I,
|
740
|
+
Z = N[l] << b,
|
741
|
+
m = Z + (1 << b);
|
742
|
+
|
743
|
+
while (Z != m) {
|
744
|
+
var J = A[Z] >>> 15 - W;
|
745
|
+
R[J] = e;
|
746
|
+
Z++;
|
747
|
+
}
|
684
748
|
}
|
685
749
|
}
|
686
750
|
};
|
@@ -912,7 +976,10 @@ UPNG.decode._filterZero = function (data, out, off, w, h) {
|
|
912
976
|
di = i + y + 1;
|
913
977
|
type = data[di - 1];
|
914
978
|
x = 0;
|
915
|
-
|
979
|
+
|
980
|
+
if (type == 0) {
|
981
|
+
for (; x < bpl; x++) data[i + x] = data[di + x];
|
982
|
+
} else if (type == 1) {
|
916
983
|
for (; x < bpp; x++) data[i + x] = data[di + x];
|
917
984
|
|
918
985
|
for (; x < bpl; x++) data[i + x] = data[di + x] + data[i + x - bpp];
|
@@ -925,7 +992,9 @@ UPNG.decode._filterZero = function (data, out, off, w, h) {
|
|
925
992
|
} else {
|
926
993
|
for (; x < bpp; x++) data[i + x] = data[di + x] + paeth(0, data[i + x - bpl], 0);
|
927
994
|
|
928
|
-
for (; x < bpl; x++)
|
995
|
+
for (; x < bpl; x++) {
|
996
|
+
data[i + x] = data[di + x] + paeth(data[i + x - bpp], data[i + x - bpl], data[i + x - bpp - bpl]);
|
997
|
+
}
|
929
998
|
}
|
930
999
|
}
|
931
1000
|
|
@@ -1023,71 +1092,73 @@ UPNG._copyTile = function (sb, sw, sh, tb, tw, th, xoff, yoff, mode) {
|
|
1023
1092
|
var si = 0,
|
1024
1093
|
ti = 0;
|
1025
1094
|
|
1026
|
-
for (var y = 0; y < h; y++)
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
si = (-yoff + y) * sw - xoff + x << 2;
|
1032
|
-
ti = y * tw + x << 2;
|
1033
|
-
}
|
1034
|
-
|
1035
|
-
if (mode == 0) {
|
1036
|
-
tb[ti] = sb[si];
|
1037
|
-
tb[ti + 1] = sb[si + 1];
|
1038
|
-
tb[ti + 2] = sb[si + 2];
|
1039
|
-
tb[ti + 3] = sb[si + 3];
|
1040
|
-
} else if (mode == 1) {
|
1041
|
-
var fa = sb[si + 3] * (1 / 255),
|
1042
|
-
fr = sb[si] * fa,
|
1043
|
-
fg = sb[si + 1] * fa,
|
1044
|
-
fb = sb[si + 2] * fa;
|
1045
|
-
var ba = tb[ti + 3] * (1 / 255),
|
1046
|
-
br = tb[ti] * ba,
|
1047
|
-
bg = tb[ti + 1] * ba,
|
1048
|
-
bb = tb[ti + 2] * ba;
|
1049
|
-
var ifa = 1 - fa,
|
1050
|
-
oa = fa + ba * ifa,
|
1051
|
-
ioa = oa == 0 ? 0 : 1 / oa;
|
1052
|
-
tb[ti + 3] = 255 * oa;
|
1053
|
-
tb[ti + 0] = (fr + br * ifa) * ioa;
|
1054
|
-
tb[ti + 1] = (fg + bg * ifa) * ioa;
|
1055
|
-
tb[ti + 2] = (fb + bb * ifa) * ioa;
|
1056
|
-
} else if (mode == 2) {
|
1057
|
-
// copy only differences, otherwise zero
|
1058
|
-
var fa = sb[si + 3],
|
1059
|
-
fr = sb[si],
|
1060
|
-
fg = sb[si + 1],
|
1061
|
-
fb = sb[si + 2];
|
1062
|
-
var ba = tb[ti + 3],
|
1063
|
-
br = tb[ti],
|
1064
|
-
bg = tb[ti + 1],
|
1065
|
-
bb = tb[ti + 2];
|
1066
|
-
|
1067
|
-
if (fa == ba && fr == br && fg == bg && fb == bb) {
|
1068
|
-
tb[ti] = 0;
|
1069
|
-
tb[ti + 1] = 0;
|
1070
|
-
tb[ti + 2] = 0;
|
1071
|
-
tb[ti + 3] = 0;
|
1095
|
+
for (var y = 0; y < h; y++) {
|
1096
|
+
for (var x = 0; x < w; x++) {
|
1097
|
+
if (xoff >= 0 && yoff >= 0) {
|
1098
|
+
si = y * sw + x << 2;
|
1099
|
+
ti = (yoff + y) * tw + xoff + x << 2;
|
1072
1100
|
} else {
|
1073
|
-
|
1074
|
-
|
1075
|
-
|
1076
|
-
|
1101
|
+
si = (-yoff + y) * sw - xoff + x << 2;
|
1102
|
+
ti = y * tw + x << 2;
|
1103
|
+
}
|
1104
|
+
|
1105
|
+
if (mode == 0) {
|
1106
|
+
tb[ti] = sb[si];
|
1107
|
+
tb[ti + 1] = sb[si + 1];
|
1108
|
+
tb[ti + 2] = sb[si + 2];
|
1109
|
+
tb[ti + 3] = sb[si + 3];
|
1110
|
+
} else if (mode == 1) {
|
1111
|
+
var fa = sb[si + 3] * (1 / 255),
|
1112
|
+
fr = sb[si] * fa,
|
1113
|
+
fg = sb[si + 1] * fa,
|
1114
|
+
fb = sb[si + 2] * fa;
|
1115
|
+
var ba = tb[ti + 3] * (1 / 255),
|
1116
|
+
br = tb[ti] * ba,
|
1117
|
+
bg = tb[ti + 1] * ba,
|
1118
|
+
bb = tb[ti + 2] * ba;
|
1119
|
+
var ifa = 1 - fa,
|
1120
|
+
oa = fa + ba * ifa,
|
1121
|
+
ioa = oa == 0 ? 0 : 1 / oa;
|
1122
|
+
tb[ti + 3] = 255 * oa;
|
1123
|
+
tb[ti + 0] = (fr + br * ifa) * ioa;
|
1124
|
+
tb[ti + 1] = (fg + bg * ifa) * ioa;
|
1125
|
+
tb[ti + 2] = (fb + bb * ifa) * ioa;
|
1126
|
+
} else if (mode == 2) {
|
1127
|
+
// copy only differences, otherwise zero
|
1128
|
+
var fa = sb[si + 3],
|
1129
|
+
fr = sb[si],
|
1130
|
+
fg = sb[si + 1],
|
1131
|
+
fb = sb[si + 2];
|
1132
|
+
var ba = tb[ti + 3],
|
1133
|
+
br = tb[ti],
|
1134
|
+
bg = tb[ti + 1],
|
1135
|
+
bb = tb[ti + 2];
|
1136
|
+
|
1137
|
+
if (fa == ba && fr == br && fg == bg && fb == bb) {
|
1138
|
+
tb[ti] = 0;
|
1139
|
+
tb[ti + 1] = 0;
|
1140
|
+
tb[ti + 2] = 0;
|
1141
|
+
tb[ti + 3] = 0;
|
1142
|
+
} else {
|
1143
|
+
tb[ti] = fr;
|
1144
|
+
tb[ti + 1] = fg;
|
1145
|
+
tb[ti + 2] = fb;
|
1146
|
+
tb[ti + 3] = fa;
|
1147
|
+
}
|
1148
|
+
} else if (mode == 3) {
|
1149
|
+
// check if can be blended
|
1150
|
+
var fa = sb[si + 3],
|
1151
|
+
fr = sb[si],
|
1152
|
+
fg = sb[si + 1],
|
1153
|
+
fb = sb[si + 2];
|
1154
|
+
var ba = tb[ti + 3],
|
1155
|
+
br = tb[ti],
|
1156
|
+
bg = tb[ti + 1],
|
1157
|
+
bb = tb[ti + 2];
|
1158
|
+
if (fa == ba && fr == br && fg == bg && fb == bb) continue; //if(fa!=255 && ba!=0) return false;
|
1159
|
+
|
1160
|
+
if (fa < 220 && ba > 20) return false;
|
1077
1161
|
}
|
1078
|
-
} else if (mode == 3) {
|
1079
|
-
// check if can be blended
|
1080
|
-
var fa = sb[si + 3],
|
1081
|
-
fr = sb[si],
|
1082
|
-
fg = sb[si + 1],
|
1083
|
-
fb = sb[si + 2];
|
1084
|
-
var ba = tb[ti + 3],
|
1085
|
-
br = tb[ti],
|
1086
|
-
bg = tb[ti + 1],
|
1087
|
-
bb = tb[ti + 2];
|
1088
|
-
if (fa == ba && fr == br && fg == bg && fb == bb) continue; //if(fa!=255 && ba!=0) return false;
|
1089
|
-
|
1090
|
-
if (fa < 220 && ba > 20) return false;
|
1091
1162
|
}
|
1092
1163
|
}
|
1093
1164
|
|
package/nodes/Nodes.cjs.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./core/ArrayUniformNode.cjs.js"),r=require("./core/AttributeNode.cjs.js"),o=require("./core/BypassNode.cjs.js"),s=require("./core/CodeNode.cjs.js"),t=require("./core/ConstNode.cjs.js"),i=require("./core/ContextNode.cjs.js"),p=require("./core/ExpressionNode.cjs.js"),a=require("./core/FunctionCallNode.cjs.js"),d=require("./core/FunctionNode.cjs.js"),c=require("./core/Node.cjs.js"),x=require("./core/NodeAttribute.cjs.js"),n=require("./core/NodeBuilder.cjs.js"),N=require("./core/NodeCode.cjs.js"),u=require("./core/NodeFrame.cjs.js"),j=require("./core/NodeFunctionInput.cjs.js"),l=require("./core/NodeKeywords.cjs.js"),m=require("./core/NodeUniform.cjs.js"),q=require("./core/NodeVar.cjs.js"),h=require("./core/NodeVary.cjs.js"),f=require("./core/PropertyNode.cjs.js"),g=require("./core/TempNode.cjs.js"),b=require("./core/UniformNode.cjs.js"),v=require("./core/VarNode.cjs.js"),M=require("./core/VaryNode.cjs.js"),y=require("./accessors/BufferNode.cjs.js"),C=require("./accessors/CameraNode.cjs.js"),T=require("./accessors/CubeTextureNode.cjs.js"),V=require("./accessors/MaterialNode.cjs.js"),L=require("./accessors/MaterialReferenceNode.cjs.js"),S=require("./accessors/ModelNode.cjs.js"),F=require("./accessors/ModelViewProjectionNode.cjs.js"),w=require("./accessors/NormalNode.cjs.js"),P=require("./accessors/Object3DNode.cjs.js"),_=require("./accessors/PointUVNode.cjs.js"),D=require("./accessors/PositionNode.cjs.js"),U=require("./accessors/ReferenceNode.cjs.js"),R=require("./accessors/ReflectNode.cjs.js"),B=require("./accessors/SkinningNode.cjs.js"),O=require("./accessors/TextureNode.cjs.js"),G=require("./accessors/UVNode.cjs.js"),A=require("./display/ColorSpaceNode.cjs.js"),E=require("./display/NormalMapNode.cjs.js"),I=require("./math/MathNode.cjs.js"),X=require("./math/OperatorNode.cjs.js"),k=require("./math/CondNode.cjs.js"),W=require("./lights/LightContextNode.cjs.js"),z=require("./lights/LightNode.cjs.js"),J=require("./lights/LightsNode.cjs.js"),K=require("./utils/ArrayElementNode.cjs.js"),Y=require("./utils/ConvertNode.cjs.js"),H=require("./utils/JoinNode.cjs.js"),Q=require("./utils/SplitNode.cjs.js"),Z=require("./utils/SpriteSheetUVNode.cjs.js"),$=require("./utils/MatcapUVNode.cjs.js"),ee=require("./utils/OscNode.cjs.js"),re=require("./utils/TimerNode.cjs.js"),oe=require("../Nodes-
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./core/ArrayUniformNode.cjs.js"),r=require("./core/AttributeNode.cjs.js"),o=require("./core/BypassNode.cjs.js"),s=require("./core/CodeNode.cjs.js"),t=require("./core/ConstNode.cjs.js"),i=require("./core/ContextNode.cjs.js"),p=require("./core/ExpressionNode.cjs.js"),a=require("./core/FunctionCallNode.cjs.js"),d=require("./core/FunctionNode.cjs.js"),c=require("./core/Node.cjs.js"),x=require("./core/NodeAttribute.cjs.js"),n=require("./core/NodeBuilder.cjs.js"),N=require("./core/NodeCode.cjs.js"),u=require("./core/NodeFrame.cjs.js"),j=require("./core/NodeFunctionInput.cjs.js"),l=require("./core/NodeKeywords.cjs.js"),m=require("./core/NodeUniform.cjs.js"),q=require("./core/NodeVar.cjs.js"),h=require("./core/NodeVary.cjs.js"),f=require("./core/PropertyNode.cjs.js"),g=require("./core/TempNode.cjs.js"),b=require("./core/UniformNode.cjs.js"),v=require("./core/VarNode.cjs.js"),M=require("./core/VaryNode.cjs.js"),y=require("./accessors/BufferNode.cjs.js"),C=require("./accessors/CameraNode.cjs.js"),T=require("./accessors/CubeTextureNode.cjs.js"),V=require("./accessors/MaterialNode.cjs.js"),L=require("./accessors/MaterialReferenceNode.cjs.js"),S=require("./accessors/ModelNode.cjs.js"),F=require("./accessors/ModelViewProjectionNode.cjs.js"),w=require("./accessors/NormalNode.cjs.js"),P=require("./accessors/Object3DNode.cjs.js"),_=require("./accessors/PointUVNode.cjs.js"),D=require("./accessors/PositionNode.cjs.js"),U=require("./accessors/ReferenceNode.cjs.js"),R=require("./accessors/ReflectNode.cjs.js"),B=require("./accessors/SkinningNode.cjs.js"),O=require("./accessors/TextureNode.cjs.js"),G=require("./accessors/UVNode.cjs.js"),A=require("./display/ColorSpaceNode.cjs.js"),E=require("./display/NormalMapNode.cjs.js"),I=require("./math/MathNode.cjs.js"),X=require("./math/OperatorNode.cjs.js"),k=require("./math/CondNode.cjs.js"),W=require("./lights/LightContextNode.cjs.js"),z=require("./lights/LightNode.cjs.js"),J=require("./lights/LightsNode.cjs.js"),K=require("./utils/ArrayElementNode.cjs.js"),Y=require("./utils/ConvertNode.cjs.js"),H=require("./utils/JoinNode.cjs.js"),Q=require("./utils/SplitNode.cjs.js"),Z=require("./utils/SpriteSheetUVNode.cjs.js"),$=require("./utils/MatcapUVNode.cjs.js"),ee=require("./utils/OscNode.cjs.js"),re=require("./utils/TimerNode.cjs.js"),oe=require("../Nodes-9aa16d74.js"),se=require("./loaders/NodeMaterialLoader.cjs.js"),te=require("./procedural/CheckerNode.cjs.js"),ie=require("./fog/FogNode.cjs.js"),pe=require("./fog/FogRangeNode.cjs.js"),ae=require("./core/constants.cjs.js"),de=require("./functions/BSDFs.cjs.js"),ce=require("./ShaderNode.cjs.js"),xe=require("./materials/LineBasicNodeMaterial.cjs.js"),ne=require("./materials/MeshBasicNodeMaterial.cjs.js"),Ne=require("./materials/MeshStandardNodeMaterial.cjs.js"),ue=require("./materials/PointsNodeMaterial.cjs.js");require("./core/InputNode.cjs.js"),require("./core/NodeUtils.cjs.js"),require("three"),require("@babel/runtime/helpers/defineProperty"),require("./materials/NodeMaterial.cjs.js"),exports.ArrayUniformNode=e,exports.AttributeNode=r,exports.BypassNode=o,exports.CodeNode=s,exports.ConstNode=t,exports.ContextNode=i,exports.ExpressionNode=p,exports.FunctionCallNode=a,exports.FunctionNode=d,exports.Node=c,exports.NodeAttribute=x,exports.NodeBuilder=n.default,exports.NodeCode=N,exports.NodeFrame=u,exports.NodeFunctionInput=j,exports.NodeKeywords=l,exports.NodeUniform=m,exports.NodeVar=q,exports.NodeVary=h,exports.PropertyNode=f,exports.TempNode=g,exports.UniformNode=b,exports.VarNode=v,exports.VaryNode=M,exports.BufferNode=y,exports.CameraNode=C,exports.CubeTextureNode=T,exports.MaterialNode=V,exports.MaterialReferenceNode=L,exports.ModelNode=S,exports.ModelViewProjectionNode=F,exports.NormalNode=w,exports.Object3DNode=P,exports.PointUVNode=_,exports.PositionNode=D,exports.ReferenceNode=U,exports.ReflectNode=R,exports.SkinningNode=B,exports.TextureNode=O,exports.UVNode=G,exports.ColorSpaceNode=A.default,exports.NormalMapNode=E,exports.MathNode=I,exports.OperatorNode=X,exports.CondNode=k,exports.LightContextNode=W,exports.LightNode=z,exports.LightsNode=J,exports.ArrayElementNode=K,exports.ConvertNode=Y,exports.JoinNode=H,exports.SplitNode=Q,exports.SpriteSheetUVNode=Z,exports.MatcapUVNode=$,exports.OscNode=ee,exports.TimerNode=re,exports.NodeLoader=oe.NodeLoader,exports.NodeObjectLoader=oe.NodeObjectLoader,exports.fromType=oe.fromType,exports.NodeMaterialLoader=se,exports.CheckerNode=te,exports.FogNode=ie,exports.FogRangeNode=pe,exports.NodeShaderStage=ae.NodeShaderStage,exports.NodeType=ae.NodeType,exports.NodeUpdateType=ae.NodeUpdateType,exports.BRDF_GGX=de.BRDF_GGX,exports.BRDF_Lambert=de.BRDF_Lambert,exports.D_GGX=de.D_GGX,exports.F_Schlick=de.F_Schlick,exports.PhysicalLightingModel=de.PhysicalLightingModel,exports.RE_Direct_Physical=de.RE_Direct_Physical,exports.V_GGX_SmithCorrelated=de.V_GGX_SmithCorrelated,exports.getDistanceAttenuation=de.getDistanceAttenuation,exports.EPSILON=ce.EPSILON,exports.INFINITY=ce.INFINITY,exports.ShaderNode=ce.ShaderNode,exports.abs=ce.abs,exports.acos=ce.acos,exports.add=ce.add,exports.addTo=ce.addTo,exports.alphaTest=ce.alphaTest,exports.and=ce.and,exports.asin=ce.asin,exports.assign=ce.assign,exports.atan=ce.atan,exports.attribute=ce.attribute,exports.bitAnd=ce.bitAnd,exports.bitOr=ce.bitOr,exports.bitXor=ce.bitXor,exports.bmat3=ce.bmat3,exports.bmat4=ce.bmat4,exports.bool=ce.bool,exports.buffer=ce.buffer,exports.bvec2=ce.bvec2,exports.bvec3=ce.bvec3,exports.bvec4=ce.bvec4,exports.cameraPosition=ce.cameraPosition,exports.ceil=ce.ceil,exports.clamp=ce.clamp,exports.color=ce.color,exports.cond=ce.cond,exports.cos=ce.cos,exports.cross=ce.cross,exports.dFdx=ce.dFdx,exports.dFdy=ce.dFdy,exports.degrees=ce.degrees,exports.diffuseColor=ce.diffuseColor,exports.distance=ce.distance,exports.div=ce.div,exports.dot=ce.dot,exports.element=ce.element,exports.equal=ce.equal,exports.exp=ce.exp,exports.exp2=ce.exp2,exports.faceforward=ce.faceforward,exports.float=ce.float,exports.floor=ce.floor,exports.fract=ce.fract,exports.greaterThan=ce.greaterThan,exports.greaterThanEqual=ce.greaterThanEqual,exports.imat3=ce.imat3,exports.imat4=ce.imat4,exports.int=ce.int,exports.inversesqrt=ce.inversesqrt,exports.invert=ce.invert,exports.ivec2=ce.ivec2,exports.ivec3=ce.ivec3,exports.ivec4=ce.ivec4,exports.join=ce.join,exports.label=ce.label,exports.length=ce.length,exports.lessThan=ce.lessThan,exports.lessThanEqual=ce.lessThanEqual,exports.log=ce.log,exports.log2=ce.log2,exports.mat3=ce.mat3,exports.mat4=ce.mat4,exports.max=ce.max,exports.metalness=ce.metalness,exports.min=ce.min,exports.mix=ce.mix,exports.mod=ce.mod,exports.mul=ce.mul,exports.negate=ce.negate,exports.nodeObject=ce.nodeObject,exports.normalGeometry=ce.normalGeometry,exports.normalLocal=ce.normalLocal,exports.normalView=ce.normalView,exports.normalWorld=ce.normalWorld,exports.normalize=ce.normalize,exports.or=ce.or,exports.positionLocal=ce.positionLocal,exports.positionView=ce.positionView,exports.positionViewDirection=ce.positionViewDirection,exports.positionWorld=ce.positionWorld,exports.pow=ce.pow,exports.pow2=ce.pow2,exports.pow3=ce.pow3,exports.pow4=ce.pow4,exports.radians=ce.radians,exports.reflect=ce.reflect,exports.refract=ce.refract,exports.remainder=ce.remainder,exports.roughness=ce.roughness,exports.round=ce.round,exports.sampler=ce.sampler,exports.saturate=ce.saturate,exports.shiftLeft=ce.shiftLeft,exports.shiftRight=ce.shiftRight,exports.sign=ce.sign,exports.sin=ce.sin,exports.smoothstep=ce.smoothstep,exports.specularColor=ce.specularColor,exports.sqrt=ce.sqrt,exports.step=ce.step,exports.sub=ce.sub,exports.tan=ce.tan,exports.temp=ce.temp,exports.texture=ce.texture,exports.transformDirection=ce.transformDirection,exports.transformedNormalView=ce.transformedNormalView,exports.uint=ce.uint,exports.umat3=ce.umat3,exports.umat4=ce.umat4,exports.uniform=ce.uniform,exports.uv=ce.uv,exports.uvec2=ce.uvec2,exports.uvec3=ce.uvec3,exports.uvec4=ce.uvec4,exports.vec2=ce.vec2,exports.vec3=ce.vec3,exports.vec4=ce.vec4,exports.viewMatrix=ce.viewMatrix,exports.xor=ce.xor,exports.LineBasicNodeMaterial=xe,exports.MeshBasicNodeMaterial=ne,exports.MeshStandardNodeMaterial=Ne,exports.PointsNodeMaterial=ue;
|
@@ -140,7 +140,11 @@ class NodeBuilder {
|
|
140
140
|
if (type === 'int') return `${Math.round(value)}`;
|
141
141
|
if (type === 'uint') return value >= 0 ? `${Math.round(value)}u` : '0u';
|
142
142
|
if (type === 'bool') return value ? 'true' : 'false';
|
143
|
-
|
143
|
+
|
144
|
+
if (type === 'color') {
|
145
|
+
return `${this.getType('vec3')}( ${toFloat(value.r)}, ${toFloat(value.g)}, ${toFloat(value.b)} )`;
|
146
|
+
}
|
147
|
+
|
144
148
|
const typeLength = this.getTypeLength(type);
|
145
149
|
const componentType = this.getComponentType(type);
|
146
150
|
|