This assignment asks us to create our own representation of render object and moveable object. And pass the data properly to graphic.
Object is describing object that can move. So, it contains movement information(sRigidBodyState) and the matrix from local to world.
Actor is describing object that has movement and can be drawn in scene. That’s why actor is inherited from Object class. This class has geometry and effect.
Camera is a camera which has camera properties. It is inherited from Object so it has movement components.
My interface to submit data
User can modify the data in list of m_actorList before submit data, like changing geometry or effect for different actors.
Size of a draw call
|Size of sDrawCall||64||64|
Since we have two objects, the actual size of each draw call is 64*2 = 128 bytes.
Why prediction is necessary when rendering?
To prevent lagging movement. The update frequency is different from two threads (Input and Rendering). The inconsistency may cause the lag. If the movement calculation from input thread hasn’t finished and the next render request has come, the render can only render according to the previous transformation information, which is the internal behavior of lagging. The prediction may help reduce the lagging problem.