import type { GeometryProps, Engine } from '@galacean/effects'; import { Mesh } from '@galacean/effects'; import type { Matrix4 } from '../runtime/math'; import { Vector2, Vector3 } from '../runtime/math'; /** * FBO 选项类,负责构造 FBO 创建时的选项信息 */ export declare class FBOOptions { /** * 分辨率 */ resolution: Vector2; /** * 颜色附件列表 */ colorAttachments: object[]; /** * 深度附件 */ depthAttachment?: any; /** * 构造函数 * @param options - FBO 参数 */ constructor(options: Record); /** * 添加深度附件 * @param options - 深度附件参数 */ addDepthAttachment(options: Record): void; /** * 添加默认深度附件,数据格式是 depth_16_texture */ addDefaultDepthAttachment(): void; /** * 删除深度附件 */ deleteDepthAttachment(): void; /** * 添加颜色附件 * @param options - 颜色附件参数 */ addColorAttachment(options: Record): void; /** * 删除颜色附件,按照索引值 * @param target - 颜色附件索引值 */ deleteColorAttachment(target: number): void; /** * 获取视口大小 */ get viewport(): [number, number, number, number]; } /** * 包围盒 Mesh 类,负责 3D Mesh 测试包围盒的显示 */ export declare class BoxMesh { /** * core 层 Mesh 对象 */ mesh: Mesh; /** * 构造函数,创建基础 Mesh 对象 * @param engine - 引擎 * @param priority - 优先级 */ constructor(engine: Engine, priority: number); /** * 更新包围盒着色器 Uniform 数据 * @param modelMatrix - 模型矩阵 * @param viewProjMatrix - 相机投影矩阵 * @param positions - 位置数组 * @param lineColor - 线颜色 */ update(modelMatrix: Matrix4, viewProjMatrix: Matrix4, positions: Float32Array, lineColor: Vector3): void; /** * 销毁,需要销毁 Mesh 对象 */ dispose(): void; /** * 获取顶点着色器代码 */ get vertexShader(): string; /** * 获取片段着色器代码 */ get fragmentShader(): string; /** * 获取基础几何体 */ get geometry(): GeometryProps; }