void MatrixManager::RotateZ( const Angle p_Angle )
	{
		// Calculate the rotation matrix
		const Float32 AngleSin = Math::Sin<Float32>( static_cast<Float32>( p_Angle.AsRadians( ) ) );
		const Float32 AngleCos = Math::Cos<Float32>( static_cast<Float32>( p_Angle.AsRadians( ) ) );

		Matrix4x4f32 rotation (	AngleCos,	-AngleSin,	0.0, 0.0f,
								AngleSin,	AngleCos,	0.0, 0.0f,
								0.0f,		0.0,		1.0, 0.0f,
								0.0f,		0.0,		0.0, 1.0f );

		// Multiply the rotation matrix by the current matrix.
		g_pCurrentStack->top( ) = g_pCurrentStack->top( ) * rotation;
	}