游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5137|回复: 9

请问DX的各个坐标系的判定与OpenGL有什么异同?

[复制链接]

45

主题

181

帖子

181

积分

注册会员

Rank: 2

积分
181
发表于 2005-5-18 21:25:00 | 显示全部楼层 |阅读模式
如题..
我感觉它的世界坐标系是左手系的

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2005-5-18 23:00:00 | 显示全部楼层

Re:请问DX的各个坐标系的判定与OpenGL有什么异同?

哦?
你怎么感觉的?呵呵
虽然有不同,但是你可以当它没有

140

主题

1228

帖子

1233

积分

金牌会员

Rank: 6Rank: 6

积分
1233
QQ
发表于 2005-5-19 00:35:00 | 显示全部楼层

Re:请问DX的各个坐标系的判定与OpenGL有什么异同?

左右手系好像和 dx没关系,你想用哪个系就哪个系,我们前些天刚吧引擎的坐标系调整过。

OPENGL就是投影空间坐标系和dx不同。
opengl好像是左上(0,0)右下(1,1)
dx是左下(-1,-1),右上(1,1)

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2005-5-19 02:05:00 | 显示全部楼层

Re:请问DX的各个坐标系的判定与OpenGL有什么异同?

我汗,什么叫 “ 投影空间坐标系 ”

45

主题

181

帖子

181

积分

注册会员

Rank: 2

积分
181
 楼主| 发表于 2005-5-19 12:27:00 | 显示全部楼层

Re: Re:请问DX的各个坐标系的判定与OpenGL有什么异同?

lights: Re:请问DX的各个坐标系的判定与OpenGL有什么异同?

左右手系好像和 dx没关系,你想用哪个系就哪个系,我们前些天刚吧引擎的坐标系调整过。

OPENGL就是投影空...

我觉得你好像说反了吧

2

主题

85

帖子

85

积分

注册会员

Rank: 2

积分
85
发表于 2005-5-19 13:56:00 | 显示全部楼层

Re:请问DX的各个坐标系的判定与OpenGL有什么异同?

opengl右手系,列向量,
d3d左手系,行向量,裁减 z: 0~w, x,y: -1~+1. opengl不记得了,太久没用了.

写些简单的应用基本上不会发现两者的差别,顶多是一个方向上的东西颠倒了。但是一旦接触可编程管线,或者自己要插手矩阵等细节问题的话,不弄清这个东西就要出大篓子,你可能什么都看不见了。

45

主题

181

帖子

181

积分

注册会员

Rank: 2

积分
181
 楼主| 发表于 2005-5-19 15:03:00 | 显示全部楼层

Re:请问DX的各个坐标系的判定与OpenGL有什么异同?

什么是行向量、列向量?

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2005-5-19 15:36:00 | 显示全部楼层

Re:请问DX的各个坐标系的判定与OpenGL有什么异同?

坐标是行向量还是列向量
篡改矩阵不受坐标系影响的

2

主题

85

帖子

85

积分

注册会员

Rank: 2

积分
85
发表于 2005-5-19 16:19:00 | 显示全部楼层

Re:请问DX的各个坐标系的判定与OpenGL有什么异同?

列向量就是矩阵乘向量,行向量就是向量乘矩阵。这还会影响到矩阵的结合顺序。以及在shader中采用何种指令来完成向量转换的问题

采用不同的向量方式,矩阵的内容组织也稍有不同(Transformed)。

右手系和左手系主要涉及到WorldToView的第三列(对于OpenGL是第三行), 以及ViewToProject的3行4列. 至于剪裁矩阵的不同(投影空间坐标系), 主要影响ViewToProjection矩阵的第三列的三,四行.

17

主题

454

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2005-5-19 22:23:00 | 显示全部楼层

Re:请问DX的各个坐标系的判定与OpenGL有什么异同?

Matrix在存储上,DX和GL完全一样.只是GL习惯按照列向量来描述.
唯一的区别就是左手系和右手系的区别.

还有在shader里,GL是严格按照列向量,就是 M x V的方式来计算的。如果你想计算 M转置后再和V像乘,你就可以选择VxM(比如变换Normal).  HLSL里似乎是反一下的(没严整过,自己开个RM看一下就可以了).

左手系和右手系的区别你自己看看D3DX的函数就明白了。基本上有区别的函数都有RH/LH两个版本的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-25 16:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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