【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 5090|回复: 14

郁闷中的ID3DXSprite图片清晰度

[复制链接]
发表于 2005-8-19 20:49:34 | 显示全部楼层 |阅读模式

最近在写一个2D的游戏程序过程中发现一个很让人郁闷的问题,居然 SDK 9.0C 2005 August Updata最新版 以及SUMMER 2004版对2D显示画面居然比前几版的都糟糕。

事情原因是这样的,最近要一个2D游戏超级马里奥.net游戏代码完全分析,前一段时间一直在搞服务器客户端的程序,所以电脑上连SDK都没有装,既然要安装,就安装最新版的吧。所以从网上下载了SDK 9.0C 2005 August Updata ;然后开始了工作,结果发现很郁闷的问题,2d显示太不清晰了(详细在《超级玛丽奥.net版游戏工作日志(即时更新)》)换了好几个版本都不满意,但是同一段代码别人生成的怎么就很清晰呢?效果如下。

郁闷中的ID3DXSprite图片清晰度

郁闷中的ID3DXSprite图片清晰度


上面的效果是photoshop里的效果,下面两个则是在不同版本中图片的显示效果

通过对比发现,SDK 9.0C 2005 August Updata 渲染出来的2D效果要比SDK 9.0b的差很多,使用了SDK 8.0选然结果和SDK 9.0b一样清晰锐利。那为什么会这样呢?

仔细查看SDK 9.0b&SDK 9.0c的差别,sprit->draw()函数里面的参数个数不同。Begin()/End()中的参数也不同。经过数天的组合渲染测试,SDK 9.0b的还是要比SDK 9.0c的效果要好。看来这个问题需要微软的人出面来讲讲了![em06]

[此贴子已经被admin于2005-12-29 14:31:58编辑过]
发表于 2005-9-5 21:51:33 | 显示全部楼层
################
 楼主| 发表于 2005-9-5 22:19:50 | 显示全部楼层

改用dix9.0b吧,这个版本可能是支持漂亮的2D绘制的最后一个版本了

这里有下载:[em04]

http://www.lihuasoft.net/download/show.php?id=50

[此贴子已经被作者于2005-12-27 10:32:50编辑过]
发表于 2005-9-5 22:22:18 | 显示全部楼层
可是现在还找得到9.0b吗?
 楼主| 发表于 2005-9-5 23:55:22 | 显示全部楼层
可以阿,你给我六个mail,我发给你
 楼主| 发表于 2006-1-24 17:13:39 | 显示全部楼层
DirectX Sdk的版本眼花缭乱,特别是9.0以后的,MS为了证明自家的DX就是比隔壁门的OPENGL强大,时时对DX的版本和开发工具进行更新。初学者刚开始学DX时有一个SDK包进行学习是必要的。这里推荐使用9.0以后的版本进行开发,一则现在的DX都到9.0c了,再用8.0就太过时了,二则高版本的DX对程序的优化更好,帮助文档更为详实。
下面介绍一下DX9.0 sdk 的版本

DirectX sdk 9.0b
这个版本延续8.0的传统,D3D部分改动相对较少,从DX8.0SDK升级上来的推荐使用这个SDK进行开发,初学者也推荐使用从这个版本开始。而且此版本对显卡要求不是太高,非硬件支持DX9的显卡(GeforceFX以下),大部分的例子都可以执行。

DirectX sdk 9.0 summer2004
这个版本是9.0中改动最大的版本,演示例子基本都换了,而且如果你的显卡不支持DX9,基本没一个例子可以运行。而且用DX向导生成的框架也改动了很多,加入了DX下的绘制控件的支持。而且对基于GDI的文字绘制进行优化,速度有所提升。所以刚开始学习DX时看这个框架代码有一定困难。

DirectX sdk 9.0 oct2004
当时由于DirectPlay查出很多的漏洞,这个版本就是MS的一时补救版本,不过还有很多更新,具体查看文档。

DirectX sdk 9.0 dec2004
这是DX的最新版本,对于对DX比较熟悉的用户可以使用这个版本进行开发

发表于 2006-2-6 23:38:47 | 显示全部楼层
################
 楼主| 发表于 2006-2-8 13:58:21 | 显示全部楼层
以下是引用singohgod在2006-2-6 23:38:47的发言:

鼯鼠兄

我安装了sdk怎么没有向导呢?

我是9.0c dec + vs.net 2003

什么向导呢?安装的时候是有向导的阿

你如果说是vs.net 2003里面的那个创建dix向导没有就对了。新的vs.net 2003里面应该是把这个去掉了。我从来没有见过

发表于 2006-2-8 23:03:39 | 显示全部楼层
################
 楼主| 发表于 2006-3-8 16:12:50 | 显示全部楼层
以下是引用sisun在2006-3-8 13:20:26的发言:

因为你没把图片尺寸设为2的N次方,比如32、64、128、256之类,如果不是这样,D3D里边显示的图片就会很模糊。

不是这样的,这个图片的原图是2的n次幂。微软推出的新的SDK里面为了大幅度增加Spirte的工作效率,而对它进行了改造,不知道为什么,2D图像质量变得很糟糕。最新的一版SDK画质提高的很快!因为我测试了几款9.0b以后的SDK都不满意,就不再关心了,没想到,这次为了尝尝dx10的鲜,我就去下载了一个看看,结果2D效果也很不错......请看

发表于 2006-3-8 13:20:26 | 显示全部楼层

因为你没把图片尺寸设为2的N次方,比如32、64、128、256之类,如果不是这样,D3D里边显示的图片就会很模糊。

发表于 2006-4-22 21:22:45 | 显示全部楼层
DirectX9.0c 显示2D很清晰啊
 楼主| 发表于 2006-4-22 22:27:11 | 显示全部楼层
以下是引用drucula在2006-4-22 21:22:45的发言:
DirectX9.0c 显示2D很清晰啊

这就不清楚了哈~

发表于 2006-4-23 15:23:29 | 显示全部楼层
我用的是DX9.0C啊,不存在模糊问题啊,要注意在使用纹理读入图片的时候,有一个参数和SDK上的不一样,就是那个参数使图片变模糊了,要把第3个"D3DX_DEFAULT"改成"1"
 楼主| 发表于 2006-4-23 16:51:36 | 显示全部楼层
以下是引用drucula在2006-4-23 15:23:29的发言:
我用的是DX9.0C啊,不存在模糊问题啊,要注意在使用纹理读入图片的时候,有一个参数和SDK上的不一样,就是那个参数使图片变模糊了,要把第3个"D3DX_DEFAULT"改成"1"

也许这就是dx9.0c改变的东西吧~

不过现在使用2005年最后一个版本的SDK不存在这个问题,不作任何修改就能得到很清晰的图片绘制了。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2025-2-6 03:59

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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