rm-webgpu-compute-tasks 0.0.4 → 0.0.6
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 +1 -1
- package/src/index.d.ts +30 -1
- package/src/index.js +11 -4
package/package.json
CHANGED
package/src/index.d.ts
CHANGED
|
@@ -283,6 +283,29 @@ declare interface IData {
|
|
|
283
283
|
}[];
|
|
284
284
|
}
|
|
285
285
|
|
|
286
|
+
declare interface IItemsFile {
|
|
287
|
+
cameraMat: number[];
|
|
288
|
+
extrinsicMat: number[];
|
|
289
|
+
filename: string;
|
|
290
|
+
imageSize: [number, number];
|
|
291
|
+
position: {
|
|
292
|
+
x: number;
|
|
293
|
+
y: number;
|
|
294
|
+
z: number;
|
|
295
|
+
};
|
|
296
|
+
quaternion: {
|
|
297
|
+
x: number;
|
|
298
|
+
y: number;
|
|
299
|
+
z: number;
|
|
300
|
+
w: number;
|
|
301
|
+
};
|
|
302
|
+
sam3Objects: {
|
|
303
|
+
category: string;
|
|
304
|
+
objId: string;
|
|
305
|
+
coordinates: [number, number][];
|
|
306
|
+
}[];
|
|
307
|
+
}
|
|
308
|
+
|
|
286
309
|
declare type InitOption = {
|
|
287
310
|
featureLevel?: string;
|
|
288
311
|
powerPreference?: GPUPowerPreference;
|
|
@@ -487,7 +510,11 @@ export declare class Renderer {
|
|
|
487
510
|
}
|
|
488
511
|
|
|
489
512
|
export declare const segmentObjectPointClouds: typeof sopc_ & {
|
|
490
|
-
getResult(opt: Option_2): Promise<
|
|
513
|
+
getResult(opt: Option_2): Promise<{
|
|
514
|
+
results: number[][][];
|
|
515
|
+
objIds: string[][];
|
|
516
|
+
itemsFiles: IItemsFile[];
|
|
517
|
+
}>;
|
|
491
518
|
};
|
|
492
519
|
|
|
493
520
|
export declare const shaderLocationMap: Map<string, number>;
|
|
@@ -592,6 +619,8 @@ declare function sopc_(opt: Option_2): Promise<{
|
|
|
592
619
|
camera: PerspectiveCamera;
|
|
593
620
|
results: number[][][];
|
|
594
621
|
pointsArray: Float32Array<ArrayBufferLike>;
|
|
622
|
+
objIds: string[][];
|
|
623
|
+
itemsFiles: IItemsFile[];
|
|
595
624
|
}>;
|
|
596
625
|
|
|
597
626
|
export declare class Texture {
|
package/src/index.js
CHANGED
|
@@ -3190,7 +3190,12 @@ async function sopc_(opt) {
|
|
|
3190
3190
|
console.log("开始计算");
|
|
3191
3191
|
let t = performance.now();
|
|
3192
3192
|
await initWebgpu();
|
|
3193
|
-
|
|
3193
|
+
let canvasWidth = 256, canvasHeight = 256;
|
|
3194
|
+
if (typeof window !== "undefined") {
|
|
3195
|
+
canvasWidth = window.innerWidth ?? canvasWidth;
|
|
3196
|
+
canvasHeight = window.innerHeight ?? canvasHeight;
|
|
3197
|
+
}
|
|
3198
|
+
const renderer = new Renderer(canvasWidth, canvasHeight, "rgba8unorm"), camera = new PerspectiveCamera(75, canvasWidth / canvasHeight, 1e-3, 100), { points: pointsArray, itemsFiles, width, height } = await load(base, urls), pointCount = pointsArray.length / 3, pcIndexMaterial = new PointCloudsIndexMaterial(width, height), polyAreaIndexMaterial = new PolyAreaIndexMaterial(width, height), erodeMaskComputeMaterial = new ErodeMaskComputeMaterial(width, height, polyAreaIndexMaterial.resultTexture, erodeMaskSize), sopcComputeMaterial = new SOPCComputeMaterial(width, height, pointCount, pcIndexMaterial.resultTexture, kernelSize), points = new Object3D(
|
|
3194
3199
|
new BufferGeometry().setAttribute("position", new THREE.BufferAttribute(pointsArray, 3)),
|
|
3195
3200
|
pcIndexMaterial
|
|
3196
3201
|
), mesh = new Object3D(
|
|
@@ -3280,15 +3285,17 @@ async function sopc_(opt) {
|
|
|
3280
3285
|
renderer,
|
|
3281
3286
|
camera,
|
|
3282
3287
|
results,
|
|
3283
|
-
pointsArray
|
|
3288
|
+
pointsArray,
|
|
3289
|
+
objIds: itemsFiles.map((item) => item.sam3Objects.map((sam3Object) => sam3Object.objId)),
|
|
3290
|
+
itemsFiles
|
|
3284
3291
|
};
|
|
3285
3292
|
}
|
|
3286
3293
|
const segmentObjectPointClouds = Object.assign(sopc_, {
|
|
3287
3294
|
async getResult(opt) {
|
|
3288
3295
|
await initWebgpu();
|
|
3289
|
-
const { results } = await sopc_(opt);
|
|
3296
|
+
const { results, objIds, itemsFiles } = await sopc_(opt);
|
|
3290
3297
|
await destroyWebgpu();
|
|
3291
|
-
return results;
|
|
3298
|
+
return { results, objIds, itemsFiles };
|
|
3292
3299
|
}
|
|
3293
3300
|
});
|
|
3294
3301
|
export {
|