Files
orx/orx-fx/README.md
2020-02-10 12:38:43 +01:00

91 lines
3.5 KiB
Markdown

# orx-fx
orx-fx contains ready-to-use effects, or filters, for OPENRNDR. The provided filters are based on OPENRNDR's [`Filter` class](https://api.openrndr.org/org.openrndr.draw/-filter/index.html) and most will have [orx-parameters](https://github.com/openrndr/orx/tree/master/orx-parameters) annotations such that they can easily be used in combination with tools such as [orx-gui](https://github.com/openrndr/orx/tree/master/orx-gui).
All filters provided by orx-fx assume pre-multiplied alpha inputs, which is OPENRNDR's default.
## Effects index
Here's a (potentially incomplete) list of the effects provded by orx-fx.
### Anti-alias
* `FXAA`, fast approximate anti-aliasing.
### Blends
Blend filters take two inputs ("source" and "destination"), they are intended to be used in `orx-compositor`'s layer blend. All blend filters are opacity preserving.
#### Photoshop-style blends
- `ColorBurn`
- `ColorDodge`
- `Darken`
- `HardLight`
- `Lighten`
- `Multiply`
- `Normal`
- `Overlay`
- `Screen`
- `Add`, add source and destination inputs
- `Subtract`, substract destination color from source color
#### Porter-Duff blends
- `SourceIn`, Porter-Duff source-in blend, intersect source and destination opacity and keep source colors
- `SourceOut`, Porter-Duff source-out blend, subtract destination from source opacity and keep source colors
- `DestinationIn`, Porter-Duff destination-in blend, intersect source and destination opacity and keep source colors
- `DestinationOut`, Porter-Duff destination-out blend, subtract destination from source opacity and keep destination colors
- `Xor`, Porter-Duff xor blend, picks colors from input with highest opacity or none with opacities are equal
#### Various blends
- `Passthrough`, pass source color and opacity.
### Blurs
Most blur effects are opacity preserving
- `ApproximateGaussianBlur`, a somewhat faster but less precise implementation of `GaussianBlur`
- `Bloom`, a multi-pass bloom/glow effect
- `BoxBlur`, a simple but fast box blur
- `GaussianBlur`, a slow but precise Gaussian blur
- `HashBlur`, a noisy blur effect
### Color
- `ChromaticAberration`, a chromatic aberration effect based on RGB color separation
- `ColorCorrection`, corrections for brightness, contrast, saturation and hue
- `ColorLookup`, Color LUT filter
- `ColorMix`, filter implementation of OPENRNDR's color matrix mixing
- `LumaMap`, maps luminosity to two colors
- `LumaOpacity`, maps luminosity to opacity but retains source color
- `LumaThreshold`, applies a treshold on the input luminosity and maps to two colors
- `SubtractConstant`, subtract a constant color from the source color
### Distortion
All distortion effects are opacity preserving
- `BlockRepeat` - repeats a single configurable block of the source input
- `StackRepeat` - repeats the source input in a stack fashion
- `HorizontalWave` - applies a horizontal wave effect on the source input
- `VerticalWave` - applies a vertical wave effect on the source input
### Dither
- `ADither` - a selection of dithering effects
- `CMYKHalftone - a configurable CMYK halftoning effect
### Edges
- `LumaSobel` - A Sobel-kernel based luminosity edge detector
### Grain
- `FilmGrain` - adds film-like grain to the source input
### Shadow
- `DropShadow` - adds a drop shadow based on the opacity in the input image
### Tonemap
- `Uncharted2Tonemap` - implements the Uncharted2 tonemapper
### Transform
- `FlipVertically` - flips the source input vertically.