Graphics Reference
In-Depth Information
q 1
q 4 = 0.5q 1 + 0.5q 2
q 5 = 0.5q 1 + 0.5q 3
εε
q 2
q 3
Figure 1.8. Discontinuity of blending two quaternions.
.Let
us consider Figure 1.9. Quaternions q 1 , q 2 ,and q 3 specify 0 , 140 , and 220
rotations in the xy -plane, respectively. Let us set quaternion weights to λ 1 = λ 2 =
λ 3 = 3 . The case where we blend quaternions in order q 4 =( λ 1 q 1 + λ 2 q 2 )+ λ 3 q 3
will differ from the result when we blend them in order q 5 =( λ 1 q 1 + λ 3 q 3 )+ λ 2 q 2 .
Having said that, we do not blend quaternions directly. Instead, we blend
final transformed vertex positions. This, obviously, slightly increases ALU count
in the shader code, but we benefit from a reduced skinning texture size and fewer
vertex texture fetches, as shown in Section 1.8.
Furthermore, blending three or more quaternions is not
commutative
q 1
q 4 = (0.33q 1 + 0.33q 2 ) + 0.33q 3
q 5 = (0.33q 1 + 0.33q 3 ) + 0.33q 2
q 2
q 3
Figure 1.9. Ambiguity of blending three quaternions.
Search WWH ::




Custom Search