colorEffect(_:isEnabled:)
Returns a new view that applies shader to self as a filter effect on the color of each pixel.
Declaration
nonisolated func colorEffect(_ shader: Shader, isEnabled: Bool = true) -> some View
Parameters
- shader:
The shader to apply to
selfas a color filter. - isEnabled:
Whether the effect is enabled or not.
Return Value
A new view that renders self with the shader applied as a color filter.
Discussion
For a shader function to act as a color filter it must have a function signature matching:
[[ stitchable ]] half4 name(float2 position, half4 color, args...)where position is the user-space coordinates of the pixel applied to the shader and color its source color, as a pre-multiplied color in the destination color space. args... should be compatible with the uniform arguments bound to shader. The function should return the modified color value.