麒麟子

~~

导航

<2009年10月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

统计

常用链接

留言簿(12)

随笔分类

随笔档案

Friends

WebSites

积分与排名

最新随笔

最新评论

阅读排行榜

评论排行榜

关于图象的拉伸问题


<如果窗口的视图区大小和SwapChain的大小不一,那么DirectX将通过Stretch Blit来自动处理图像的伸缩变化。尽管这可能并不令人期待,因为这在视图区变大的时候将导致图像的模糊。> 你说的这个问题 要怎么才能解决?


有位博友这样问过,因为最近少有上博客,于是没有回答及时,请见谅,我这里只能说说我们现在的解决办法。

当后台缓冲区的分辨率和视图区不统一的时候,会导致拉伸现象,使画面变得模糊。

首先说个题外话:
正因为变得模糊,因此有人故意将后台缓冲区做得比视区稍大一点,这样来抗锯齿,至于效果如何,没有真正见过,有兴趣的可以试试。

下面说说解决办法。
我们的解决办法也很简单,就分三步
1,窗口改变的时候,告诉设备窗口大小改变。
2,按改变后的窗口重建缓冲区。
3。强制设备丢失,并重新加载需要的资源。

由于在做这个之前,设备丢失已经做好了,于是就偷了个懒,窗口改变的时候就传入窗口大小,并reset
这样设备就强制处于丢失状态。


不知道有没有说清楚,反正主要的就是要重建缓冲区,并处理设备丢失问题。。。

posted on 2009-10-10 21:25 麒麟子 阅读(1399) 评论(0)  编辑 收藏 引用 所属分类: DirectX


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理