Beispiel #1
0
 public MovableQuat(Matrix transform)
 {
     Matrix3 rotation = new Matrix3 (transform);
     m_rotation = rotation.getQuaternion ();
     m_position = transform.Translation;
     m_scale = new Vector3 (1.0f);
 }
Beispiel #2
0
 public MovableQuat(Vector3 forward, Vector3 up, Vector3 position)
 {
     Matrix3 rotation = new Matrix3 (forward, up, true);
     m_rotation = rotation.getQuaternion ();
     m_position = position;
     m_scale = new Vector3 (1.0f);
 }
Beispiel #3
0
 public void decompose(out Vector3 scale, out Quaternion rotation)
 {
     EVector3 right = new EVector3 (this.Right);
     scale.X = right.normalize ();
     EVector3 up = new EVector3 (this.Up);
     scale.Y = up.normalize ();
     EVector3 forward = new EVector3 (this.Forward);
     scale.Z = forward.normalize ();
     Matrix3 m = new Matrix3 (right, up, forward);
     rotation = m.getQuaternion ();
 }
Beispiel #4
0
 public MovableQuat(Matrix3 rotation)
 {
     m_rotation = rotation.getQuaternion ();
     m_position = Vector3.Zero;
     m_scale = new Vector3 (1.0f);
 }
Beispiel #5
0
 public void billboard(Camera camera)
 {
     Vector3 forward = camera.Position - m_position;
     forward.Normalize ();
     Matrix3 billboard = new Matrix3 (forward, camera.Up);
     m_rotation = billboard.getQuaternion ();
 }