游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1869|回复: 3

lPitch到底是什么意思? (2)

[复制链接]

5

主题

33

帖子

35

积分

注册会员

Rank: 2

积分
35
QQ
发表于 2004-10-10 22:36:00 | 显示全部楼层 |阅读模式
不能上传附件,所以重新写了一个帖子,呵呵:

图象如下;IPitch还是不符合,总有超过的。

在用MMX处理的时候,我看了几篇文章,都没有说到图象每一行的末尾要处理的。

16色下,一次处理4个点,如果最后只剩下1个点怎么办? 不会丢弃吧。

很多文章大概都是这样写:

while(..<imageWidth/4)
{
}

但是imageWidth如果是5的话,那么只处理一次,难道最后一个点要丢弃?

请教。。 希望有完整的源程序。感激不尽
[em1]
sf_20041010223638.jpg

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

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

Re:lPitch到底是什么意思? (2)

不丢弃,一般内存中我们都会用8byte对齐的处理,实际上5pixel(16bit color)的一行宽度为16Byte,8byte-> MMX, 8byte->MMX(实际有效位为前2Byte)。

5

主题

33

帖子

35

积分

注册会员

Rank: 2

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

Re:lPitch到底是什么意思? (2)

8byte-> MMX, 8byte->MMX(实际有效位为前2Byte)。

那后面两位怎么办。。。。做半透明处理的时候,如果把后两位运算进去了,就会出现一条黑边。

你是怎么处理半透明的呢,能详细说一说原理吗? 

谢谢sea_bug 大哥

26

主题

417

帖子

476

积分

中级会员

总版主

Rank: 3Rank: 3

积分
476
发表于 2004-10-11 12:53:00 | 显示全部楼层

Re: Re:lPitch到底是什么意思? (2)

sea_bug: Re:lPitch到底是什么意思?  (2)

不丢弃,一般内存中我们都会用8byte对齐的处理,实际上5pixel(16bit color)的一行宽度为16Byte,8byte->...


lPitch按DWORD的对齐是为了提高速度, 在32bit CPU下处理DWORD可能比处理BYTE还快
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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