游戏开发论坛

 找回密码
 立即注册
搜索
查看: 17921|回复: 26

DirectX9中非2次方尺寸的图片渲染模糊问题的完美解决方案

[复制链接]

67

主题

390

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
发表于 2010-10-25 23:02:00 | 显示全部楼层 |阅读模式
只要创建纹理时这样写:
HRESULT hr = E_FAIL;
D3DXIMAGE_INFO info;

D3DXGetImageInfoFromFile("Media\\亭子.png", &info);

// 其中D3DFMT_FROM_FILE和D3DX_FILTER_NONE是关键
hr = D3DXCreateTextureFromFileEx(
        m_pD3DDevice,
        "Media\\亭子.png",
        info.Width,
        info.Height,
        D3DFMT_FROM_FILE,
        0,
        D3DFMT_A8R8G8B8,
        D3DPOOL_MANAGED,
        D3DX_FILTER_NONE,
        D3DX_DEFAULT,
        0,
        NULL,
        NULL,
        &m_pTexture);

这样:不管你的图片尺寸是什么样的,都将被清晰的渲染出来。
这给2D游戏的开发、界面编程带来了极大的方便,也避免了空间浪费。
再也不用为图片尺寸而发愁了。

16

主题

154

帖子

309

积分

中级会员

Rank: 3Rank: 3

积分
309
发表于 2010-10-26 09:02:00 | 显示全部楼层

Re:【分享】DirectX9中非2次方尺寸的图片渲染模糊问题的完

没遇到过这种问题.

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2010-10-26 10:28:00 | 显示全部楼层

Re:【分享】DirectX9中非2次方尺寸的图片渲染模糊问题的完

完美的解决方案是换显卡。

你这样仅仅是关掉了过滤,但图像还是没有原始的清晰,因为必境还是损失了数据。

67

主题

390

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
 楼主| 发表于 2010-10-26 14:39:00 | 显示全部楼层

Re: Re:【分享】DirectX9中非2次方尺寸的图片渲染模糊问题的

hyzboy: Re:【分享】DirectX9中非2次方尺寸的图片渲染模糊问题的完美解决方案

完美的解决方案是换显卡。

你这样仅仅是关掉了过滤,但图像还是没有原始的清晰,因为必境还是损失了数据。


您截下图再放到PS中和原图比较一下,就知道是不是有一点点不清晰。。

36

主题

100

帖子

725

积分

高级会员

Rank: 4

积分
725
发表于 2010-10-26 23:15:00 | 显示全部楼层

Re:【分享】DirectX9中非2次方尺寸的图片渲染模糊问题的完

不错的方法,纹理和原图大小一致,对于2D界面比较重要。不过有些老显卡可能不支持随意尺寸的纹理。

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2010-10-27 00:43:00 | 显示全部楼层

Re:【分享】DirectX9中非2次方尺寸的图片渲染模糊问题的完

?濉!!Bブ骱艽壳

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2010-10-27 10:36:00 | 显示全部楼层

Re:【分享】DirectX9中非2次方尺寸的图片渲染模糊问题的完

我2002年就碰上这个问题了。

图像不过滤自然是显得清晰,但我要的是和原图100%一样。

67

主题

390

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
 楼主| 发表于 2010-10-27 20:03:00 | 显示全部楼层

Re: Re:【分享】DirectX9中非2次方尺寸的图片渲染模糊问题的

hyzboy: Re:【分享】DirectX9中非2次方尺寸的图片渲染模糊问题的完美解决方案

我2002年就碰上这个问题了。

图像不过滤自然是显得清晰,但我要的是和原图100%一样。


这个做法当然是100%清晰度的。。试下便知。

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2010-10-28 11:05:00 | 显示全部楼层

Re:【分享】DirectX9中非2次方尺寸的图片渲染模糊问题的完

你找台不支持非2次幂的显卡试一下。

67

主题

390

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
 楼主| 发表于 2010-10-29 13:32:00 | 显示全部楼层

Re: Re:【分享】DirectX9中非2次方尺寸的图片渲染模糊问题的

hyzboy: Re:【分享】DirectX9中非2次方尺寸的图片渲染模糊问题的完美解决方案

你找台不支持非2次幂的显卡试一下。


我没有试过,我的计算机是低端显卡,N年前的,2000块的笔记本,你想象一下吧。
图像之所以需要2次幂的尺寸,是由于DX mipmap的需要。是D3D把图片处理成了2次幂,跟显卡毫无关系。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-30 11:52

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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