Graphics Reference
In-Depth Information
represented by a static mesh that only moves within the scene. However, many other types
of objects would require a different type of animation to appear correct. For example, an
object composed of multiple pieces that move with respect to one another (like a robotic
arm) can't be accurately portrayed with a static mesh. We could use multiple individual
meshes and manipulate their transform properties to provide a more convincing result, but
this would not be applicable to any type of organic mesh, such as an animal or a humanoid
figure. Static meshes with transformations are simply not capable of properly rendering
this class of objects.
Instead, another technique must be used: vertex skinning. This algorithm lets indi-
vidual portions of a triangle mesh be animated with their own object space, prior to the
transformation matrix being applied. This allows each of the scenarios described above to
be more convincingly rendered, and provides a flexible method for incorporating anima-
tion data directly into the model, instead of having to manually control every movement of
the object at a higher level. In this section, we will introduce the concept of vertex skinning,
and the theory behind its operation. We will develop an implementation of this algorithm
for Direct3D 11, and will finally consider the performance implications of such an approach.
8.2.1 Theory
The key concept behind vertex skinning is the ability to use transformation hierarchies. In
the previous section, we learned how an object can be placed throughout a scene in various
orientations or scales. This rendering technique allows each object to be positioned with
respect to the world space origin. However, if we consider the robotic arm example from
above, if there are multiple meshes that need to be positioned relative to another object
in the scene instead of the origin, it can quickly become difficult to manage two different
world-space transforms that depend on one another. This would be even more difficult if
there are more than two joints in the arm. Figure 8.9 shows such an arm, where the com-
ponents of the arm that are connected together can only move with respect to the joint that
they are attached to.
Figure 8.9. An arm that demonstrates the concept of multiple mesh sections constrained to one another.
Search WWH ::




Custom Search