Hi @LLLuKa and @arturo ,
this is not a bug but a feature.
in short, in setup call camera.setAutoDistance(false);
This feature allows the easy cam to actually be easy, thus neading no setup as it will automatically position itself at the needed distance so the viewport would be “placed” at z = 0.
The auto distance is setup only on the first update.
Also, the mouse does not update the parameters on every frame. It only updates when there is a mouse interaction.
Still it feels really non intuitive that calling setPosition doesn’t actually set the position and lots of people trip on that (i constantly have this problem and always call 2 or 3 things in different places until it works)
In my opinion setPosition should override anything when called since it’s the most logical method to call if you want to set the position of the camera. Mostly on the first frame but in my opinion it should just override any auto setting any time it’s called.
It’s also kind of violating some rules of polymorphism, every object that overrides a method should have the same apparent behaviour, in this case that method does nothing which is weird.
This is really a problem of using inheritance and we should just use composition instead and only publish those methods that make sense for the ofEasyCam but as long as that method is there, when called it should set the position, non doing so looks like the class is broken to anyone who doesn’t know anything about the inner workings of ofEasyCam
using set distances works too because as a side effect it disables autoDistance. I made the fixes and made a PR for it, so it should be shortly available.
cheers