void AnimaMappedValues::CopyData(const AnimaMappedValues& src)
{
	if (this != &src)
	{
		CopyTextures(src);
		CopyColors(src);
		CopyVectors(src);
		CopyMatrices(src);
		CopyFloats(src);
		CopyIntegers(src);
		CopyBooleans(src);
		CopyVectorsArrays(src);
		
		_shaderSource = src._shaderSource;
	}
}
void	NuiKinfuOpenCLFeedbackFrame::UpdateBuffers(NuiKinfuFrame* pFrame, NuiKinfuCameraState* pCameraState)
{
	if(!pFrame)
		return;
	NuiKinfuOpenCLFrame* pCLFrame = dynamic_cast<NuiKinfuOpenCLFrame*>(pFrame);
	if(!pCLFrame)
		return;

	if(!pCameraState)
		return;
	NuiKinfuOpenCLCameraState* pCLCamera = dynamic_cast<NuiKinfuOpenCLCameraState*>(pCameraState);
	if(!pCLCamera)
		return;

	if(pCLFrame->GetWidth() != m_nWidth || pCLFrame->GetHeight() != m_nHeight)
		return;

	Vertex2Normal(pCLFrame->GetVertexBuffer(), pCLFrame->GetDepthThreshold());
	TransformBuffers(pCLFrame->GetVertexBuffer(), m_normalsCL, pCLCamera->GetCameraTransformBuffer());
	CopyColors(pCLFrame->GetColorBuffer());
}