游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2676|回复: 4

关于D3D中导入.X模型后的相关问题

[复制链接]

5

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2010-8-16 15:49:00 | 显示全部楼层 |阅读模式
小弟最近导入一个.X模型,发现模型默认面向存在问题,希望进行旋转,缺发现书上并没有相关内容(.X模型仅有一个导入,没有涉及旋转和缩放(D3D龙书))

跪求各位大大解惑

PS:
主要是没有发现模型的位置矩阵(导入时并没有&矩阵变量)

1

主题

10

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2010-8-16 16:55:00 | 显示全部楼层

Re:关于D3D中导入.X模型后的相关问题

自己给模型定义一个矩阵。

//创建单位矩阵
D3DXMatrixIdentity(&matWorld);

然后渲染模型的时候。

//设置模型世界矩阵
  pd3dDevice->SetTransform(D3DTS_WORLD,&matWorld);
//渲染模型
  pd3dDevice->SetMaterial( &g_pMeshMaterials );
  pd3dDevice->SetTexture( 0, g_pMeshTextures);
  g_pMesh->DrawSubset( i );

想改变位置就在渲染之前改变矩阵就可以了

6

主题

72

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2010-8-16 17:53:00 | 显示全部楼层

Re:关于D3D中导入.X模型后的相关问题

LZ的意思到底是模型面向错了还是需要将模型整体旋转?
如果是面向错了,那就是模型在建模时存在问题了,你不可能一个面一个面去转过来吧?
如果是要整体旋转,自己定义一个矩阵就可以了。

5

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
 楼主| 发表于 2010-8-17 11:36:00 | 显示全部楼层

Re: Re:关于D3D中导入.X模型后的相关问题

byz19890715: Re:关于D3D中导入.X模型后的相关问题

自己给模型定义一个矩阵。

//创建单位矩阵
D3DXMatrixIdentity(&matWorld);

然后渲染模型的时候...


得教了,马上尝试

的确可以旋转了

但还有部分问题,我希望的时候模型自身围绕某一点旋转,而不是整个世界矩阵都在旋转

PS:
我导入的是.X文件,并非微软自带的那些MESH,求教如何获取矩阵?

1

主题

10

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2010-8-17 12:37:00 | 显示全部楼层

Re:关于D3D中导入.X模型后的相关问题

//设置矩阵
  pd3dDevice->SetTransform(D3DTS_WORLD,&matWorld);
//渲染A
//渲染B
//渲染C

//设置矩阵
  pd3dDevice->SetTransform(D3DTS_WORLD,&matWorld2);
//渲染D
//渲染E
//渲染F
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-7 19:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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