Skip to content

Commit f26e24c

Browse files
committed
fix(vk): gaussianSplat 先去掉共享内存看效果
1 parent f7319cc commit f26e24c

File tree

4 files changed

+62
-49
lines changed

4 files changed

+62
-49
lines changed

miniprogram/packageAPI/pages/ar/gaussian-splatting/gaussian-splatting-ar.js

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -233,21 +233,21 @@ Component({
233233
const renderCount = this.renderCount = info.count;
234234

235235
// 全部用 f32 存储
236-
this.sabPositions = wx.createSharedArrayBuffer(renderCount * 4 * 3)
237-
this.sabOpacities= wx.createSharedArrayBuffer(renderCount * 4)
238-
this.sabCov3Da = wx.createSharedArrayBuffer(renderCount * 4 * 3)
239-
this.sabCov3Db = wx.createSharedArrayBuffer(renderCount * 4 * 3)
240-
this.sabcolors = wx.createSharedArrayBuffer(renderCount * 4 * 3)
236+
// this.sabPositions = wx.createSharedArrayBuffer(renderCount * 4 * 3)
237+
// this.sabOpacities= wx.createSharedArrayBuffer(renderCount * 4)
238+
// this.sabCov3Da = wx.createSharedArrayBuffer(renderCount * 4 * 3)
239+
// this.sabCov3Db = wx.createSharedArrayBuffer(renderCount * 4 * 3)
240+
// this.sabcolors = wx.createSharedArrayBuffer(renderCount * 4 * 3)
241241

242-
console.log('创建 worker 共享内存', this.sabPositions, this.sabOpacities, this.sabCov3Da, this.sabCov3Db, this.sabcolors)
242+
// console.log('创建 worker 共享内存', this.sabPositions, this.sabOpacities, this.sabCov3Da, this.sabCov3Db, this.sabcolors)
243243

244244
// 初始化 worker 相关
245245
this.initWorker(info, {
246-
sabPositions: this.sabPositions,
247-
sabOpacities: this.sabOpacities,
248-
sabCov3Da: this.sabCov3Da,
249-
sabCov3Db: this.sabCov3Db,
250-
sabcolors: this.sabcolors,
246+
// sabPositions: this.sabPositions,
247+
// sabOpacities: this.sabOpacities,
248+
// sabCov3Da: this.sabCov3Da,
249+
// sabCov3Db: this.sabCov3Db,
250+
// sabcolors: this.sabcolors,
251251
});
252252

253253
} else {
@@ -301,11 +301,18 @@ Component({
301301
gl.bufferData(gl.ARRAY_BUFFER, data, gl.DYNAMIC_DRAW)
302302
}
303303

304-
const positions = new Float32Array(this.sabPositions.buffer);
305-
const opacities = new Float32Array(this.sabOpacities.buffer);
306-
const cov3Da = new Float32Array(this.sabCov3Da.buffer);
307-
const cov3Db = new Float32Array(this.sabCov3Db.buffer);
308-
const colors = new Float32Array(this.sabcolors.buffer);
304+
// const positions = new Float32Array(this.sabPositions.buffer);
305+
// const opacities = new Float32Array(this.sabOpacities.buffer);
306+
// const cov3Da = new Float32Array(this.sabCov3Da.buffer);
307+
// const cov3Db = new Float32Array(this.sabCov3Db.buffer);
308+
// const colors = new Float32Array(this.sabcolors.buffer);
309+
310+
const positions = new Float32Array(data.positions);
311+
const opacities = new Float32Array(data.opacities);
312+
const cov3Da = new Float32Array(data.cov3Da);
313+
const cov3Db = new Float32Array(data.cov3Db);
314+
const colors = new Float32Array(data.colors);
315+
309316

310317
updateBuffer(this.splat.buffers.center, positions)
311318
updateBuffer(this.splat.buffers.opacity, opacities)

miniprogram/packageAPI/pages/ar/gaussian-splatting/gaussian-splatting.js

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -312,21 +312,21 @@ Component({
312312
const renderCount = this.renderCount = info.count;
313313

314314
// 全部用 f32 存储
315-
this.sabPositions = wx.createSharedArrayBuffer(renderCount * 4 * 3)
316-
this.sabOpacities= wx.createSharedArrayBuffer(renderCount * 4)
317-
this.sabCov3Da = wx.createSharedArrayBuffer(renderCount * 4 * 3)
318-
this.sabCov3Db = wx.createSharedArrayBuffer(renderCount * 4 * 3)
319-
this.sabcolors = wx.createSharedArrayBuffer(renderCount * 4 * 3)
315+
// this.sabPositions = wx.createSharedArrayBuffer(renderCount * 4 * 3)
316+
// this.sabOpacities= wx.createSharedArrayBuffer(renderCount * 4)
317+
// this.sabCov3Da = wx.createSharedArrayBuffer(renderCount * 4 * 3)
318+
// this.sabCov3Db = wx.createSharedArrayBuffer(renderCount * 4 * 3)
319+
// this.sabcolors = wx.createSharedArrayBuffer(renderCount * 4 * 3)
320320

321-
console.log('创建 worker 共享内存', this.sabPositions, this.sabOpacities, this.sabCov3Da, this.sabCov3Db, this.sabcolors)
321+
// console.log('创建 worker 共享内存', this.sabPositions, this.sabOpacities, this.sabCov3Da, this.sabCov3Db, this.sabcolors)
322322

323323
// 初始化 worker 相关
324324
this.initWorker(info, {
325-
sabPositions: this.sabPositions,
326-
sabOpacities: this.sabOpacities,
327-
sabCov3Da: this.sabCov3Da,
328-
sabCov3Db: this.sabCov3Db,
329-
sabcolors: this.sabcolors,
325+
// sabPositions: this.sabPositions,
326+
// sabOpacities: this.sabOpacities,
327+
// sabCov3Da: this.sabCov3Da,
328+
// sabCov3Db: this.sabCov3Db,
329+
// sabcolors: this.sabcolors,
330330
});
331331

332332
} else {
@@ -381,11 +381,17 @@ Component({
381381
gl.bufferData(gl.ARRAY_BUFFER, data, gl.DYNAMIC_DRAW)
382382
}
383383

384-
const positions = new Float32Array(this.sabPositions.buffer);
385-
const opacities = new Float32Array(this.sabOpacities.buffer);
386-
const cov3Da = new Float32Array(this.sabCov3Da.buffer);
387-
const cov3Db = new Float32Array(this.sabCov3Db.buffer);
388-
const colors = new Float32Array(this.sabcolors.buffer);
384+
const positions = new Float32Array(data.positions);
385+
const opacities = new Float32Array(data.opacities);
386+
const cov3Da = new Float32Array(data.cov3Da);
387+
const cov3Db = new Float32Array(data.cov3Db);
388+
const colors = new Float32Array(data.colors);
389+
390+
// const positions = new Float32Array(this.sabPositions.buffer);
391+
// const opacities = new Float32Array(this.sabOpacities.buffer);
392+
// const cov3Da = new Float32Array(this.sabCov3Da.buffer);
393+
// const cov3Db = new Float32Array(this.sabCov3Db.buffer);
394+
// const colors = new Float32Array(this.sabcolors.buffer);
389395

390396
updateBuffer(this.splat.buffers.center, positions)
391397
updateBuffer(this.splat.buffers.opacity, opacities)

miniprogram/packageAPI/pages/ar/gaussian-splatting/webgl2/shaders/splat_vertex.glsl.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ void main() {
8484
8585
// Perform near culling, quit if outside.
8686
vec4 p_view = modelViewMatrix * vec4(p_orig, 1);
87-
if (p_view.z <= .4) {
87+
if (p_view.z <= .1) {
8888
gl_Position = vec4(0, 0, 0, 1);
8989
return;
9090
}

miniprogram/workers/gaussianSplatting/index.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@ function init(plyInfo, config) {
1818

1919
console.log(`[Worker] Received ${gaussians.count} gaussians`)
2020

21-
// data.positions = new Float32Array(gaussians.count * 3)
22-
// data.opacities = new Float32Array(gaussians.count)
23-
// data.cov3Da = new Float32Array(gaussians.count * 3)
24-
// data.cov3Db = new Float32Array(gaussians.count * 3)
25-
// data.colors = new Float32Array(gaussians.count * 3)
26-
27-
data.positions = new Float32Array(config.sabPositions.buffer);
28-
data.opacities = new Float32Array(config.sabOpacities.buffer);
29-
data.cov3Da = new Float32Array(config.sabCov3Da.buffer);
30-
data.cov3Db = new Float32Array(config.sabCov3Db.buffer);
31-
data.colors = new Float32Array(config.sabcolors.buffer);
21+
data.positions = new Float32Array(gaussians.count * 3)
22+
data.opacities = new Float32Array(gaussians.count)
23+
data.cov3Da = new Float32Array(gaussians.count * 3)
24+
data.cov3Db = new Float32Array(gaussians.count * 3)
25+
data.colors = new Float32Array(gaussians.count * 3)
26+
27+
// data.positions = new Float32Array(config.sabPositions.buffer);
28+
// data.opacities = new Float32Array(config.sabOpacities.buffer);
29+
// data.cov3Da = new Float32Array(config.sabCov3Da.buffer);
30+
// data.cov3Db = new Float32Array(config.sabCov3Db.buffer);
31+
// data.colors = new Float32Array(config.sabcolors.buffer);
3232

3333
// console.log(`[Worker] init data positions`, data.positions)
3434
// console.log(`[Worker] init data opacities`, data.opacities)
@@ -92,11 +92,11 @@ function sort(params) {
9292

9393
return {
9494
data: {
95-
// colors: data.colors.buffer,
96-
// positions: data.positions.buffer,
97-
// opacities: data.opacities.buffer,
98-
// cov3Da: data.cov3Da.buffer,
99-
// cov3Db: data.cov3Db.buffer,
95+
colors: data.colors.buffer,
96+
positions: data.positions.buffer,
97+
opacities: data.opacities.buffer,
98+
cov3Da: data.cov3Da.buffer,
99+
cov3Db: data.cov3Db.buffer,
100100
gaussiansCount: gaussians.count,
101101
}
102102
};

0 commit comments

Comments
 (0)