游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1889|回复: 1

从d3d7进入d3d8的学习中的一点疑问,请高手讲解:谢了

[复制链接]

5

主题

21

帖子

21

积分

注册会员

Rank: 2

积分
21
发表于 2004-4-6 20:23:00 | 显示全部楼层 |阅读模式
以前在d3d7,也就是directx7.0 sdk中,有一个叫Frame的接口被称为“帧”。我理解的就是坐标系。
先要创建一个主场景帧,也就是确定了世界坐标。它的下面可以创建一系列的子坐标系(也就是:子坐标系是相对父坐标系来移动,而且不会影响父坐标系,而父坐标系移动就会带着子坐标系)。
然后在帧中包含三维物体。由此基础下可以创建动画key。另外如:摄像机,视口,也都可以由“帧”来充当。
可是本人开始d3d8的学习后,发现这个接口已经没有了。很多相关书籍上也没有关于它的说明。好像在d3d8中,有一个叫Matrix(矩阵)的接口有些相似。不过却无法像frame那样设置父坐标系啊。一头雾水。。。。。。。。。。
我看了d3d8的help,只有什么MatrixIdentity(单位矩阵),MatrixAffineTransformation(好像叫什么仿射矩阵)。。。。。。。
另外我找到一个叫MatrixStack的,(矩阵堆)。不知是不是相关有用。

呵呵。请高手给讲解一下。我想如果这个问题不搞明白,我也只能做点一个模型的小玩意了。。。
先谢过各位高手。

5

主题

21

帖子

21

积分

注册会员

Rank: 2

积分
21
 楼主| 发表于 2004-4-7 22:03:00 | 显示全部楼层

Re:从d3d7进入d3d8的学习中的一点疑问,请高手讲解:谢了

哦,呵呵。谢谢楼上的高手。要是在程序员大本营的专家论谈就马上给分了。呵呵。

不过我还是想问。
如我看到一个例程,只有一个三维网格。当要移动它时,作者说:不要来回的lock顶点缓冲,这样太费资源和时间。所以要移动世界矩阵来实现。先声明一个矩阵来存放需要的变化,然后用d3d8.SetTransform(D3DTS_WORLD,&前面的矩阵)把存在矩阵中的变化设置给世界矩阵(也就是世界坐标系)。这有点像我前面说的d3d7.0 sdk中的Frame。可是我有二个三维物体,只动其中一个。我该怎么办呢?按他的办法会二个一快被我移动的。。。。。
想不通,8.0怎么会把前版本中这么好用的一个接口给省掉呢?我猜可能是把它的功能并到其它接口中了。
另外,7.0中的IDirect3DRMAnimationSet接口那里去了?我想导入用3d max作好的现成风格动画怎么办?

哎!都是高科技啊。。。。。。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-16 12:51

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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