API reference
Every public class, method, and event in @codexo/exojs. Generated from source.
classFilterPass
Runs a Filter or a chain of them from a source texture into a destination, as one pass inside a RenderPipeline. ```ts pipeline .addPass(new RenderNodePass(world, { target: sceneRt, clear: Color.black })) .addPass(new FilterPass(sceneRt, [bloom, grade])); ``` Intermediates between chain stages are borrowed from the backend's render-texture pool for the length of one execute and returned on every path, including when a filter throws. They are sized to the DESTINATION, so a chain neither grows nor shrinks the image: an effect that reaches outside its input (a blur, a glow) is clipped at the destination's edge, which is what a full-frame post-process wants and the one thing a filter at a node does differently - there the capture domain grows to the effect's declared reach, because a node has room around it and a frame does not. An empty chain is a blit, which is the useful degenerate case: it is how a pipeline shows an off-screen target on the canvas. The filters are caller-owned - a filter may be shared with a node or another pass - so destroy releases only what this pass allocated.
import { FilterPass } from '@codexo/exojs'Runs a Filter or a chain of them from a source texture into a destination, as one pass inside a RenderPipeline.
```ts pipeline .addPass(new RenderNodePass(world, { target: sceneRt, clear: Color.black })) .addPass(new FilterPass(sceneRt, [bloom, grade])); ```
Intermediates between chain stages are borrowed from the backend's render-texture pool for the length of one execute and returned on every path, including when a filter throws. They are sized to the DESTINATION, so a chain neither grows nor shrinks the image: an effect that reaches outside its input (a blur, a glow) is clipped at the destination's edge, which is what a full-frame post-process wants and the one thing a filter at a node does differently - there the capture domain grows to the effect's declared reach, because a node has room around it and a frame does not.
An empty chain is a blit, which is the useful degenerate case: it is how a pipeline shows an off-screen target on the canvas.
The filters are caller-owned - a filter may be shared with a node or another pass - so destroy releases only what this pass allocated.
new(source: RenderTextureAn off-screen render target that can also be sampled as a texture. Combines RenderTarget (framebuffer attachment) with the sampler parameters of a Texture (sca…, filters: FilterAbstract base class for post-process filters applied to a drawable's render output. Filters are rendered into a temporary RenderTexture (the `output`) that is… | readonly FilterAbstract base class for post-process filters applied to a drawable's render output. Filters are rendered into a temporary RenderTexture (the `output`) that is…[], options?: FilterPassOptionsOptions for FilterPass.): FilterPassdestroy(): voidresize(_width: number, _height: number): voidenabled: booleanlabel: string