Lock()

 


功能:Locks a range of vertex data and obtains a pointer to the vertex buffer memory.

HRESULT Lock(  
  
     UINT OffsetToLock,                    //加锁内存起始地址  
  
     UINT SizeToLock,             //加锁内存大小  
  
     VOID **ppbData,         //返回内存指针地址  
  
     DWORD Flags       //加锁属性  
);  

 

 

 DWORD Flags  :指定了顶点缓冲区的加锁属性,它可以取值为 0 ,或者如下中的任意组合: 
D3DLOCK_DISCARD              //仅在动态缓冲区下使用,硬件丢弃原缓冲区并创建一个 新的缓冲区 (即创建缓冲时设置的内存属性)
D3DLOCK_NO_DIRTY_UPDATE     //在缺省状态下,对缓冲区加锁将会在该区域设置 Dirty标志,该属性将不对该区域设置Dirty标志 
D3DLOCK_NOSYSLOCK            //在加锁的过程中系统可进行其他操作 
D3DLOCK_READONL              //设置缓冲区位制度属性 
D3DLOCK_NOOVERWRITE         //尽在动态缓冲区下使用,保证不覆盖缓冲区数据,即向 缓冲区中添加数据,允许在渲染时添加数据到缓冲区 
 
//以下代码保存了顶点  
  
//锁定顶点缓冲 
void* pVertices; 
  
 if(FAILED(g_pVertexBuffer->Lock(0,sizeof(Vertices),(void**)&pVertices,0)))  
  
{  
  
  return E_FAIL;  
  
} 
  
//拷贝顶点信息  
  
memcpy(pVertices, vertices,size(vertices));  
  
//解锁  
  
g_pVertexBuffer->Unlock();  

 

 


------------------------------------------------------------------------------------------------------------------------------------------

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值