我需要在 Windows 项目的视频卡内存中分配位图。因为项目使用了 GDI 以外的其他 2d 库,所以 CreateCompatibleBitmap 没用。
然后我想出了一个使用DX的方法,这是我的代码:
if(FAILED(g_D3DDevice->CreateVertexBuffer(10240 * 1024, 0,
D3DFVF_VERTEX, D3DPOOL_DEFAULT, &g_VertexBuffer,
NULL))) return false;
// Fill the vertex buffer.
void *ptr;
if(FAILED(g_VertexBuffer->Lock(0, 1024 * 10240,
(void**)&ptr, 0))) return false;
//do something...
//printf("ptf = %x\n", ptr);
//memcpy(ptr, objData, sizeof(objData));
g_VertexBuffer->Unlock();
到目前为止效果很好。但是有没有副作用?