ColourShaderModifier

ColourShaderReferences
public abstract class ColourShaderModifier : ColourShader
Abstract class for colour shaders that modify other colour shaders.

Constructors

ColourShaderModifier

#
protected ColourShaderModifier(ColourShader basisShader)
Construct this modifier shader.
basisShader (ColourShader)Colour shader to modify.

Fields

_basis

#
protected readonly ColourShader _basis
Shader to operate on.

Methods

ColourAt

public abstract Color ColourAt(Ray ray, IObjectStack stack)
Evaluate this shader at a specific ray location.
inherited fromColourShader
ray (Ray)Coincident ray.
stack (IObjectStack)Object stack context.

Dilate

public ColourShader Dilate(double sx, double sy)
Apply a dilation (or scaling) transformation to this shader.
inherited fromColourShader
sx (double)Horizontal dilation.
sy (double)Vertical dilation.
Dilated shader.

Fade

public ColourShader Fade(ValueShader transparency, bool combine)
Add a transparency layer to this shader.
inherited fromColourShader
transparency (ValueShader)Transparency layer.
combine (bool)If true, overlay transparency is combined with existing transparency. If false, overlay transparency overrules the existing transparency.
Modified shader.

Fade

public ColourShader Fade(ValueShader transparency)
Add a transparency layer to this shader.
inherited fromColourShader
transparency (ValueShader)Transparency layer.
Modified shader.

ResolveColour

protected Color ResolveColour(Color colour, Ray ray, IObjectStack stack)
Utility function for resolving a colour with the background.
inherited fromColourShader
colour (Color)Colour to resolve.
ray (Ray)Ray associated with colour location.
stack (IObjectStack)Object stack context.
Resolved colour.

Rotate

public ColourShader Rotate(Angle angle)
Apply a rotation transformation to this shader.
inherited fromColourShader
angle (Angle)Rotation angle (counter-clockwise).
Rotated shader.

Transform

public ColourShader Transform(Transform2D transform)
Apply a custom transformation to this shader.
inherited fromColourShader
transform (Transform2D)Transformation.
Transformed shader.

Translate

public ColourShader Translate(double dx, double dy)
Apply a translation transformation to this shader.
inherited fromColourShader
dx (double)Horizontal translation.
dy (double)Vertical translation.
Translated shader.