Man, you make me feel like a such a noob. I understand what you're talking about because before Farseer we coded our own physics engine. But we didn't use anything like Euler's equations. We just had different speeds that things moved at, no applying forces
like in Farseer. That was one of the biggest, "WTF are we doing" when we switched to Farseer, because we were trying to directly set Linear Velocity.
Anyway, how do you cast a ray in Farseer? A ray being a line between two points that checks for collisions, right? Also, what exactly is a point mass? All I think of is an infinitely small point in space. How do you represent a circle or a body in your own
It'd be interesting if you could elaborate a bit on bitmasks. I have no idea what you mean by that. Assuming it's some sort of special data value? How do you use userdata if you want to find a specific object? If I say, "If I collide with a star, bounce,
if I collide with a ship, set life to 0" how would I find the object that holds the bullet.body?
Crikey, one more thing. How do you apply a force to an object that's bouncing off something to behave realistically? This is why we gave up on our physics engine. We couldn't figure out a way to do this. And one of our programmers is a physics major, lol.
We figured out gravity easily enough, but not bouncing. >.<
With our old simple physics engine I could get about 120k bullets before I started lagging. :D But the amount of bugs was silly, so we dropped it.
If we did write a basic engine, we could make use of OpenCL for some of the calculations. We've been talking about using OpenCL for when we implement authoritative physics. Look at Bullet, it's amazing. I'd hope to be able to do something like
that to lower CPU load. Because 60k cubes at 30 fps is ridiculous.