« firefox@FreeBSD | トップへ戻る | 某学生寮のネットワーク »

2004年09月16日

頂点バッファ orz

LPDIRECT3DVERTEXBUFFER9 g_pVB = NULL;
struct CV_2D
{
FLOAT x,y,z,rhw; // 位置座標
DWORD color; // 色
FLOAT tu,tv; // テクスチャ座標
};
#define D3DFVF_CV_2D (D3DFVF_XYZRHW|D3DFVF_DIFFUSE|D3DFVF_TEX1)

CV_2D StaticCV[4];
/*
頂点座標設定省略
*/
if(
FAILED(pd3dDevice->CreateVertexBuffer(sizeof(CV_2D)*4,
D3DUSAGE_DYNAMIC,//0,//D3DCREATE_HARDWARE_VERTEXPROCESSING
D3DFVF_CV_2D, D3DPOOL_DEFAULT, &g_pVB, NULL))
)
{
return E_FAIL;
}
VOID* pVB;
if(FAILED(g_pVB->Lock(0, sizeof(StaticCV), (void**)&pVB, D3DLOCK_DISCARD)))
{
return E_FAIL;
}
memcpy(pVB, StaticCV, sizeof(StaticCV));
g_pVB->Unlock();


…あれ?Lockできない…?
summer2004のEmptyProjectに追加しただけなのにこけた。DX9SDKサンプルは動くけど、それをコピペしたらやっぱりLockでこける。どこが影響してるんだろう?

----
OnResetDeviceじゃなくてOnFrameRenderにおいたら動いた…orz

投稿者 togabito : 2004年09月16日 17:38

Trackback Pings

このエントリーのトラックバックURL:
http://aaa.jspeed.jp/~togabito/cgi-bin/mt/mt-tbx.cgi/56

このリストは、次のエントリーを参照しています: 頂点バッファ orz:

» Great deprivation from Great deprivation
This is some kind of excerpt from blog [続きを読む]

トラックバック時刻: 2005年11月26日 15:22

コメント

コメントしてください




保存しますか?