Render() -- what goes inside?

I am trying to adapt Abstract Game in a manner similar to FixedLogicrateGame, and have trouble understanding the difference between update() and render().  What does one do inside render to accomplish this interpolation alluded to?

I plan to have physics code (my own) run at 40 hertz and would like to have the renders occur as often as they can.

My read is that in update() I will calculate forces on my objects, calculate accelerations and velocities, and store within each moving Spatial a Vector3f for its present velocity (in units per second).  Should my code within render be altering the transforms of those objects who have a non-zero velocity?  How do I do the same for rotation interpolation?

Thanks in advance for any help.


What you are describing seems the same as FixedLogicRate game, so why don't you extend FixedLogicRateGame rather than AbstractGame?

You can tell the FixedLogicRateGame to update 40 times per second rather than the default 60.  And you can add your own physics stuff to it. (it doesnt use any physics by default)

Update would be used to do any updating (ie moving, rotating, etc) of objects, cameras, etc.

Render should only used to draw things to the screen.

With a FixedLogicRateGame the update method is called 60 (or 40 or however many times you want) times per second, and the render method is called as fast as possible.  You wouldn't want to be updating say some movement at a fixed rate and other movement as fast as possible imo.

The floats (interpolation) that are passed to update and render are not used with every game type.

So with a FixedLogicRateGame the render and update method ignores the passed interpolation peramiter.