import { ShaderMaterial, Color } from "three"; import type { IUniform, Side } from "three"; /** * 球形雾的 uniforms */ export interface SphereFogMaterialUniforms { color: IUniform; solid: IUniform; exp: IUniform; opacity: IUniform; isDoubleSide: IUniform; } /** * 球形雾材质选项 */ export interface SphereFogMaterialOptions { /** * 球形雾的颜色 * @remarks * 当开启顶点颜色 {@link SphereFogMaterial.vertexColors} 时,此设置将无论; */ color?: Color | null; /** * 实心因子 * @remarks * 在实心范围内,球形雾不会衰减 * @defaultValue 0 */ solid?: number | null; /** * 雾的衰减指数 * @defaultValue 1 */ exp?: number | null; /** * 透明度 * @remarks * 决定整体的透明度 * @defaultValue 1 */ opacity?: number | null; /** * Mesh三角形的渲染面 * @remarks * 可设置为前面、后面、或者两面都渲染 * 如果只渲染前面,进入体积材质内部,体积材质就会消失 * 如果只渲染后面,体积初遮挡,就会消失 * 如果两面都渲染,则会隐藏看到容器的面 */ side?: Side | undefined; } /** * 体积雾材质 */ export declare class SphereFogMaterial extends ShaderMaterial { readonly isSphereFogMaterial = true; constructor(options?: SphereFogMaterialOptions); uniforms: SphereFogMaterialUniforms; /** * Mesh三角形的渲染面 * @remarks * 可设置为前面、后面、或者两面都渲染 * 如果只渲染前面,进入体积材质内部,体积材质就会消失 * 如果只渲染后面,体积初遮挡,就会消失 * 如果两面都渲染,则会隐藏看到容器的面 */ get side(): Side; set side(value: Side); protected _side: Side; /** * 球形雾的颜色 * @remarks * 当开启顶点颜色 {@link SphereFogMaterial.vertexColors} 时,此设置将无论; */ get color(): Color; set color(value: Color); /** * 透明度 * @remarks * 决定整体的透明度 * @defaultValue 1 */ get opacity(): number; set opacity(value: number); /** * 实心因子 * @remarks * 在实心范围内,球形雾不会衰减 * @defaultValue 0 */ get solid(): number; set solid(value: number); /** * 雾的衰减指数 * @defaultValue 1 */ get exp(): number; set exp(value: number); } //# sourceMappingURL=SphereFogMaterial.d.ts.map