import { ObjectRenderer, Renderer } from "@pixi/core"; import { MaterialRenderPass } from "./material-render-pass"; import { Mesh3D } from "../mesh/mesh"; import { ShadowRenderPass } from "../shadow/shadow-render-pass"; import { Model } from "../model"; import { ShadowCastingLight } from "../shadow/shadow-casting-light"; import { RenderPass } from "./render-pass"; import { SpriteBatchRenderer } from "../sprite/sprite-batch-renderer"; import { ProjectionSprite } from "../sprite/projection-sprite"; /** * The standard pipeline renders meshes using the set render passes. It's * created and used by default. */ export declare class StandardPipeline extends ObjectRenderer { renderer: Renderer; protected _spriteRenderer: SpriteBatchRenderer; protected _meshes: Mesh3D[]; protected _sprites: ProjectionSprite[]; /** The pass used for rendering materials. */ materialPass: MaterialRenderPass; /** The pass used for rendering shadows. */ shadowPass: ShadowRenderPass; /** The array of render passes. Each mesh will be rendered with these passes (if it has been enabled on that mesh). */ renderPasses: RenderPass[]; /** * Creates a new standard pipeline using the specified renderer. * @param renderer The renderer to use. */ constructor(renderer: Renderer); /** * Adds an object to be rendered. * @param object The object to render. */ render(object: Mesh3D | ProjectionSprite): void; /** * Renders the added meshes using the specified render passes. */ flush(): void; /** * Sorts the meshes by rendering order. */ sort(): void; /** * Enables shadows for the specified object. Adds the shadow render pass to * the specified object and enables the standard material to use the casting * light. * @param object The mesh or model to enable shadows for. * @param light The shadow casting light to associate with the * object when using the standard material. */ enableShadows(object: Mesh3D | Model, light?: ShadowCastingLight): void; /** * Disables shadows for the specified object. * @param object The mesh or model to disable shadows for. */ disableShadows(object: Mesh3D | Model): void; }