游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7914|回复: 5

D3DLOCKED_RECT::Pitch成员什么意思?

[复制链接]

22

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
发表于 2006-5-15 12:50:00 | 显示全部楼层 |阅读模式
如题,另一成员表示数据指针,这个好理解.但Pitch表示什么呢?是不是和数据存储的信息有关呀!

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20737
发表于 2006-5-16 09:59:00 | 显示全部楼层

Re:D3DLOCKED_RECT::Pitch成员什么意思?

用来进行数据对齐的一些处理。

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-5-16 16:37:00 | 显示全部楼层

Re:D3DLOCKED_RECT::Pitch成员什么意思?

Surface中每一行的数据不纯是像素颜色,还会有一个缓冲区,Pitch就是一整行的数据的总长度

22

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
 楼主| 发表于 2006-5-17 12:03:00 | 显示全部楼层

Re:D3DLOCKED_RECT::Pitch成员什么意思?

谢谢
我又试了下,可以用D3DLOCKED_RECT::pBits作为地址指针,将其中的纹理数据拷出来,能正确处理,但没有用到Pitch,Pitch表示一整行的数据的总长度,那实际的纹理是不是会因实际而不同,比如有时一行的长度,可用 纹理宽*sizeof(DWORD)得到,有时不是。但一行的长度就存储在Pitch中?

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-5-17 14:50:00 | 显示全部楼层

Re: D3DLOCKED_RECT::Pitch成员什么意思?

某些纹理没有缓冲区,用纹理宽度*DWORD是可以得到正确的长度,但无论有没有缓冲区,Pitch总是存放每行的数据长度(已经乘过了DWORD),直接用行头指针(Char型,不可为DWORD)加上Pitch即可跳到下一行

7

主题

299

帖子

305

积分

中级会员

Rank: 3Rank: 3

积分
305
发表于 2006-5-19 01:13:00 | 显示全部楼层

Re: Re:D3DLOCKED_RECT::Pitch成员什么意思?

cyrys: Re3DLOCKED_RECT:itch成员什么意思?

谢谢
我又试了下,可以用D3DLOCKED_RECT::pBits作为地址指针,将其中的纹理数据拷出来,能正确处理,但没...

规则的文理,例如2的n次方大小的文理, Pitch一般就等于纹理宽*sizeof(DWORD)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 12:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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