@needle-tools/engine 3.5.9-alpha.2 → 3.5.9-beta
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/CHANGELOG.md +4 -0
- package/dist/needle-engine.js +1604 -1592
- package/dist/needle-engine.light.js +1541 -1529
- package/dist/needle-engine.light.min.js +74 -74
- package/dist/needle-engine.light.umd.cjs +72 -72
- package/dist/needle-engine.min.js +79 -79
- package/dist/needle-engine.umd.cjs +73 -73
- package/lib/engine/extensions/NEEDLE_progressive.d.ts +1 -0
- package/lib/engine/extensions/NEEDLE_progressive.js +41 -24
- package/lib/engine/extensions/NEEDLE_progressive.js.map +1 -1
- package/package.json +1 -1
- package/src/engine/extensions/NEEDLE_progressive.ts +43 -24
|
@@ -5,6 +5,7 @@ import { Context } from "../engine_setup";
|
|
|
5
5
|
export declare const EXTENSION_NAME = "NEEDLE_progressive";
|
|
6
6
|
export declare class NEEDLE_progressive implements GLTFLoaderPlugin {
|
|
7
7
|
static assignTextureLOD(context: Context, source: SourceIdentifier | undefined, material: Material, level?: number): void;
|
|
8
|
+
private static assignTextureLODForSlot;
|
|
8
9
|
get name(): string;
|
|
9
10
|
private parser;
|
|
10
11
|
private sourceId;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TextureLoader } from "three";
|
|
1
|
+
import { RawShaderMaterial, TextureLoader } from "three";
|
|
2
2
|
import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader";
|
|
3
3
|
import { addDracoAndKTX2Loaders } from "../engine_loaders";
|
|
4
4
|
import { delay, getParam, resolveUrl } from "../engine_utils";
|
|
@@ -31,32 +31,44 @@ export class NEEDLE_progressive {
|
|
|
31
31
|
return;
|
|
32
32
|
for (let slot of Object.keys(material)) {
|
|
33
33
|
const val = material[slot];
|
|
34
|
-
if (val?.isTexture
|
|
34
|
+
if (val?.isTexture)
|
|
35
|
+
this.assignTextureLODForSlot(context, source, material, level, slot, val);
|
|
36
|
+
}
|
|
37
|
+
if (material instanceof RawShaderMaterial) {
|
|
38
|
+
// iterate uniforms
|
|
39
|
+
for (let slot of Object.keys(material.uniforms)) {
|
|
40
|
+
const val = material.uniforms[slot].value;
|
|
41
|
+
if (val?.isTexture)
|
|
42
|
+
this.assignTextureLODForSlot(context, source, material, level, slot, val);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
static assignTextureLODForSlot(context, source, material, level, slot, val) {
|
|
47
|
+
if (val?.isTexture !== true)
|
|
48
|
+
return;
|
|
49
|
+
if (debug)
|
|
50
|
+
console.log("-----------\n", "FIND", material.name, slot, val?.name, val?.userData, val, material);
|
|
51
|
+
NEEDLE_progressive.getOrLoadTexture(context, source, material, slot, val, level).then(t => {
|
|
52
|
+
if (t?.isTexture === true) {
|
|
35
53
|
if (debug)
|
|
36
|
-
console.log("
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
let debug_map = debug_toggle_maps.get(material);
|
|
46
|
-
if (!debug_map) {
|
|
47
|
-
debug_map = {};
|
|
48
|
-
debug_toggle_maps.set(material, debug_map);
|
|
49
|
-
}
|
|
50
|
-
let entry = debug_map[slot];
|
|
51
|
-
if (!entry) {
|
|
52
|
-
entry = debug_map[slot] = { original: val, lod0: t };
|
|
53
|
-
}
|
|
54
|
-
entry.lod0 = t;
|
|
55
|
-
}
|
|
54
|
+
console.log("Assign LOD", material.name, slot, t.name, t["guid"], material, "Prev:", val, "Now:", t, "\n--------------");
|
|
55
|
+
material[slot] = t;
|
|
56
|
+
t.needsUpdate = true;
|
|
57
|
+
material.needsUpdate = true;
|
|
58
|
+
if (debug) {
|
|
59
|
+
let debug_map = debug_toggle_maps.get(material);
|
|
60
|
+
if (!debug_map) {
|
|
61
|
+
debug_map = {};
|
|
62
|
+
debug_toggle_maps.set(material, debug_map);
|
|
56
63
|
}
|
|
57
|
-
|
|
64
|
+
let entry = debug_map[slot];
|
|
65
|
+
if (!entry) {
|
|
66
|
+
entry = debug_map[slot] = { original: val, lod0: t };
|
|
67
|
+
}
|
|
68
|
+
entry.lod0 = t;
|
|
69
|
+
}
|
|
58
70
|
}
|
|
59
|
-
}
|
|
71
|
+
});
|
|
60
72
|
}
|
|
61
73
|
get name() {
|
|
62
74
|
return EXTENSION_NAME;
|
|
@@ -151,6 +163,11 @@ export class NEEDLE_progressive {
|
|
|
151
163
|
console.log("Loading finished " + uri, material.name, slot, ext.guid);
|
|
152
164
|
let index = -1;
|
|
153
165
|
let found = false;
|
|
166
|
+
if (!gltf.parser.json?.textures) {
|
|
167
|
+
if (debug)
|
|
168
|
+
console.warn("No textures in glTF " + uri + " - may be a bug", material.name, slot, ext.guid);
|
|
169
|
+
return resolve(null);
|
|
170
|
+
}
|
|
154
171
|
for (const tex of gltf.parser.json.textures) {
|
|
155
172
|
index++;
|
|
156
173
|
if (tex?.extensions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NEEDLE_progressive.js","sourceRoot":"","sources":["../../../src/engine/extensions/NEEDLE_progressive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NEEDLE_progressive.js","sourceRoot":"","sources":["../../../src/engine/extensions/NEEDLE_progressive.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@needle-tools/engine",
|
|
3
|
-
"version": "3.5.9-
|
|
3
|
+
"version": "3.5.9-beta",
|
|
4
4
|
"description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in",
|
|
5
5
|
"main": "dist/needle-engine.umd.cjs",
|
|
6
6
|
"type": "module",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Material, Texture, TextureLoader } from "three";
|
|
1
|
+
import { Material, RawShaderMaterial, Texture, TextureLoader } from "three";
|
|
2
2
|
import { GLTF, GLTFLoader, GLTFLoaderPlugin, GLTFParser } from "three/examples/jsm/loaders/GLTFLoader";
|
|
3
3
|
import { SourceIdentifier } from "../engine_types";
|
|
4
4
|
import { Context } from "../engine_setup";
|
|
@@ -36,42 +36,55 @@ if (debug) {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
|
|
40
39
|
export class NEEDLE_progressive implements GLTFLoaderPlugin {
|
|
41
40
|
|
|
42
41
|
static assignTextureLOD(context: Context, source: SourceIdentifier | undefined, material: Material, level: number = 0) {
|
|
43
42
|
if (!material) return;
|
|
43
|
+
|
|
44
44
|
for (let slot of Object.keys(material)) {
|
|
45
45
|
const val = material[slot];
|
|
46
|
-
if (val?.isTexture
|
|
46
|
+
if (val?.isTexture)
|
|
47
|
+
this.assignTextureLODForSlot(context, source, material, level, slot, val);
|
|
48
|
+
}
|
|
47
49
|
|
|
48
|
-
|
|
50
|
+
if (material instanceof RawShaderMaterial) {
|
|
51
|
+
// iterate uniforms
|
|
52
|
+
for (let slot of Object.keys(material.uniforms)) {
|
|
53
|
+
const val = material.uniforms[slot].value;
|
|
54
|
+
if (val?.isTexture)
|
|
55
|
+
this.assignTextureLODForSlot(context, source, material, level, slot, val);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
49
59
|
|
|
50
|
-
|
|
51
|
-
|
|
60
|
+
private static assignTextureLODForSlot(context: Context, source: SourceIdentifier | undefined, material: Material, level: number, slot: string, val: any) {
|
|
61
|
+
if (val?.isTexture !== true) return;
|
|
52
62
|
|
|
53
|
-
|
|
63
|
+
if (debug) console.log("-----------\n", "FIND", material.name, slot, val?.name, val?.userData, val, material);
|
|
54
64
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
material.needsUpdate = true;
|
|
65
|
+
NEEDLE_progressive.getOrLoadTexture(context, source, material, slot, val, level).then(t => {
|
|
66
|
+
if (t?.isTexture === true) {
|
|
58
67
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
68
|
+
if (debug) console.log("Assign LOD", material.name, slot, t.name, t["guid"], material, "Prev:", val, "Now:", t, "\n--------------");
|
|
69
|
+
|
|
70
|
+
material[slot] = t;
|
|
71
|
+
t.needsUpdate = true;
|
|
72
|
+
material.needsUpdate = true;
|
|
73
|
+
|
|
74
|
+
if (debug) {
|
|
75
|
+
let debug_map = debug_toggle_maps.get(material);
|
|
76
|
+
if (!debug_map) {
|
|
77
|
+
debug_map = {};
|
|
78
|
+
debug_toggle_maps.set(material, debug_map);
|
|
71
79
|
}
|
|
72
|
-
|
|
80
|
+
let entry = debug_map[slot];
|
|
81
|
+
if (!entry) {
|
|
82
|
+
entry = debug_map[slot] = { original: val, lod0: t };
|
|
83
|
+
}
|
|
84
|
+
entry.lod0 = t;
|
|
85
|
+
}
|
|
73
86
|
}
|
|
74
|
-
}
|
|
87
|
+
});
|
|
75
88
|
}
|
|
76
89
|
|
|
77
90
|
get name(): string {
|
|
@@ -176,6 +189,12 @@ export class NEEDLE_progressive implements GLTFLoaderPlugin {
|
|
|
176
189
|
if (debug) console.log("Loading finished " + uri, material.name, slot, ext.guid);
|
|
177
190
|
let index = -1;
|
|
178
191
|
let found = false;
|
|
192
|
+
|
|
193
|
+
if (!gltf.parser.json?.textures) {
|
|
194
|
+
if (debug) console.warn("No textures in glTF " + uri + " - may be a bug", material.name, slot, ext.guid);
|
|
195
|
+
return resolve(null);
|
|
196
|
+
}
|
|
197
|
+
|
|
179
198
|
for (const tex of gltf.parser.json.textures) {
|
|
180
199
|
index++;
|
|
181
200
|
if (tex?.extensions) {
|