| 662 | |
| 663 | m.SetDirectionAndUp(dir, up); |
| 664 | } |
| 665 | |
| 666 | Vector3 EncodedMatrix3::DirectionUp() const |
| 667 | { |
| 668 | float m01 = DecodeFloat16(_01c); |
| 669 | float m11 = DecodeFloat16(_11c); |
| 670 | |
| 671 | float m21_sq = 1 - m01 * m01 - m11 * m11; |
| 672 | float m21 = (m21_sq >= 0 ? sqrt(m21_sq) : 0) * _21sign; |
| 673 | return Vector3(m01, m11, m21); |
| 674 | } |
| 675 |
no test coverage detected