游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2095|回复: 2

关于D3D的LOCK的问题

[复制链接]

72

主题

447

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
QQ
发表于 2004-12-11 23:49:00 | 显示全部楼层 |阅读模式
在D3D程序设计中分配显卡缓存的时候要求用lock来获取可支配的指针,但是我对调用他的过程非常迷惑,请大侠帮助!

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2004-12-23 22:35:00 | 显示全部楼层

Re:关于D3D的LOCK的问题


VOID* pVerticesd;
    if( FAILED( g_pVB->Lock( 0, sizeof(g_Verticesd), (void**)&pVerticesd, 0 ) ) )0为顶点缓冲区首点,g_Verticesd为定义的顶点缓冲区数组,最后的0为相应的Flags!
        return E_FAIL;      
    memcpy( pVerticesd, g_Verticesd, sizeof(g_Verticesd) );
    g_pVB->Unlock();g_pVB为顶点缓冲区指针;


函数原形为:
HRESULT Lock(          UINT OffsetToLock,
    UINT SizeToLock,
    VOID **ppbData,
    DWORD Flags
);

72

主题

447

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
QQ
 楼主| 发表于 2004-12-26 17:05:00 | 显示全部楼层

Re:关于D3D的LOCK的问题

为什么要锁?没有看出来锁了以后有什么发生啊~
在SDK里面我看见LOCK和UNLOCK之间是一个内存拷贝,不锁拷贝行吗?指针知道那里去了?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-23 20:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表