const glm::mat4& CTransformer::getInverseViewProjectionMatrix() const { if (m_viewProjection.m_inverseDirty) { m_viewProjection.m_inverse = getInverseViewMatrix() * getInverseProjectionMatrix(); m_viewProjection.m_inverseDirty = false; } return m_viewProjection.m_inverse; }
const glm::mat4& Node::getInverseViewMatrix() const { Scene* scene = getScene(); auto camera = scene ? scene->getActiveCamera() : nullptr; if( camera ) { return camera->getInverseViewMatrix(); } else { static const glm::mat4 identity{1.0f}; return identity; } }