游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3410|回复: 6

请问为什么Ogre的平移矩阵是这样的?坐标系不同?

[复制链接]

13

主题

20

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2005-6-6 10:56:00 | 显示全部楼层 |阅读模式
请问为什么Ogre的平移矩阵是这样的?坐标系不同?
        /** Builds a translation matrix
        */
        inline void makeTrans( const Vector3& v )
        {
            m[0][0] = 1.0; m[0][1] = 0.0; m[0][2] = 0.0; m[0][3] = v.x;
            m[1][0] = 0.0; m[1][1] = 1.0; m[1][2] = 0.0; m[1][3] = v.y;
            m[2][0] = 0.0; m[2][1] = 0.0; m[2][2] = 1.0; m[2][3] = v.z;
            m[3][0] = 0.0; m[3][1] = 0.0; m[3][2] = 0.0; m[3][3] = 1.0;
        }

注:微软标准平移矩阵
平移矩阵(Translation Matrix)
[ 1, 0, 0, 0]
[ 0, 1, 0, 0]
[ 0, 0, 1, 0]
[tx, ty, tz, 1]
D3DXMatrixTranslation

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2005-6-6 12:26:00 | 显示全部楼层

Re:请问为什么Ogre的平移矩阵是这样的?坐标系不同?

标准的graphics就是ogre这样的

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-6-6 20:31:00 | 显示全部楼层

Re:请问为什么Ogre的平移矩阵是这样的?坐标系不同?

这个其实没什么标准好言的。都差不多,习惯而已咯。

43

主题

155

帖子

171

积分

注册会员

Rank: 2

积分
171
发表于 2005-6-6 21:00:00 | 显示全部楼层

Re:请问为什么Ogre的平移矩阵是这样的?坐标系不同?

ogre采用的是和opengl相同的右手坐标系。

18

主题

579

帖子

583

积分

高级会员

Rank: 4

积分
583
发表于 2005-6-7 16:47:00 | 显示全部楼层

Re:请问为什么Ogre的平移矩阵是这样的?坐标系不同?

都一样,为软的转制距阵而已

13

主题

978

帖子

978

积分

高级会员

Rank: 4

积分
978
发表于 2005-6-7 17:40:00 | 显示全部楼层

Re:请问为什么Ogre的平移矩阵是这样的?坐标系不同?

同意#4,坐标系的缘故。

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2005-6-7 23:03:00 | 显示全部楼层

Re:请问为什么Ogre的平移矩阵是这样的?坐标系不同?

当然罗,习惯成标准嘛
一般手工做变换计算的时候,都会用变换矩阵右乘坐标,大家都是这样交流的,所以自然就是ogre这样的形式罗

另外这个不象是坐标系不同的关系
我不知道direct3d是怎样输出的,但是我觉得
ogre只是单纯地要求用它的输出方式,然后把这个矩阵变换成3d redering pipeline想要的形式丢进去,不管ogl还是d3d,左手还是右手
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-25 23:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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