Ejemplo n.º 1
0
void Camera::calcInverseView() const
{
	if( ! mModelViewCached ) calcViewMatrix();

	mInverseModelViewMatrix = glm::inverse( mViewMatrix );
	mInverseModelViewCached = true;
}
Ejemplo n.º 2
0
/**
* CProjector::setDirection
* @date Modified Jun 05, 2006
*/
void CProjector::setDirection(D3DXVECTOR3& vDir)
{
	m_vAt = vDir;
	D3DXVECTOR3 vRight;
	D3DXVec3Normalize(&vRight, D3DXVec3Cross(&vRight, &m_vWorldUp, &vDir));
	D3DXVec3Normalize(&m_vUp, D3DXVec3Cross(&m_vUp, &vRight, &vDir));
	calcViewMatrix();
}
Ejemplo n.º 3
0
void Camera::calcMatrices() const
{
	if( ! mModelViewCached ) calcViewMatrix();
	if( ! mProjectionCached ) calcProjection();

	// note: calculation of the inverse modelview matrices is postponed until actually requested
	//if( ! mInverseModelViewCached ) calcInverseModelView();
}
Ejemplo n.º 4
0
void CameraStereo::calcInverseView() const
{
	if( ! mModelViewCached ) calcViewMatrix();

	mInverseModelViewMatrix = glm::affineInverse( mViewMatrix );
	mInverseModelViewMatrixLeft = glm::affineInverse( mViewMatrixLeft );
	mInverseModelViewMatrixRight = glm::affineInverse( mViewMatrixRight );
	mInverseModelViewCached = true;
}
Ejemplo n.º 5
0
const mat4& CameraStereo::getViewMatrix() const 
{
	if( ! mModelViewCached )
		calcViewMatrix(); 

	if( ! mIsStereo )
		return mViewMatrix; 
	else if( mIsLeft )
		return mViewMatrixLeft; 
	else
		return mViewMatrixRight; 
}
Ejemplo n.º 6
0
/**
* CProjector::CProjector
* @date Modified Jun 05, 2006
*/
CProjector::CProjector(void) : m_pTexture(NULL), m_vUp(m_vWorldUp), m_vAt(0,0,1),
m_vPos(0,0,0)
{
	D3DXMatrixIdentity(&m_mView);
	D3DXMatrixIdentity(&m_mProjection);

	// Calculate Proj. Matrix
	CRenderSystem* pRen = CRenderSystem::getInstancePtr();
	float fAspect = (float)pRen->getDisplayWidth() / (float)pRen->getDisplayHeight();
	D3DXMatrixPerspectiveFovLH(&m_mProjection, D3DX_PI / 4, fAspect, 0.09f, 5.0f);

	// Calculate View matrix, and initialize frustum.
	calcViewMatrix();
}
Ejemplo n.º 7
0
void CSulIntersectionWithCamera::setDirection( const osg::Vec3& dir )
{
	m_dir = dir;
	calcViewMatrix();
}
Ejemplo n.º 8
0
void CSulIntersectionWithCamera::setPosition( const osg::Vec3& pos )
{
	m_pos = pos;
	calcViewMatrix();
}
Ejemplo n.º 9
0
/**
* CProjector::setPosition
* @date Modified Jun 05, 2006
*/
void CProjector::setPosition(D3DXVECTOR3& vPos)
{
	m_vPos = vPos;
	calcViewMatrix();
}
Ejemplo n.º 10
0
Eigen::Matrix4d View::calcFullMatrix()
{
    return calcViewMatrix() * calcModelMatrix();
}