ValueShaderModifier

ValueShaderReferences
public abstract class ValueShaderModifier : ValueShader
Abstract class for value shaders that modify other value shaders.

Constructors

ValueShaderModifier

#
protected ValueShaderModifier(ValueShader basisShader)
Construct this modifier shader.
basisShader (ValueShader)Value shader to modify.

Fields

_basis

#
protected readonly ValueShader _basis
Shader to operate on.

Methods

Dilate

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

Flip

protected double Flip(double value, double limit)
Repeat and flip a value within a [0, limit] domain.
inherited fromValueShader
value (double)
limit (double)

Flip

protected float Flip(float value, float limit)
Repeat and flip a value within a [0, limit] domain.
inherited fromValueShader
value (float)
limit (float)

Rotate

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

Transform

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

Translate

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

ValueAt

public abstract float ValueAt(Ray ray, IObjectStack stack)
Evaluate this shader at a specific ray location.
inherited fromValueShader
ray (Ray)Coincident ray.
stack (IObjectStack)Object stack context.