reze-engine 0.4.2 → 0.4.4
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/engine.d.ts +2 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +16 -8
- package/package.json +1 -1
- package/src/engine.ts +19 -9
package/dist/engine.d.ts
CHANGED
|
@@ -116,7 +116,7 @@ export declare class Engine {
|
|
|
116
116
|
private setupLighting;
|
|
117
117
|
private setAmbientColor;
|
|
118
118
|
clearLights(): void;
|
|
119
|
-
addLight
|
|
119
|
+
private addLight;
|
|
120
120
|
addGround(options?: {
|
|
121
121
|
width?: number;
|
|
122
122
|
height?: number;
|
|
@@ -146,6 +146,7 @@ export declare class Engine {
|
|
|
146
146
|
moveBones(bones: string[], relativeTranslations: Vec3[], durationMs?: number): void;
|
|
147
147
|
setMorphWeight(name: string, weight: number, durationMs?: number): void;
|
|
148
148
|
setMaterialVisible(name: string, visible: boolean): void;
|
|
149
|
+
toggleMaterialVisible(name: string): void;
|
|
149
150
|
isMaterialVisible(name: string): boolean;
|
|
150
151
|
getBones(): string[];
|
|
151
152
|
getMorphs(): string[];
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,IAAI,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAIzC,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;AAEjG,MAAM,MAAM,aAAa,GAAG;IAC1B,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,eAAe,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;AAEjH,eAAO,MAAM,sBAAsB,EAAE,qBASpC,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;CAClB;AAsBD,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,kBAAkB,CAAmB;IAC7C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,mBAAmB,CAAY;IACvC,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAO;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,kBAAkB,CAAY;IACtC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,WAAW,CAAC,CAAW;IAC/B,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,YAAY,CAAa;IAEjC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,oBAAoB,CAAoB;IAChD,OAAO,CAAC,uBAAuB,CAAoB;IACnD,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,qBAAqB,CAAqB;IAClD,OAAO,CAAC,kBAAkB,CAAoB;IAE9C,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,mBAAmB,CAAoB;IAC/C,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,sBAAsB,CAAqB;IACnD,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,gBAAgB,CAAC,CAAW;IACpC,OAAO,CAAC,uBAAuB,CAAC,CAAW;IAC3C,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAI;IAChC,OAAO,CAAC,oBAAoB,CAA0B;IAEtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAI;IACtC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAI;IAG3C,OAAO,CAAC,YAAY,CAAO;IAE3B,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,sBAAsB,CAAiB;IAC/C,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,iBAAiB,CAAa;IAEtC,OAAO,CAAC,oBAAoB,CAAoB;IAChD,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,oBAAoB,CAAoB;IAChD,OAAO,CAAC,mBAAmB,CAAY;IACvC,OAAO,CAAC,oBAAoB,CAAY;IACxC,OAAO,CAAC,oBAAoB,CAAY;IACxC,OAAO,CAAC,aAAa,CAAa;IAElC,OAAO,CAAC,qBAAqB,CAAC,CAAc;IAC5C,OAAO,CAAC,mBAAmB,CAAC,CAAc;IAC1C,OAAO,CAAC,mBAAmB,CAAC,CAAc;IAC1C,OAAO,CAAC,qBAAqB,CAAC,CAAc;IAE5C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,iBAAiB,CAAS;IAGlC,OAAO,CAAC,kBAAkB,CAAC,CAAW;IACtC,OAAO,CAAC,iBAAiB,CAAC,CAAW;IACrC,OAAO,CAAC,uBAAuB,CAAC,CAAY;IAC5C,OAAO,CAAC,8BAA8B,CAAC,CAAY;IACnD,OAAO,CAAC,4BAA4B,CAAC,CAAY;IACjD,OAAO,CAAC,yBAAyB,CAAC,CAAc;IAChD,OAAO,CAAC,2BAA2B,CAAC,CAAW;IAC/C,OAAO,CAAC,oBAAoB,CAAQ;IAGpC,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,qBAAqB,CAAC,CAAc;IAC5C,OAAO,CAAC,yBAAyB,CAAK;IACtC,OAAO,CAAC,mBAAmB,CAAI;IAE/B,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAEvC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,uBAAuB,CAAQ;IAEvC,OAAO,CAAC,SAAS,CAAiB;IAElC,OAAO,CAAC,eAAe,CAAoB;IAE3C,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,qBAAqB,CAAI;IACjC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,KAAK,CAGZ;IACD,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,kBAAkB,CAA4B;gBAE1C,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,aAAa;IAejD,IAAI;IA6BjB,OAAO,CAAC,oBAAoB;IA+B5B,OAAO,CAAC,eAAe;IAqnBvB,OAAO,CAAC,oBAAoB;IA4O5B,OAAO,CAAC,UAAU;IA+DlB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,YAAY;IA+EpB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,eAAe;IAShB,WAAW;IAUlB,OAAO,CAAC,QAAQ;IAmBT,SAAS,CAAC,OAAO,CAAC,EAAE;QACzB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,YAAY,CAAC,EAAE,IAAI,CAAA;QACnB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,qBAAqB,CAAC,EAAE,MAAM,CAAA;QAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,GAAG,IAAI;IA4BR,OAAO,CAAC,iBAAiB;IAIZ,aAAa,CAAC,GAAG,EAAE,MAAM;IAK/B,aAAa;IAIb,aAAa;IAIb,cAAc;IAId,aAAa,CAAC,IAAI,EAAE,MAAM;IAI1B,oBAAoB;;;;;IAIpB,QAAQ,IAAI,WAAW;IAIvB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI;IAgBnC,cAAc;IAQd,OAAO;IAkBD,SAAS,CAAC,IAAI,EAAE,MAAM;IAe5B,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM;IAKnE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM;IAI5E,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAQvE,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAQxD,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQzC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIxC,QAAQ,IAAI,MAAM,EAAE;IAIpB,SAAS,IAAI,MAAM,EAAE;IAIrB,YAAY,IAAI,MAAM,EAAE;IAI/B,OAAO,CAAC,kBAAkB;YAQZ,iBAAiB;IA8E/B,OAAO,CAAC,oBAAoB;IAwE5B,OAAO,CAAC,0BAA0B;IA2BlC,OAAO,CAAC,uBAAuB;YAsCjB,cAAc;IAoK5B,OAAO,CAAC,2BAA2B;IAMnC,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,oBAAoB;YAId,qBAAqB;IAmCnC,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,uBAAuB;IA0E/B,OAAO,CAAC,UAAU;IA6DlB,OAAO,CAAC,uBAAuB,CAQ9B;IAED,OAAO,CAAC,iBAAiB,CA0BxB;IAED,OAAO,CAAC,cAAc;IA0Nf,MAAM;IAgFb,OAAO,CAAC,UAAU;IAmGlB,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,kCAAkC;CAoB3C"}
|
package/dist/engine.js
CHANGED
|
@@ -1248,7 +1248,6 @@ export class Engine {
|
|
|
1248
1248
|
const dir = pathParts.join("/") + "/";
|
|
1249
1249
|
this.modelDir = dir;
|
|
1250
1250
|
const model = await PmxLoader.load(path);
|
|
1251
|
-
console.log(model);
|
|
1252
1251
|
// Clear cached skinned vertices when loading a new model
|
|
1253
1252
|
this.cachedSkinnedVertices = undefined;
|
|
1254
1253
|
this.cachedSkinMatricesVersion = -1;
|
|
@@ -1277,6 +1276,14 @@ export class Engine {
|
|
|
1277
1276
|
this.hiddenMaterials.add(name);
|
|
1278
1277
|
}
|
|
1279
1278
|
}
|
|
1279
|
+
toggleMaterialVisible(name) {
|
|
1280
|
+
if (this.hiddenMaterials.has(name)) {
|
|
1281
|
+
this.hiddenMaterials.delete(name);
|
|
1282
|
+
}
|
|
1283
|
+
else {
|
|
1284
|
+
this.hiddenMaterials.add(name);
|
|
1285
|
+
}
|
|
1286
|
+
}
|
|
1280
1287
|
isMaterialVisible(name) {
|
|
1281
1288
|
return !this.hiddenMaterials.has(name);
|
|
1282
1289
|
}
|
|
@@ -1698,6 +1705,8 @@ export class Engine {
|
|
|
1698
1705
|
pass.drawIndexed(draw.count, 1, draw.firstIndex, 0, 0);
|
|
1699
1706
|
}
|
|
1700
1707
|
}
|
|
1708
|
+
// // Restore model index buffer for subsequent rendering
|
|
1709
|
+
// pass.setIndexBuffer(this.indexBuffer!, "uint32")
|
|
1701
1710
|
}
|
|
1702
1711
|
renderReflectionTexture() {
|
|
1703
1712
|
if (!this.groundReflectionTexture)
|
|
@@ -1945,9 +1954,8 @@ export class Engine {
|
|
|
1945
1954
|
if (triangleMaterialIndex === -1)
|
|
1946
1955
|
continue;
|
|
1947
1956
|
// Skip invisible materials
|
|
1948
|
-
const materialName = materials[triangleMaterialIndex].name
|
|
1949
|
-
if (this.hiddenMaterials.has(materialName))
|
|
1950
|
-
continue;
|
|
1957
|
+
// const materialName = materials[triangleMaterialIndex].name
|
|
1958
|
+
// if (this.hiddenMaterials.has(materialName)) continue
|
|
1951
1959
|
// Ray-triangle intersection test (Möller-Trumbore algorithm)
|
|
1952
1960
|
const edge1 = v1.subtract(v0);
|
|
1953
1961
|
const edge2 = v2.subtract(v0);
|
|
@@ -2028,10 +2036,6 @@ export class Engine {
|
|
|
2028
2036
|
this.drawOutlines(pass, false);
|
|
2029
2037
|
// Pass 3: Hair rendering (depth pre-pass + shading + outlines)
|
|
2030
2038
|
this.renderHair(pass);
|
|
2031
|
-
// Pass 4: Ground (with reflections)
|
|
2032
|
-
if (this.groundHasReflections) {
|
|
2033
|
-
this.renderGround(pass);
|
|
2034
|
-
}
|
|
2035
2039
|
// Pass 5: Transparent
|
|
2036
2040
|
pass.setPipeline(this.modelPipeline);
|
|
2037
2041
|
for (const draw of this.drawCalls) {
|
|
@@ -2042,6 +2046,10 @@ export class Engine {
|
|
|
2042
2046
|
}
|
|
2043
2047
|
this.drawOutlines(pass, true);
|
|
2044
2048
|
}
|
|
2049
|
+
// Pass 4: Ground (with reflections)
|
|
2050
|
+
if (this.groundHasReflections) {
|
|
2051
|
+
this.renderGround(pass);
|
|
2052
|
+
}
|
|
2045
2053
|
pass.end();
|
|
2046
2054
|
this.device.queue.submit([encoder.finish()]);
|
|
2047
2055
|
this.applyBloom();
|
package/package.json
CHANGED
package/src/engine.ts
CHANGED
|
@@ -1310,7 +1310,7 @@ export class Engine {
|
|
|
1310
1310
|
this.updateLightBuffer()
|
|
1311
1311
|
}
|
|
1312
1312
|
|
|
1313
|
-
|
|
1313
|
+
private addLight(direction: Vec3, color: Vec3, intensity: number = 1.0): boolean {
|
|
1314
1314
|
if (this.lightCount >= 4) return false
|
|
1315
1315
|
|
|
1316
1316
|
const normalized = direction.normalize()
|
|
@@ -1447,7 +1447,6 @@ export class Engine {
|
|
|
1447
1447
|
this.modelDir = dir
|
|
1448
1448
|
|
|
1449
1449
|
const model = await PmxLoader.load(path)
|
|
1450
|
-
console.log(model)
|
|
1451
1450
|
|
|
1452
1451
|
// Clear cached skinned vertices when loading a new model
|
|
1453
1452
|
this.cachedSkinnedVertices = undefined
|
|
@@ -1481,6 +1480,14 @@ export class Engine {
|
|
|
1481
1480
|
}
|
|
1482
1481
|
}
|
|
1483
1482
|
|
|
1483
|
+
public toggleMaterialVisible(name: string): void {
|
|
1484
|
+
if (this.hiddenMaterials.has(name)) {
|
|
1485
|
+
this.hiddenMaterials.delete(name)
|
|
1486
|
+
} else {
|
|
1487
|
+
this.hiddenMaterials.add(name)
|
|
1488
|
+
}
|
|
1489
|
+
}
|
|
1490
|
+
|
|
1484
1491
|
public isMaterialVisible(name: string): boolean {
|
|
1485
1492
|
return !this.hiddenMaterials.has(name)
|
|
1486
1493
|
}
|
|
@@ -1979,6 +1986,9 @@ export class Engine {
|
|
|
1979
1986
|
pass.drawIndexed(draw.count, 1, draw.firstIndex, 0, 0)
|
|
1980
1987
|
}
|
|
1981
1988
|
}
|
|
1989
|
+
|
|
1990
|
+
// // Restore model index buffer for subsequent rendering
|
|
1991
|
+
// pass.setIndexBuffer(this.indexBuffer!, "uint32")
|
|
1982
1992
|
}
|
|
1983
1993
|
|
|
1984
1994
|
private renderReflectionTexture() {
|
|
@@ -2324,8 +2334,8 @@ export class Engine {
|
|
|
2324
2334
|
if (triangleMaterialIndex === -1) continue
|
|
2325
2335
|
|
|
2326
2336
|
// Skip invisible materials
|
|
2327
|
-
const materialName = materials[triangleMaterialIndex].name
|
|
2328
|
-
if (this.hiddenMaterials.has(materialName)) continue
|
|
2337
|
+
// const materialName = materials[triangleMaterialIndex].name
|
|
2338
|
+
// if (this.hiddenMaterials.has(materialName)) continue
|
|
2329
2339
|
|
|
2330
2340
|
// Ray-triangle intersection test (Möller-Trumbore algorithm)
|
|
2331
2341
|
const edge1 = v1.subtract(v0)
|
|
@@ -2426,11 +2436,6 @@ export class Engine {
|
|
|
2426
2436
|
// Pass 3: Hair rendering (depth pre-pass + shading + outlines)
|
|
2427
2437
|
this.renderHair(pass)
|
|
2428
2438
|
|
|
2429
|
-
// Pass 4: Ground (with reflections)
|
|
2430
|
-
if (this.groundHasReflections) {
|
|
2431
|
-
this.renderGround(pass)
|
|
2432
|
-
}
|
|
2433
|
-
|
|
2434
2439
|
// Pass 5: Transparent
|
|
2435
2440
|
pass.setPipeline(this.modelPipeline)
|
|
2436
2441
|
for (const draw of this.drawCalls) {
|
|
@@ -2443,6 +2448,11 @@ export class Engine {
|
|
|
2443
2448
|
this.drawOutlines(pass, true)
|
|
2444
2449
|
}
|
|
2445
2450
|
|
|
2451
|
+
// Pass 4: Ground (with reflections)
|
|
2452
|
+
if (this.groundHasReflections) {
|
|
2453
|
+
this.renderGround(pass)
|
|
2454
|
+
}
|
|
2455
|
+
|
|
2446
2456
|
pass.end()
|
|
2447
2457
|
this.device.queue.submit([encoder.finish()])
|
|
2448
2458
|
|