游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1977|回复: 5

初学ID3DXSprite,遇到几个问题

[复制链接]

30

主题

146

帖子

152

积分

注册会员

Rank: 2

积分
152
发表于 2007-3-31 09:36:00 | 显示全部楼层 |阅读模式
环境:VC6.0,DX9 SDK
1,使用ID3DXSprite画线、矩形等,只能是定义顶点缓冲的方法吗?画了矩形后如何填充颜色?
2,如何把一个纹理的图画到另一个纹理上
3,创建纹理后,获得图片大小的方法
4,如何从Dll中加载资源创建纹理
谢谢各位了!

30

主题

146

帖子

152

积分

注册会员

Rank: 2

积分
152
 楼主| 发表于 2007-3-31 10:28:00 | 显示全部楼层

Re:初学ID3DXSprite,遇到几个问题

3,4问题我自己解决了。不过问题4,我从dll创建纹理比从文件创建纹理的绘图速度要慢几十帧,但是dll里的图和文件的图是一样的。
以下是我从dll创建纹理方法和从文件创建纹理的方法,请各位给解释一下
从dll创建纹理:
HINSTANCE  hins = LoadLibraryEx( "Image.dll", NULL, LOAD_LIBRARY_AS_DATAFILE );
HRSRC        hres = FindResource( hins, MAKEINTRESOURCE( 100 ), &quotNG" );
DWORD        dwLen = SizeofResource(hins, hres);
BYTE*        lpRsrc = (BYTE*)LoadResource(hins, hres);
HGLOBAL        hMem = GlobalAlloc(GMEM_FIXED, dwLen);
BYTE*        pmem = (BYTE*)GlobalLock(hMem);
memcpy(pmem,lpRsrc,dwLen);

D3DXIMAGE_INFO d3dImageInfo = { 0 };

D3DXCreateTextureFromFileInMemoryEx(m_pd3dDevice,pmem,dwLen,
                D3DX_DEFAULT, D3DX_DEFAULT, 0, 0, D3DFMT_UNKNOWN,
                D3DPOOL_MANAGED, D3DX_FILTER_TRIANGLE|D3DX_FILTER_MIRROR,
                D3DX_FILTER_TRIANGLE|D3DX_FILTER_MIRROR, 0, &d3dImageInfo,
                NULL, &m_pBackgroundTexture );
GlobalUnlock(hMem);
GlobalFree(hMem);
FreeLibrary( hins );

从文件创建纹理:
D3DXCreateTextureFromFileEx( m_pd3dDevice, _T("Player (0).png"),
                 D3DX_DEFAULT, D3DX_DEFAULT, 0, 0, D3DFMT_UNKNOWN,
                 D3DPOOL_MANAGED, D3DX_FILTER_TRIANGLE|D3DX_FILTER_MIRROR,
                 D3DX_FILTER_TRIANGLE|D3DX_FILTER_MIRROR, 0, &d3dImageInfo,
                 NULL, &m_pBackgroundTexture );

7

主题

55

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2007-3-31 10:46:00 | 显示全部楼层

Re:初学ID3DXSprite,遇到几个问题

填充颜色:在定义顶点格式时包含一个D3DFVF_DIFFUSE

30

主题

146

帖子

152

积分

注册会员

Rank: 2

积分
152
 楼主| 发表于 2007-3-31 11:13:00 | 显示全部楼层

Re:初学ID3DXSprite,遇到几个问题

谢谢huangxizhuhuo

30

主题

146

帖子

152

积分

注册会员

Rank: 2

积分
152
 楼主| 发表于 2007-3-31 16:24:00 | 显示全部楼层

Re:初学ID3DXSprite,遇到几个问题

自己顶...

0

主题

45

帖子

51

积分

注册会员

Rank: 2

积分
51
发表于 2007-4-2 15:40:00 | 显示全部楼层

Re: 初学ID3DXSprite,遇到几个问题

1 还可用索引缓冲;定义灵活顶点时定义其颜色
2 多重纹理贴图 D3DFVF_TEXx  (x可以是0-8)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-13 00:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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