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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

查看: 3664|回复: 2

我的ID3DXSprite显示有问题,鼠大哥帮忙?

[复制链接]
发表于 2007-11-27 10:16:01 | 显示全部楼层 |阅读模式

ID3DXSprite显示一个泡泡图,用了以下的方法

D3DXGetImageInfoFromFile(imgFile,&pSrcInfo);
 D3DXCreateTextureFromFileEx(ppdev,imgFile,pSrcInfo.Width,pSrcInfo.Height,0,0,D3DFMT_UNKNOWN,D3DPOOL_MANAGED,D3DX_DEFAULT,0,D3DCOLOR_XRGB(255,0,255),&pSrcInfo,NULL,&pTexture);

在begin()和end()之间,用了Draw(),可是画出来的图却比原图大,像是放大了,我想问一下问题出在哪?

g_pSprite->Begin(D3DXSPRITE_ALPHABLEND);
   g_pSprite->Draw(fire->pTexture,&srcRect,NULL,&vec,0xFFFFFFFF);
   g_pSprite->End();

[em04][em06]
 楼主| 发表于 2007-11-27 10:31:11 | 显示全部楼层
问题答案找到了.~~~~还得继续看老贴,长知识呀~~~哈~
其实什么尺寸都可以用。
读取纹理用的是这个函数对吧?
HRESULT WINAPI D3DXCreateTextureFromFileEx(      

    LPDIRECT3DDEVICE9 pDevice,
    LPCTSTR pSrcFile,
    UINT Width,
    UINT Height,
    UINT MipLevels,
    DWORD Usage,
    D3DFORMAT Format,
    D3DPOOL Pool,
    DWORD Filter,
    DWORD MipFilter,
    D3DCOLOR ColorKey,
    D3DXIMAGE_INFO *pSrcInfo,
    ALETTEENTRY *pPalette,
    LPDIRECT3DTEXTURE9 *ppTexture
);
其中这两个参数:
    DWORD Filter,
    DWORD MipFilter,
我们一般设定为D3DX_DEFAULT,但是,如果设定为D3DX_FILTER_NONE就可以彻底解除2的N次幂的尺寸限制,使图片正常显示。
发表于 2007-11-27 13:57:24 | 显示全部楼层
D3DXCreateTextureFromFileEx是D3DXCreateTextureFromFile的扩展,在这里修改参数可以控制载入纹理大小 以及解决2的N次幂的尺寸限制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-6 15:25

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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