Frustum Light::WorldFrustum() const { const Matrix3x4& transform = WorldTransform(); Matrix3x4 frustumTransform(transform.Translation(), transform.Rotation(), 1.0f); Frustum ret; ret.Define(fov, 1.0f, 1.0f, 0.0f, range, frustumTransform); return ret; }
Frustum Light::GetFrustum() const { // Note: frustum is unaffected by node or parent scale Matrix3x4 frustumTransform(node_ ? Matrix3x4(node_->GetWorldPosition(), node_->GetWorldRotation(), 1.0f) : Matrix3x4::IDENTITY); Frustum ret; ret.Define(fov_, aspectRatio_, 1.0f, M_MIN_NEARCLIP, range_, frustumTransform); return ret; }