/* ========== RenderableNode::SendTransformMessage Sends a transform message if needed. ========== */ void RenderableNode::SendTransformMessage( void ) { if ( IsTransformChanged() ) { TransformMessage* msg = m_renderModule->GetRenderMessage<TransformMessage>(); const glm::mat4& globalModel = GetGlobalModelMatrix(); msg->Init (m_id, glm::mat3( globalModel ), glm::vec3( globalModel[3] ) ); //std::cout << "Set time: (id" << m_id << ") " << std::setprecision(16) << RakNet::GetTime() * 0.001 << std::endl; m_renderModule->SendRenderMessage( msg ); } }
void Camera::UpdateViewProjection() const { matViewInverse_ = GetGlobalModelMatrix(); matView_ = Inverse(matViewInverse_); matViewProjection_ = matProjection_ * matView_; matViewProjectionInverse_ = Inverse(matViewProjection_); auto tmp = std::make_shared<Frustum>(matViewProjection_); frustum_.swap(tmp); SetUniformsNeedUpdate(); }