I have that problem when I’m changing a computer my program doesn’t rotating the items in the same speed as mine pc… and in worst case doesn’t rotate almost nothing or very very slow.
How can I see the Rotation Speed it’s computer can support (nin-max values - usign GLinfo can I see such thing?)?
The reason why your rotations look different is because your program is being run at different speeds. The faster the computer, the faster the rotation, am I right?
The way to fix this is to let the frames per second (FPS) influence the time-step when you integrate your angular velocity. Or in English:
I guess you have the variables rotationSpeed, currentRotation. Each frame you then compute (this is the integration part):
currentRotation += rotationSpeed*dt
where dt is the time-step that I was talking about earlier. The trick here is to set:
Basically, you have to make the rotation a function of (real) time. So, you run a timer in your program, and update the position of the object based on the timer value. This way, positione becomes independent of the fps.
Example: let us say, you want an obecjt to perform a full rotation in 30 seconds. In pseudocode:
rotation =+ (timer.timeElapsed()/30)*360;
For you problem with another PC… It may be that the other card is so fast, that you don’t actually see any rotation. Say, if you are rotationg 5 degrees per frame, and it renders with 1000 fps, your eye (which has a resolution of about 30-50 fps) won’t see a smooth rotation. Add the possibility of disabled Vsync and tearing… and you have the “spasms” you describe