@realsee/five
Version:
Realsee Renderer SDK
152 lines (151 loc) • 5.82 kB
TypeScript
import * as THREE from 'three';
import { type PBMCustomShader, type PBMPanoPicture, type PBMPanoDepth, type PBMRefinedScreen, type PBMTransition, type PBMRoofStyle, type PBMFloorStyle, type PBMColorStyle, type PBMClipperParameter, type PBMPanoFilter, type PBMPointShape, type PBMPointSize, type PBMPointBack } from './materials/pbmMaterial';
import type { TileRequestOrder } from './tile3d/types';
import type { Camera } from '../core/camera';
export interface ParameterMaterialValue {
/** 自定义材质*/
customShaders: readonly PBMCustomShader[];
/**
* 是否生效标注
* 开启后,模型顶点上会预置 `_feature_id_rsmask` 标记。
* _feature_id_rsmask=1,在俯视等特定视角下,引擎会自动隐藏被标记的顶点对应的 Mesh,从而实现“开盖”效果,让室内布局观测更加清晰、观感更好。
*/
vertexMarks: boolean;
/** 起始点 */
pano0: PBMPanoPicture | null;
/** 结束点 */
pano1: PBMPanoPicture | null;
/** 起始点深度 */
pano0Depth: PBMPanoDepth | null;
/** 结束点深度 */
pano1Depth: PBMPanoDepth | null;
/** 全景图滤镜 */
panoFilter: PBMPanoFilter | null;
/** 细化瓦片的屏幕渲染 */
refinedScreen: PBMRefinedScreen | null;
/** 模型贴图和全景图的混合程度 [0-1] */
modelAlpha: number;
/** 全景图混合程度 [0-1] */
progress: number;
/** 全景图过度混合 */
transition: PBMTransition;
/** 模型透明度 */
opacity: number;
/** 屋顶样式 仅在 vertexMarks 为 true、即模型带屋顶标记时生效 */
roofStyle: PBMRoofStyle;
/** 楼层样式 */
floorStyle: PBMFloorStyle;
/** 颜色样式 */
colorStyle: PBMColorStyle;
/** 模型颜色*/
constantColor: THREE.Vector3;
/** 楼层参数*/
shownFloorIndex: number;
/** 模型裁切参数(工程侧调用)*/
clippers: readonly PBMClipperParameter[];
/** 亮度 */
brightness: number;
/** 是否使用HQ*/
useHQWeight: boolean;
/** 是否使用HQ_DEPTH_MASK*/
useHQDepth: boolean;
/** 点云形状*/
pointShape: PBMPointShape;
/** 点云大小绘制方式*/
pointSize: PBMPointSize;
/** 点云背面绘制方式*/
pointBack: PBMPointBack;
/** 点云基础大小*/
pointScale: number;
/** 点云最小尺寸*/
pointMinPixel: number;
/** 点云最大尺寸*/
pointMaxPixel: number;
/** 点云出现动画 */
pointAppearAnimation: boolean;
/** 饱和度调整值*/
colorSaturation: number;
/** 亮度调整值*/
colorBrightness: number;
/** outline增益*/
outlineGain: number;
/** distance增益*/
distanceGain: number;
/** 高程着色材质*/
gradientTexture: THREE.Texture | null;
/** 是否产生阴影 */
castShadow: boolean;
/** 是否接受阴影 */
receiveShadow: boolean;
/** 半透明叠加渲染*/
useAddBlend: boolean;
/** 只渲染深度 */
onlyDepth: boolean;
/** 定点位移 */
depthOffset: number;
/** 包围盒 */
boundingBox: THREE.Box3;
/** 3dgs球谐阶数*/
gaussianSplattingSHDegree: number;
/**
* 是否开启 3dgs 加载入场动画(点云扩散生长 + 运镜)
*/
enableGaussianSplattingInitAnimation: boolean;
}
export interface ParameterTilesetValue {
/** 模型显示最小细化层级 */
minLevelOfDetail: number;
/** 模型显示最大细化层级 */
maxLevelOfDetail: number;
/** 模型显示最小细化误差 */
minGeometricError: number;
/** 模型显示最大细化误差 */
maxGeometricError: number;
/** 全景态下模型显示最小细化误差 */
panoramaMinGeometricError: number;
/** 模型越层级加载 */
skipLevelOfDetail: boolean;
/** 模型是否最密 */
mostDetail: boolean;
/** 模型加载不在视野中的兄弟节点 */
loadSiblings: boolean;
/** 模型不加载在不在视野中的节点 */
cameraCulling: boolean;
/** 模型最大内存缓存 */
maxMemoryUsage: number;
/** 模型网络最大请求并发数 */
maxRequests: number;
/** 模型网络请求顺序 */
requestOrder: TileRequestOrder;
/** 模型屏幕空间误差计算最大值 */
maxScreenSpaceError: number;
memoryAdjustedScreenSpaceError: boolean;
/** 缓存相机 */
cacheCameras: readonly (Camera | THREE.PerspectiveCamera)[];
}
export interface ParameterValue extends ParameterMaterialValue, ParameterTilesetValue {
}
export interface ResolvedParameterValue extends ParameterValue {
versionNumber: number;
}
export interface Parameter extends Readonly<Partial<ParameterValue>> {
}
export declare class Parameter {
static createDefault(): Required<ParameterValue>;
static resolveValueTo(target: Partial<ResolvedParameterValue>, ...parameterValues: Partial<ParameterValue>[]): ResolvedParameterValue;
static resolveValue<T extends keyof ParameterValue>(name: T, ...parameterValues: Partial<ParameterValue>[]): ParameterValue[T];
static resolveValue(...parameterValues: Partial<ParameterValue>[]): ResolvedParameterValue;
id: string;
versionNumber: number;
private value;
private unbind;
constructor(initialValue?: Partial<ParameterValue>);
resolveValue<T extends keyof ParameterValue>(name: T, ...values: Partial<ParameterValue>[]): ParameterValue[T];
resolveValue(...baseValues: Partial<ParameterValue>[]): ResolvedParameterValue;
private assignValue;
set<T extends keyof ParameterValue>(name: T, value: ParameterValue[T]): this;
set(values: Partial<ParameterValue>): this;
reset(...names: (keyof ParameterValue)[]): this;
resetAll(): this;
copy(value: Partial<ParameterValue>): this;
}