@glowjs/core
Version:
GlowJS数字孪生引擎核心库。
198 lines (197 loc) • 4.15 kB
TypeScript
import { Point3D } from "../misc";
import { ParticleData } from "./ParticleData";
/**
* 特效数据
*/
export type EffectData = {
/**
* 灯光
*/
light?: {
/**
* 环境光1
*/
ambientLight1?: {
/**
* 是否启用
*/
enabled: boolean;
/**
* 强度
*/
intensity: number;
/**
* 颜色
*/
diffuse: string;
/**
* 方向
*/
direction: Point3D;
};
/**
* 环境光2
*/
ambientLight2?: {
/**
* 是否启用
*/
enabled: boolean;
/**
* 强度
*/
intensity: number;
/**
* 颜色
*/
diffuse: string;
/**
* 方向
*/
direction: Point3D;
};
/**
* 太阳光
*/
sunLight?: {
/**
* 是否启用
*/
enabled: boolean;
/**
* 强度
*/
intensity: number;
/**
* 颜色
*/
diffuse: string;
/**
* 方向
*/
direction: Point3D;
/**
* 阴影
*/
shadow: {
/**
* 是否启用
*/
enabled: boolean;
/**
* 刷新率
*/
refreshRate: number;
/**
* 强度
*/
intensity: number;
};
};
};
/**
* 环境
*/
environment?: {
/**
* 贴图
*/
textureId: string;
/**
* 强度
*/
intensity: number;
/**
* 旋转
*/
rotationY: number;
};
/**
* 背景
*/
background?: {
/**
* 模式
*/
mode: 'color' | 'image' | 'skybox';
/**
* 颜色
*/
color?: string;
/**
* 图片(image 模式)
*/
imageId?: string;
/**
* 天空盒
*/
skybox?: {
/**
* 贴图
*/
textureId: string;
/**
* 位置
*/
position: Point3D;
/**
* 大小
*/
size: number;
};
};
/**
* 雾
*/
fog?: {
/**
* 模式(0=禁用,1=指数,2=指数2,3=线性)
*/
mode: 0 | 1 | 2 | 3;
/**
* 颜色
*/
color: string;
/**
* 密度(指数模式)
*/
density: number;
/**
* 雾效开始距离(线性模式)
*/
start: number;
/**
* 雾效结束距离(线性模式)
*/
end: number;
};
/**
* 装饰
*/
decoration?: {
mode: 'none' | 'grid';
grid?: {
size: number;
blockWidth: number;
blockHeight: number;
offsetY: number;
textureId?: string;
/**
* 渲染模式模式:0=OPAQUE 1=ALPHATEST 2=ALPHABLEND 3=ALPHATESTANDBLEND
*/
transparencyMode?: number;
alpha?: number;
color?: string;
mirror?: boolean;
level?: number;
/**
* 模糊系数
*/
adaptiveBlurKernel?: number;
};
};
/**
* 粒子
*/
particles?: ParticleData[];
};