UNPKG

@glowjs/core

Version:

GlowJS数字孪生引擎核心库。

198 lines (197 loc) 4.15 kB
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[]; };