@aardworx/wombat.rendering 0.9.30 → 0.9.31
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.
|
@@ -73,20 +73,16 @@ export function gpuFlipCullByDeterminant(inputUniform, declared = "back") {
|
|
|
73
73
|
domain: ["back", "front", "none"],
|
|
74
74
|
gpu: { kernel: "flipCullByDeterminant", inputUniform, declared },
|
|
75
75
|
evaluate: (u, declaredFromCtx) => {
|
|
76
|
-
|
|
77
|
-
//
|
|
78
|
-
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if (data === undefined)
|
|
76
|
+
// Accept Trafo3d ({forward: M44d}) — the wombat.base shape used
|
|
77
|
+
// by SG ModelTrafo — or any object with M00..M22 accessors.
|
|
78
|
+
const raw = u[inputUniform];
|
|
79
|
+
const m = raw.forward
|
|
80
|
+
?? raw;
|
|
81
|
+
if (m === undefined || typeof m.M00 !== "number")
|
|
83
82
|
return declaredFromCtx;
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const det = m00 * (m11 * m22 - m12 * m21)
|
|
88
|
-
- m01 * (m10 * m22 - m12 * m20)
|
|
89
|
-
+ m02 * (m10 * m21 - m11 * m20);
|
|
83
|
+
const det = m.M00 * (m.M11 * m.M22 - m.M12 * m.M21)
|
|
84
|
+
- m.M01 * (m.M10 * m.M22 - m.M12 * m.M20)
|
|
85
|
+
+ m.M02 * (m.M10 * m.M21 - m.M11 * m.M20);
|
|
90
86
|
return det < 0 ? flipCull(declaredFromCtx) : declaredFromCtx;
|
|
91
87
|
},
|
|
92
88
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule.js","sourceRoot":"","sources":["../../../src/runtime/derivedModes/rule.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,oEAAoE;AACpE,iBAAiB;AACjB,EAAE;AACF,mEAAmE;AACnE,kEAAkE;AAClE,oEAAoE;AACpE,oEAAoE;AACpE,iEAAiE;AACjE,iEAAiE;AACjE,sBAAsB;AACtB,EAAE;AACF,iEAAiE;AACjE,oEAAoE;AACpE,4DAA4D;AAC5D,EAAE;AACF,uEAAuE;AACvE,oEAAoE;AACpE,oDAAoD;AA8EpD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW,CACzB,IAAO,EACP,QAA+B,EAC/B,UAA6D,EAAE;IAE/D,MAAM,GAAG,GAAuB,OAAO,CAAC,MAAM,KAAK,SAAS;QAC1D,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;QACrE,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAChD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;mEACmE;AACnE,MAAM,UAAU,iBAAiB,CAAC,CAAU;IAC1C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;WAClC,CAAqC,CAAC,iBAAiB,KAAK,IAAI,CAAC;AAC3E,CAAC;AAED;6EAC6E;AAC7E,MAAM,UAAU,QAAQ,CAAC,CAAW;IAClC,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAAoB,EACpB,WAGI,MAAM;IAEV,OAAO;QACL,iBAAiB,EAAE,IAAI;QACvB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;QACjC,GAAG,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,YAAY,EAAE,QAAQ,EAAE;QAChE,QAAQ,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE;YAC/B,MAAM,
|
|
1
|
+
{"version":3,"file":"rule.js","sourceRoot":"","sources":["../../../src/runtime/derivedModes/rule.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,oEAAoE;AACpE,iBAAiB;AACjB,EAAE;AACF,mEAAmE;AACnE,kEAAkE;AAClE,oEAAoE;AACpE,oEAAoE;AACpE,iEAAiE;AACjE,iEAAiE;AACjE,sBAAsB;AACtB,EAAE;AACF,iEAAiE;AACjE,oEAAoE;AACpE,4DAA4D;AAC5D,EAAE;AACF,uEAAuE;AACvE,oEAAoE;AACpE,oDAAoD;AA8EpD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW,CACzB,IAAO,EACP,QAA+B,EAC/B,UAA6D,EAAE;IAE/D,MAAM,GAAG,GAAuB,OAAO,CAAC,MAAM,KAAK,SAAS;QAC1D,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;QACrE,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAChD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;mEACmE;AACnE,MAAM,UAAU,iBAAiB,CAAC,CAAU;IAC1C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;WAClC,CAAqC,CAAC,iBAAiB,KAAK,IAAI,CAAC;AAC3E,CAAC;AAED;6EAC6E;AAC7E,MAAM,UAAU,QAAQ,CAAC,CAAW;IAClC,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAAoB,EACpB,WAGI,MAAM;IAEV,OAAO;QACL,iBAAiB,EAAE,IAAI;QACvB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;QACjC,GAAG,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,YAAY,EAAE,QAAQ,EAAE;QAChE,QAAQ,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE;YAC/B,gEAAgE;YAChE,4DAA4D;YAC5D,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;YAI5B,MAAM,CAAC,GACJ,GAAuB,CAAC,OAAO;mBAC5B,GAAS,CAAC;YAChB,IAAI,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAAE,OAAO,eAAe,CAAC;YACzE,MAAM,GAAG,GACP,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;kBACvC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;kBACvC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1C,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;QAC/D,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aardworx/wombat.rendering",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.31",
|
|
4
4
|
"description": "WebGPU rendering layer for the Wombat TypeScript stack — RenderObject/RenderTask/runtime + window glue, port of Aardvark.Rendering's lower layers on top of WebGPU and wombat.shader.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "krauthaufen",
|
|
@@ -163,20 +163,20 @@ export function gpuFlipCullByDeterminant(
|
|
|
163
163
|
domain: ["back", "front", "none"],
|
|
164
164
|
gpu: { kernel: "flipCullByDeterminant", inputUniform, declared },
|
|
165
165
|
evaluate: (u, declaredFromCtx) => {
|
|
166
|
-
|
|
167
|
-
//
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
const
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
166
|
+
// Accept Trafo3d ({forward: M44d}) — the wombat.base shape used
|
|
167
|
+
// by SG ModelTrafo — or any object with M00..M22 accessors.
|
|
168
|
+
const raw = u[inputUniform];
|
|
169
|
+
type M = { M00: number; M01: number; M02: number;
|
|
170
|
+
M10: number; M11: number; M12: number;
|
|
171
|
+
M20: number; M21: number; M22: number };
|
|
172
|
+
const m: M | undefined =
|
|
173
|
+
(raw as { forward?: M }).forward
|
|
174
|
+
?? (raw as M);
|
|
175
|
+
if (m === undefined || typeof m.M00 !== "number") return declaredFromCtx;
|
|
176
|
+
const det =
|
|
177
|
+
m.M00 * (m.M11 * m.M22 - m.M12 * m.M21)
|
|
178
|
+
- m.M01 * (m.M10 * m.M22 - m.M12 * m.M20)
|
|
179
|
+
+ m.M02 * (m.M10 * m.M21 - m.M11 * m.M20);
|
|
180
180
|
return det < 0 ? flipCull(declaredFromCtx) : declaredFromCtx;
|
|
181
181
|
},
|
|
182
182
|
};
|