import { Shader, State, Geometry, Renderer } from "@pixi/core"; import { DRAW_MODES } from "@pixi/constants"; import { Mesh3D } from "./mesh"; import { MeshGeometry3D } from "./geometry/mesh-geometry"; /** * Shader used specifically to render a mesh. */ export declare class MeshShader extends Shader { private _state; /** The name of the mesh shader. Used for figuring out if geometry attributes is compatible with the shader. This needs to be set to something different than default value when custom attributes is used. */ get name(): string; /** * Creates geometry with required attributes used by this shader. Override when using custom attributes. * @param geometry The geometry with mesh data. * @param instanced Value indicating if the geometry will be instanced. */ createShaderGeometry(geometry: MeshGeometry3D, instanced: boolean): Geometry; /** * Renders the geometry of the specified mesh. * @param mesh Mesh to render. * @param renderer Renderer to use. * @param state Rendering state to use. * @param drawMode Draw mode to use. */ render(mesh: Mesh3D, renderer: Renderer, state?: State, drawMode?: DRAW_MODES): void; }