Esempio n. 1
0
 /// <summary>
 /// Sets a 2d vector.
 /// </summary>
 /// <param name="vec">Vector to set.</param>
 public void Set(Purple.Math.Vector2 vec)
 {
     lastUpdate++;
     Resize(4, ShaderConstantType.Float);
     values.SetValue(vec.X, 0);
     values.SetValue(vec.Y, 1);
     values.SetValue(0.0f, 2);
     values.SetValue(1.0f, 3);
 }
Esempio n. 2
0
 /// <summary>
 /// rotates a unit vector
 /// </summary>
 /// <param name="vec">vector to rotate</param>
 /// <param name="alpha">angle to use for rotation</param>
 /// <returns>rotates a certain unit vector</returns>
 public Purple.Math.Vector2 RotateUnit(Purple.Math.Vector2 vec, float alpha)
 {
     return(PixelToUnit(Purple.Math.Vector2.Rotate(UnitToPixel(vec), alpha)));
 }
Esempio n. 3
0
 /// <summary>
 /// converts pixel coordinates to unit coordinates
 /// </summary>
 /// <param name="pixel">pixel position</param>
 /// <returns>unit position</returns>
 public Purple.Math.Vector2 PixelToUnit(Purple.Math.Vector2 pixel)
 {
     return(new Purple.Math.Vector2((pixel.X - 0.5f) / targetSize.X, (pixel.Y - 0.5f) / targetSize.Y));
 }
Esempio n. 4
0
 /// <summary>
 /// converts unit coordinates to pixel coordinates
 /// </summary>
 /// <param name="unit">unit position</param>
 /// <returns>pixel position</returns>
 public Purple.Math.Vector2 UnitToPixel(Purple.Math.Vector2 unit)
 {
     return(new Purple.Math.Vector2(unit.X * targetSize.X + 0.5f, unit.Y * targetSize.Y + 0.5f));
 }
Esempio n. 5
0
 /// <summary>
 /// Sets a 2d vector.
 /// </summary>
 /// <param name="vec">Vector to set.</param>
 public void Set(Purple.Math.Vector2 vec)
 {
     internalConstant.Set(vec);
 }