游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2431|回复: 8

怎么更改Mesh的顶点格式.

[复制链接]

21

主题

41

帖子

47

积分

注册会员

Rank: 2

积分
47
发表于 2008-9-19 15:07:00 | 显示全部楼层 |阅读模式
  我想让一个Mesh支持多纹理坐标,调用以下语句后,系统会自动为Mesh的顶点增加到2个纹理坐标吗? 感觉好象不是那样..有人指点一下吗? 谢谢了.
         
           ID3DXMesh* pTemp = NULL;
        HRESULT hr = Teapot->CloneMeshFVF( Teapot->GetOptions(), (Teapot->GetFVF() & ~D3DFVF_TEX1) | D3DFVF_TEX2, Device, &pTemp );
       
        Teapot->Release();
        Teapot = pTemp;

[em7]

8

主题

284

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
QQ
发表于 2008-9-19 15:31:00 | 显示全部楼层

Re:怎么更改Mesh的顶点格式.

你先确定这种参数,能否成功执行克隆MESH。

21

主题

41

帖子

47

积分

注册会员

Rank: 2

积分
47
 楼主| 发表于 2008-9-19 15:34:00 | 显示全部楼层

Re:怎么更改Mesh的顶点格式.

回LS的,这些语句执行是没问题的..函数返回S_OK.

8

主题

284

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
QQ
发表于 2008-9-19 15:42:00 | 显示全部楼层

Re:怎么更改Mesh的顶点格式.

个人觉得这样做会意义不明确。。。。。

你克隆出了MESH后,纹理坐标是放在tex1还是tex2里呢?

21

主题

41

帖子

47

积分

注册会员

Rank: 2

积分
47
 楼主| 发表于 2008-9-19 15:49:00 | 显示全部楼层

Re:怎么更改Mesh的顶点格式.

我想用多2个纹理做混合,目前的Mesh只有一个纹理坐标,所以我打算用复制MeshFVF的方法来更改Mesh的顶点格式,我现在不明白的就是,改变了MeshFVF之后,Mesh会自动变成两个纹理坐标了吗? 就像自定义顶点格式那样.
struct vertex
{
  D3DXVECOTR3 pos;
  D3DXVECOTR2 tex1;
  D3DXVECTOR2 tex2;
  .......
};

8

主题

284

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
QQ
发表于 2008-9-19 15:52:00 | 显示全部楼层

Re:怎么更改Mesh的顶点格式.

是的,会有两层纹理坐标的。只是第二层纹理坐标要你自己去填充。没有D3DX函数对应。

21

主题

41

帖子

47

积分

注册会员

Rank: 2

积分
47
 楼主| 发表于 2008-9-19 15:55:00 | 显示全部楼层

Re:怎么更改Mesh的顶点格式.

我可以直接把它传入shader里面自己处理吧?
这样的话就明白多了,谢谢LS的!

8

主题

284

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
QQ
发表于 2008-9-19 15:58:00 | 显示全部楼层

Re:怎么更改Mesh的顶点格式.

既然你有了数据,自然也就能传到SHADER里了。

21

主题

41

帖子

47

积分

注册会员

Rank: 2

积分
47
 楼主| 发表于 2008-9-19 16:04:00 | 显示全部楼层

Re:怎么更改Mesh的顶点格式.

嗯,太谢谢您了!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 07:40

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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