import Renderable, { RenderableOpts } from './Renderable'; import type Skeleton from './Skeleton'; import type Matrix4 from './math/Matrix4'; import Material from './Material'; import Geometry from './Geometry'; export interface MeshOpts extends RenderableOpts { /** * Used when it is a skinned mesh */ skeleton: Skeleton; /** * Joints indices Meshes can share the one skeleton instance and each mesh can use one part of joints. Joints indices indicate the index of joint in the skeleton instance */ joints: number[]; } interface Mesh extends MeshOpts { } declare class Mesh extends Renderable { /** * Offset matrix used for multiple skinned mesh clone sharing one skeleton */ offsetMatrix?: Matrix4; constructor(geometry: Geometry, material: T, opts?: Partial); isInstancedMesh(): boolean; isSkinnedMesh(): boolean; clone(): Mesh, import("./Shader").FragmentShader>>>; } export default Mesh;