アットウィキロゴ


準備

荒川くんの用意してくれたプログラムを利用する。
mrip\trunk\directx
の中にある[ShowXFile_base20100511]というプログラムを改良したプログラムを
mrip\trunk\opencv\OpenCV_ShowXFile_base20100511
に作成した。SVNを最新のものに更新して、利用してください。

解説

基本的には動作確認用のプログラムでフレームの画像をテクスチャにコピーしているだけです。
コピーするための関数。
void replaceTexture(LPDIRECT3DTEXTURE9 pTexture, IplImage *pPanoImg)
{
	D3DLOCKED_RECT pLockedRect;
	pTexture->LockRect(0, &pLockedRect, NULL, 0);	//	ロック
	unsigned long data; //32bit
	unsigned long r, g, b, a;
	unsigned long *to = (unsigned long*)pLockedRect.pBits;
	for(UINT y=0; y < (unsigned int)pPanoImg->height; y++)
	{
		for(UINT x=(unsigned int)pPanoImg->width; x > 0 ; x--)
		{
			//	初期化
			data = r = g = b = 0;
			//	B
			b = *(pPanoImg->imageData + (pPanoImg->width*y + x-1) * 3 + 0);
			data += b;
			//	G
			g = *(pPanoImg->imageData + (pPanoImg->width*y + x-1) * 3 + 1);
			g <<= 8;
			data += g;
			//	R
			r = *(pPanoImg->imageData + (pPanoImg->width*y + x-1) * 3 + 2);
			r <<= 16;
			data += r;
			//	A
			a = 0;
			a <<= 24;
			data += a;

			*to++ = data;
		}
	}
	
	pTexture->UnlockRect(0);	//	アンロック
}
この関数が原因で、現在のプログラムではうまくコピー出来ていないらしい。
誰かにこの関数を直して欲しい。(加藤くん辺りに(ぇ

コメント

名前:
コメント:
最終更新:2010年05月17日 02:09