Now
we have laid out the basics for rendering. Let’s cover other topics that might
be useful to understand the whole game. One problem is event handling, when
user click on a particular cube face, how do I respond to that event? It turns
out to be rather simple, simply register a click event handler on the triangle,
and record the cube face with the triangle, and that’s it. A typical solution
might need to go back to the BSP tree to search from front to back.
How
about animation? In my game, animation is abstracted under the model. A model
is a collection of triangle, during rendering, if an animation is needed (e.g.
rotating a particular face), a different set of triangles is returned using a
composite pattern. A model is a transform model of the underlying model which
is a cube, which is then a composition of six triangles.
So
during each rendering, the whole screen is cleared, the set of triangles are
obtained from the composite model, a BSP tree is built, a back to end traversal
is used to determine rendering order, the projection is used to compute 2d
coordinates, and a triangle object is rendered to the screen.
This
conclude the design of the whole system!
No comments :
Post a Comment