游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3793|回复: 8

lPitch到底是什么意思?

[复制链接]

5

主题

33

帖子

35

积分

注册会员

Rank: 2

积分
35
QQ
发表于 2004-10-10 14:07:00 | 显示全部楼层 |阅读模式
一个SURFACE的宽度是200,在16色的情况下 lPitch是400
一个SURFACE的宽度是201,在16色的情况下 lPitch是408
一个SURFACE的宽度是202,在16色的情况下 lPitch是408
一个SURFACE的宽度是203,在16色的情况下 lPitch是408
一个SURFACE的宽度是204,在16色的情况下 lPitch是408
一个SURFACE的宽度是205,在16色的情况下 lPitch是416

难道都必须是8的整数倍?

每次处理图片的时候,如果图片宽是奇数,就会有黑边。。。偶数就不会。

透明处理的时候应该怎么办?请教大哥哥大姐姐们~~

7

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
QQ
发表于 2004-10-10 14:21:00 | 显示全部楼层

Re:lPitch到底是什么意思?

看看《Windows游戏编程大师技巧》就知道了

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2004-10-10 17:10:00 | 显示全部楼层

Re:lPitch到底是什么意思?

怎么会有问题呢?用不着管它的值。每次Lock页面都应该重新获得这个值。不要保存它以后用。

82

主题

331

帖子

340

积分

中级会员

Rank: 3Rank: 3

积分
340
QQ
发表于 2004-10-10 18:52:00 | 显示全部楼层

Re:lPitch到底是什么意思?

32 Bits 字节对齐

5

主题

33

帖子

35

积分

注册会员

Rank: 2

积分
35
QQ
 楼主| 发表于 2004-10-10 19:07:00 | 显示全部楼层

Re:lPitch到底是什么意思?

呵呵,在《Windows游戏编程大师技巧》上找到答案了,

但是在半透明图象处理中,如果用MMX来写,如果图象的宽度是类似211这样的奇数,怎么来确定图象的宽度的终结点?  比如处理到最后的第211个点的时候,后面还有点怎么办?

5

主题

33

帖子

35

积分

注册会员

Rank: 2

积分
35
QQ
 楼主| 发表于 2004-10-10 20:41:00 | 显示全部楼层

Re:lPitch到底是什么意思?

比如:
源图象:宽为5,在16色的下,图象的水平有  10  BYTE
MMX 一次处理了  8  BYTE ,剩下的两个象素怎么办? 怎么判断处理到了一行的尽头了呢?

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2004-10-10 20:47:00 | 显示全部楼层

Re:lPitch到底是什么意思?

宽度的单位是象素,而跨度的单位是字节。

5

主题

33

帖子

35

积分

注册会员

Rank: 2

积分
35
QQ
 楼主| 发表于 2004-10-10 22:15:00 | 显示全部楼层

Re:lPitch到底是什么意思?

那我处理到最后的一个象素,也就是最后的两个字节后,我没判断到图象已经到了尽头,那么就会把那一个行后面缓冲区的东西处理上去,就出现了黑边。

在MMX里,如果每处理一个象素就检查一下有没有越界,那是不是太浪费时间了,我看了很多人的源代码,都没有考虑到这个,我用一个宽度为21的图片的时候,就会出现黑边。

有人能提供一个透明度或者灰度处理的完整的源代码呢? 感激不尽  :)

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2004-10-10 22:16:00 | 显示全部楼层

Re:lPitch到底是什么意思?

这只是在使用显存作为surface时才会有的现象,作MMX时,因为使用的是CPU,所以尽量将surface建在主内存里,这样一则不会出现所谓的lpitch问题,二则使用MMX时速度快一些,因为如果把surface建立在显存里,需要通过CPU去访问显存的东西,速度慢一些。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-22 17:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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