@d5techs/3dgs-lib 1.4.80 → 1.4.81
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/3dgs-lib.cjs +499 -253
- package/dist/3dgs-lib.cjs.map +1 -1
- package/dist/3dgs-lib.js +499 -253
- package/dist/3dgs-lib.js.map +1 -1
- package/dist/editor/SelectionVolumeRenderer.d.ts +10 -10
- package/package.json +1 -1
|
@@ -8,29 +8,29 @@ export interface VolumeState {
|
|
|
8
8
|
dimensions: [number, number, number];
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* 射线追踪体积选择渲染器 - 复刻 SuperSplat 的视觉效果
|
|
12
|
+
*
|
|
13
|
+
* 在一个 box mesh 上通过 fragment shader 做射线-盒/射线-球相交,
|
|
14
|
+
* 用条纹网格 (strips) 绘制半透明体积。
|
|
15
|
+
* 正面条纹为白色 (alpha 0.6),背面条纹为黑色 (alpha 0.6)。
|
|
16
|
+
* 使用 frag_depth + 噪声抖动实现随机透明度深度排序。
|
|
14
17
|
*/
|
|
15
18
|
export declare class SelectionVolumeRenderer {
|
|
16
19
|
private renderer;
|
|
17
20
|
private camera;
|
|
18
|
-
private
|
|
19
|
-
private
|
|
21
|
+
private boxPipeline;
|
|
22
|
+
private spherePipeline;
|
|
20
23
|
private uniformBuffer;
|
|
21
24
|
private bindGroup;
|
|
22
25
|
private vertexBuffer;
|
|
23
26
|
private _volume;
|
|
24
|
-
private vertexCount;
|
|
25
|
-
private frontColor;
|
|
26
27
|
constructor(renderer: Renderer, camera: Camera);
|
|
27
28
|
get volume(): VolumeState;
|
|
28
29
|
setVolume(type: VolumeType, center?: [number, number, number], dimensions?: [number, number, number]): void;
|
|
29
30
|
setCenter(x: number, y: number, z: number): void;
|
|
30
31
|
setDimensions(a: number, b: number, c: number): void;
|
|
31
|
-
private
|
|
32
|
-
private
|
|
33
|
-
private generateSphereVertices;
|
|
32
|
+
private createResources;
|
|
33
|
+
private computeFrustumUniforms;
|
|
34
34
|
render(pass: GPURenderPassEncoder): void;
|
|
35
35
|
destroy(): void;
|
|
36
36
|
}
|