ValueShaderTransform

ValueShaderModifierValueShader
Represents a shader with a build-in transformation.

Constructors

ValueShaderTransform

#
public ValueShaderTransform(ValueShader basisShader, Transform2D transform)
Set up a new transformed shader.
basisShader (ValueShader)Basis shader to transform.
transform (Transform2D)Transformation.

Fields

_basis

protected readonly ValueShader _basis
Shader to operate on.
inherited fromValueShaderModifier

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 override float ValueAt(Ray ray, IObjectStack stack)
Evaluate this shader at a specific ray location.
ray (Ray)Coincident ray.
stack (IObjectStack)Object stack context.