Esempio n. 1
0
/*
==========
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 );
	}
}
Esempio n. 2
0
 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();
 }