public void Transform(ref VertexPositionColorTextureColor vertex) { float x = vertex.Position.X - worldX; float y = vertex.Position.Y - worldY; float dist = (float)Math.Sqrt(x * x + y * y); if (dist < Radius) { float theta = Interpolation.Apply(0, angle, (Radius - dist) / Radius); float cos = MathUtils.Cos(theta), sin = MathUtils.Sin(theta); vertex.Position.X = cos * x - sin * y + worldX; vertex.Position.Y = sin * x + cos * y + worldY; } }
public void Transform(ref VertexPositionColorTextureColor vertex) { vertex.Position.X += MathUtils.RandomTriangle(-JitterX, JitterY); vertex.Position.Y += MathUtils.RandomTriangle(-JitterX, JitterY); }