matrix-engine-wgpu 1.2.12 → 1.2.14
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matrix-engine-wgpu",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.14",
|
|
4
4
|
"description": "+HOTFIX raycast, webGPU powered pwa application. Crazy fast rendering with AmmoJS physics support. Simple raycaster hit object added.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
package/src/engine/mesh-obj.js
CHANGED
|
@@ -290,7 +290,7 @@ export default class MEMeshObj {
|
|
|
290
290
|
});
|
|
291
291
|
|
|
292
292
|
const depthTexture = this.device.createTexture({
|
|
293
|
-
size: [canvas.width, canvas.height],
|
|
293
|
+
size: [canvas.width, canvas.height, 1],
|
|
294
294
|
format: 'depth24plus-stencil8',
|
|
295
295
|
usage: GPUTextureUsage.RENDER_ATTACHMENT,
|
|
296
296
|
});
|
|
@@ -301,7 +301,7 @@ export default class MEMeshObj {
|
|
|
301
301
|
// view is acquired and set in render loop.
|
|
302
302
|
view: undefined,
|
|
303
303
|
clearValue: {r: 0.5, g: 0.5, b: 0.5, a: 1.0},
|
|
304
|
-
loadOp: '
|
|
304
|
+
loadOp: 'clear',
|
|
305
305
|
storeOp: 'store',
|
|
306
306
|
},
|
|
307
307
|
],
|
|
@@ -326,7 +326,8 @@ export default class MEMeshObj {
|
|
|
326
326
|
// one for the camera and one for the light.
|
|
327
327
|
// Then a vec3 for the light position.
|
|
328
328
|
// Rounded to the nearest multiple of 16.
|
|
329
|
-
size: 2 * 4 * 16 + 4 * 4,
|
|
329
|
+
// size: 2 * 4 * 16 + 4 * 4,
|
|
330
|
+
size: 160,
|
|
330
331
|
usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,
|
|
331
332
|
});
|
|
332
333
|
|
|
@@ -5,7 +5,7 @@ export default class MatrixAmmo {
|
|
|
5
5
|
constructor() {
|
|
6
6
|
// THIS PATH IS PATH FROM PUBLIC FINAL FOLDER
|
|
7
7
|
scriptManager.LOAD(
|
|
8
|
-
"
|
|
8
|
+
"https://maximumroulette.com/apps/megpu/ammo.js",
|
|
9
9
|
"ammojs",
|
|
10
10
|
undefined,
|
|
11
11
|
undefined,
|
|
@@ -287,7 +287,7 @@ export default class MatrixAmmo {
|
|
|
287
287
|
}
|
|
288
288
|
|
|
289
289
|
updatePhysics() {
|
|
290
|
-
if(
|
|
290
|
+
if(typeof Ammo === 'undefined') return;
|
|
291
291
|
const trans = new Ammo.btTransform();
|
|
292
292
|
const transform = new Ammo.btTransform();
|
|
293
293
|
|
|
@@ -3,7 +3,8 @@ export let fragmentWGSL = `override shadowDepthTextureSize: f32 = 1024.0;
|
|
|
3
3
|
struct Scene {
|
|
4
4
|
lightViewProjMatrix : mat4x4f,
|
|
5
5
|
cameraViewProjMatrix : mat4x4f,
|
|
6
|
-
lightPos :
|
|
6
|
+
lightPos : vec4f,
|
|
7
|
+
// padding: f32, // 👈 fix alignment
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
@group(0) @binding(0) var<uniform> scene : Scene;
|
|
@@ -39,7 +40,7 @@ fn main(input : FragmentInput) -> @location(0) vec4f {
|
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
visibility /= 9.0;
|
|
42
|
-
let lambertFactor = max(dot(normalize(scene.lightPos - input.fragPos), normalize(input.fragNorm)), 0.0);
|
|
43
|
+
let lambertFactor = max(dot(normalize(scene.lightPos.xyz - input.fragPos), normalize(input.fragNorm)), 0.0);
|
|
43
44
|
let lightingFactor = min(ambientFactor + visibility * lambertFactor, 1.0);
|
|
44
45
|
let textureColor = textureSample(meshTexture, meshSampler, input.uv);
|
|
45
46
|
|