@types/three
Version:
TypeScript definitions for three
54 lines (43 loc) • 1.29 kB
TypeScript
import {
BufferGeometry,
Color,
ColorRepresentation,
Mesh,
NodeMaterial,
TempNode,
Texture,
TextureNode,
UniformNode,
Vector2,
Vector3,
} from "three/webgpu";
export interface WaterMeshOptions {
normalMap0: Texture;
normalMap1: Texture;
flowMap?: Texture | null | undefined;
color?: ColorRepresentation | undefined;
flowDirection?: Vector2 | undefined;
flowSpeed?: number | undefined;
reflectivity?: number | undefined;
scale?: number | undefined;
}
declare class WaterMesh extends Mesh<BufferGeometry, NodeMaterial> {
readonly isWater: true;
constructor(geometry: BufferGeometry, options: WaterMeshOptions);
}
declare class WaterNode extends TempNode<"vec4"> {
waterBody: WaterMesh;
normalMap0: TextureNode;
normalMap1: TextureNode;
flowMap: TextureNode;
color: UniformNode<"color", Color>;
flowDirection: UniformNode<"vec2", Vector2>;
flowSpeed: UniformNode<"float", number>;
reflectivity: UniformNode<"float", number>;
scale: UniformNode<"float", number>;
flowConfig: UniformNode<"vec3", Vector3>;
constructor(options: WaterMeshOptions, waterBody: WaterMesh);
updateFlow(delta: number): void;
}
export { WaterMesh };
export type { WaterNode };