Basically I have checked out xna and some of slimdx (Promit :)), which has lots of structs. Pretty much all methods that looked like this:
public static Vector3 operator + ( Vector3 a, Vector3 b )
where doing stuff like:
Vector3 c = new Vector3 ( ... )
I am wondering if it makes sense to just do:
a.X += b.X
...
return a
Obviously #1 looks more sensible/reasonable, but #2 doesn't create a new Vector3 which is faster.
I think it's fast and as clear, if not more clear as #1.
Which one is better? Is there any problems with #2?