As part of my assignment, I've been building a scene graph framework in C++/OpenGL.

My camera works absolutely fine going backwards and forwards, but when I strafe / move on the X axis, the camera just starts stuttering. It doesn't make much sense to me, because it's the same principle to move back/forward as it is to move right/left.

Everything is also normalised and being applied by deltaTime, so that's not an issue. Interestingly, this didn't happen when I was using my intel built in gpu, but only started occurring when I forced my nvidia card to handle the program.

Here is a video of the aforementioned stutter: https://www.youtube.com/watch?v=DyTIv0yiaP0&feature=youtu.be

My scene graph is available for viewing on my GitHub:

  1. The repo: https://github.com/charliegillies/fullmetal.
  2. The camera https://github.com/charliegillies/fullmetal/blob/master/fullmetal.cpp (line 503-730, mostly get/set methods.)
  3. The camera controller https://github.com/charliegillies/fullmetal/blob/master/fullmetal-helpers.cpp (line 14-204)

Please note that this framework is still in its early days.

Let me know what you think, and I'll be sure to post a fix if I find it.

  • 1
    \$\begingroup\$ It looks like your sky-box is also stuttering, where it shouldn't ever move. That's probably a clue. Also what does "I forced my nvidia card to handle the program"? For something this simple I wouldn't expect you to need to do much to make it work on any video card. \$\endgroup\$ Nov 20, 2017 at 3:03
  • \$\begingroup\$ @user1118321 By "I forced my nvidia card to handle the program", I meant that I turned the option on in the nvidia control panel that ensures that nvidia handles the graphics application. This one: 2.bp.blogspot.com/-WosBIX8W7vQ/UZVm1nOghwI/AAAAAAAABbM/… \$\endgroup\$ Nov 20, 2017 at 3:46
  • \$\begingroup\$ OK. I'm not a Windows dev, so I don't know what those options do. But that may also be a clue. \$\endgroup\$ Nov 20, 2017 at 4:34

1 Answer 1



Turns out I the look at was being simply calculated in the wrong order, the eye variable and position variable were out of sync, which was causing the stutter.

  • \$\begingroup\$ Remember to mark the question as answered if you solved your problem \$\endgroup\$
    – user100681
    Nov 20, 2017 at 6:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .