Exemple #1
0
 ///<summary>
 /// Blend two settings generators using third one as weight
 ///</summary>
 ///<param name="source">Source settings</param>
 ///<param name="other">Noise to blend</param>
 ///<param name="weight">Blend weight</param>
 ///<returns></returns>
 public static Generator Blend(this Generator source, Generator other, Generator weight)
 {
     return(new Blend(source, other, weight));
 }
Exemple #2
0
 ///<summary>
 /// Apply a linear transform to settings. The same as <code>settings.Modify(f=>a*f+b)</code>
 ///</summary>
 ///<param name="source">Source settings</param>
 ///<param name="a">Scale value</param>
 ///<param name="b">Shift value</param>
 ///<returns></returns>
 public static Generator ScaleShift(this Generator source, float a, float b)
 {
     return(new Modify(source, f => a * f + b));
 }
Exemple #3
0
 ///<summary>
 /// Roate settings (<see cref="CoherentNoise.Generation.Displacement.Rotate"/>)
 ///</summary>
 ///<param name="source">Noise source</param>
 ///<param name="x">Angle around X axis</param>
 ///<param name="y">Angle around Y axis</param>
 ///<param name="z">Angle around Z axis</param>
 ///<returns></returns>
 public static Generator Rotate(this Generator source, float x, float y, float z)
 {
     return(new Rotate(source, x, y, z));
 }
Exemple #4
0
 /// <summary>
 /// Apply gain to settings
 /// </summary>
 /// <param name="source">Source settings</param>
 /// <param name="g">Gain value</param>
 /// <returns></returns>
 public static Generator Gain(this Generator source, float g)
 {
     return(new Gain(source, g));
 }
Exemple #5
0
 /// <summary>
 /// Apply bias to settings
 /// </summary>
 /// <param name="source">Source settings</param>
 /// <param name="b">Bias value</param>
 /// <returns></returns>
 public static Generator Bias(this Generator source, float b)
 {
     return(new Bias(source, b));
 }
Exemple #6
0
 ///<summary>
 /// Binarize settings
 ///</summary>
 ///<param name="source">Source settings</param>
 ///<param name="treshold">Treshold value</param>
 ///<returns></returns>
 public static Generator Binarize(this Generator source, float treshold)
 {
     return(new Binarize(source, treshold));
 }
Exemple #7
0
 ///<summary>
 /// Multiply settings by AnimationCurve value
 ///</summary>
 ///<param name="source">Source settings</param>
 ///<param name="curve">Curve</param>
 ///<returns></returns>
 public static Generator Curve(this Generator source, AnimationCurve curve)
 {
     return(new Curve(source, curve));
 }
Exemple #8
0
 ///<summary>
 /// Apply modification function to settings
 ///</summary>
 ///<param name="source">Source settings</param>
 ///<param name="modifier">Function to apply</param>
 ///<returns></returns>
 public static Generator Modify(this Generator source, Func <float, float> modifier)
 {
     return(new Modify(source, modifier));
 }