Lock flag DX

https://msdn.microsoft.com/en-us/library/windows/desktop/bb322846(v=vs.85).aspx

discard

nooverwrite

 

dynamic vertex alloc

if 满了

discard map (overwrite 申请块新的 大的)

else 没满

nooverwrite map (在当前这块 按照offset往下开memory)

相当于一个ring

 

uint32_t AddDynamicVertexData(const void* a_Data, uint32_t a_Size)
{
void* outputData;
uint32_t offset = BeginAddDynamicVertexData(a_Size, outData);//map 到outData

memcpy(outData, a_Data, a_Size);//cpu copy a_Data to GPU supplied address outData

EndAddDynamicVertexData();//buffer unmap
return offset;
}

posted on 2017-07-28 16:25  minggoddess  阅读(212)  评论(0编辑  收藏  举报