1181 {
1182 float num = quaternion.X * quaternion.X;
1183 float num2 = quaternion.Y * quaternion.Y;
1184 float num3 = quaternion.Z * quaternion.Z;
1185 float num4 = quaternion.X * quaternion.Y;
1186 float num5 = quaternion.Z * quaternion.W;
1187 float num6 = quaternion.Z * quaternion.X;
1188 float num7 = quaternion.Y * quaternion.W;
1189 float num8 = quaternion.Y * quaternion.Z;
1190 float num9 = quaternion.X * quaternion.W;
1192 result.M11 = 1f - 2f * (num2 + num3);
1193 result.M12 = 2f * (num4 + num5);
1194 result.M13 = 2f * (num6 - num7);
1195 result.M14 = 0f;
1196 result.M21 = 2f * (num4 - num5);
1197 result.M22 = 1f - 2f * (num3 + num);
1198 result.M23 = 2f * (num8 + num9);
1199 result.M24 = 0f;
1200 result.M31 = 2f * (num6 + num7);
1201 result.M32 = 2f * (num8 - num9);
1202 result.M33 = 1f - 2f * (num2 + num);
1203 result.M34 = 0f;
1204 result.M41 = 0f;
1205 result.M42 = 0f;
1206 result.M43 = 0f;
1207 result.M44 = 1f;
1208 return result;
1209 }
Matrix(float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34, float m41, float m42, float m43, float m44)