@@ -288,6 +288,11 @@ class Camera {
m._44 = 1;
}
+ public function setTransform( m : Matrix ) {
+ pos.set(m._41, m._42, m._43);
+ target.load(pos.add(m.getDirection()));
+ }
+
function makeFrustumMatrix( m : Matrix ) {
m.zero();
@@ -549,6 +549,13 @@ class Matrix {
return [_11, _12, _13, _14, _21, _22, _23, _24, _31, _32, _33, _34, _41, _42, _43, _44];
+ public function getDirection() {
+ var q = new h3d.Quat();
+ q.initRotateMatrix(this);
+ q.normalize();
+ return q.getDirection();
/**
Extracts Euler rotation angles from rotation matrix
**/