cmykPress
A four-color print filter: the layer inside it separated into ink plates, each screened into dots at its own angle and laid down on paper in order.
cmykPress(slots: {
paper: PropRef
frequency: PropRef
misprint: PropRef
misprintAngle: PropRef
plates: InkPlateSpec[]
}): GatherEffect
Import patterns from shaders/std and use patterns.cmykPress.
Goes in effect:. paper is the color shown where no ink lands. frequency is the number of dots down the canvas height. misprint offsets each plate in uv (0 is perfect registration, 0.005 is visible fringing), in a direction that turns a quarter turn per plate starting from misprintAngle (degrees). plates is a list from inkPlate; the standard screen angles are cyan 15, magenta 75, yellow 0, black 45. The result keeps the child's alpha.
Parameters
| Name | Type | Notes |
|---|---|---|
slots | `{ |
paper: PropRef
frequency: PropRef
misprint: PropRef
misprintAngle: PropRef
plates: InkPlateSpec[]
}` | |
Example
effect: cmykPress({paper: p('paperColor'), frequency: p('frequency'), misprint: p('misprint'), misprintAngle: p('misprintAngle'), plates: [inkPlate({channel: 'cyan', screenAngle: p('cyanAngle'), ink: p('cyanColor')}), inkPlate({channel: 'black', screenAngle: p('blackAngle'), ink: p('blackColor')})]})
Tip. Any subset of the four plates works. Two plates give a duotone or risograph look.
See also
inkPlate— Declares one ink plate forcmykPress.dotScreen— A classic halftone filter: the layer inside it redrawn as a grid of dots that grow where it is bright.dotScreenMask— The dot coverage of one halftone screen: 1 inside a dot, 0 between, with the dot size set by an ink amount.inkTransmission— How much light passes one ink plate: white where the dot mask is 0, the ink color where it is 1.