Hi,
I try to get OgreOde a MFC/Ogre application, I tried to do this like I do it in standard "exampleapplication based" applications, but it does not work.
The OgreOde objects appear in my Ogre render window but it looks like there is no gravity or collision.
Err, you might have to do a bit more investigation yourself. Spread some breakpoints about the place.
Is the collisioin callback ever getting called?
Is the automatic stepper (frame listener) getting called?
What happens if you don't use an automatic stepper and step it manually yourself?
Must I use an Ogre FrameListener additional to the collisionlistener to get it to work?
I ask this because I'm doing the controls with MFC only, therefore I needed no FrameListener yet.
If you use the stepper in automatic mode, then that's a frame listener.
I imagine that that's not getting informed of frame events so the world's not getting stepped.
As I say, just create the stepper in non-automatic mode and update it manually whenever you render a new frame.
Yeah, it works now, like you said I use the "NotAutomatic" mode now and update the stepper manually.
There's only one further thing I want to know.
What's the difference between the "ExactVariableQuickStepper" and the "ForwardFixedQuickStepper"? (Only in order to know it in future )
ExactVariable makes sure that the physical world is always exactly in step with the real time by doing a number of fixed steps and a final micro cleanup step. Although this results in the smoothest display, it needs variable timesteps so ODE can be a bit less stable.
ForwardFixed just uses a completely fixed timestep so the simulation always runs at least up to, and sometimes a bit ahead of, real time. This means that it's more (physically) stable because it uses fixed time steps, but can be (visually) jittery with fast moving objects because the physical world is slightly out of sync with the real time. Which confuses your eyes.
Really these were only intended to be example steppers, you can always write your own, or just call the stepping functions of your world directly.