游戏开发论坛

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

纹理锁定区域lockrect出错

[复制链接]

12

主题

70

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2005-12-1 22:10:00 | 显示全部楼层 |阅读模式
代码如下,初始化时需要从纹理中读取颜色,结果LockRect报错
V(D3DXCreateTextureFromFile(m_pd3dDevice,pszFilename,&(m_ppDetailedTiles)));
if(FAILED(hr))
    return false;
               
D3DSURFACE_DESC desc;
m_ppDetailedTiles->GetLevelDesc(0,&desc);
m_TileData._iWidth = desc.Width;
m_TileData._iHeight = desc.Height;

D3DLOCKED_RECT lockedrect;
hr = m_ppDetailedTiles->LockRect(0,&lockedrect,NULL,D3DLOCK_DISCARD);
如果代码无误,那么一般什么问题会造成锁定出错呢?

8

主题

182

帖子

268

积分

中级会员

Rank: 3Rank: 3

积分
268
发表于 2005-12-2 15:29:00 | 显示全部楼层

Re:纹理锁定区域lockrect出错

m_ppDetailedTiles->LockRect(0,&lockedrect,NULL,0);这样试试。

12

主题

70

帖子

70

积分

注册会员

Rank: 2

积分
70
 楼主| 发表于 2005-12-2 19:29:00 | 显示全部楼层

Re:纹理锁定区域lockrect出错

试过了,好象D3DLOCK_DISCARD只能使用在顶点缓冲和索引缓冲上
我将这个参数改成D3DLOCK_NOSYSLOCK,或者D3DLOCK_READONLY都可以,不过目前还没实践过两个参数具体能带来什么不同的效果,就随便取了个D3DLOCK_READONLY,反正只是要读出来构造新的纹理而已
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 19:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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