游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3719|回复: 10

请问GL到D3D改怎样变?

[复制链接]

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2005-7-3 19:24:00 | 显示全部楼层 |阅读模式
近来要把一个右手坐标系的GL程序改为左手坐标系的D3D,不知道矩阵、向量和四元数这三个改怎样变才能转换到D3D? [em24]

13

主题

978

帖子

978

积分

高级会员

Rank: 4

积分
978
发表于 2005-7-3 22:35:00 | 显示全部楼层

Re:请问GL到D3D改怎样变?

似乎直接转制矩阵就行了。
记号似乎是个T
向量的话把z分量*-1
四元数转成矩阵后在转制

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
 楼主| 发表于 2005-7-4 10:03:00 | 显示全部楼层

Re:请问GL到D3D改怎样变?

矩阵怎样转制呢?
听说矩阵一样要把第三烈和行*-1,是吗?
又听说DX矩阵乘法与GL矩阵乘法不同,具体矩阵怎样变?

33

主题

118

帖子

173

积分

注册会员

Rank: 2

积分
173
发表于 2005-7-4 16:42:00 | 显示全部楼层

Re:请问GL到D3D改怎样变?

需要注意的是矩阵部分,一个是行占优,一个是列占优,因此要注意结合的方向,也就是左乘还是右乘的问题,还有坐标系的话直接将Z轴取反即可,如果不想对程序修改太多的话,可以在world和camera坐标系中使用OGL的,在进行投影变换时使用D3D提供的右手坐标系投影变换函数,就是那个最后带R的那个投影变换函数。

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
 楼主| 发表于 2005-7-5 22:52:00 | 显示全部楼层

Re:请问GL到D3D改怎样变?

你所说要注意左乘右乘岂不是要用算法乘吧?我只用D3D的函数,GL的矩阵就要以对角线交换吗?

15

主题

248

帖子

248

积分

中级会员

Rank: 3Rank: 3

积分
248
发表于 2005-7-9 20:40:00 | 显示全部楼层

Re: 请问GL到D3D改怎样变?

应该是这样没错的,语句的话应该是:
MartixC = MartixA * MartixB;
' * '(乘法)运算符已经被重载过了,直接用就可以了,还有注意左乘和右乘。
sf_20057920402.jpg

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
 楼主| 发表于 2005-7-9 23:43:00 | 显示全部楼层

Re:请问GL到D3D改怎样变?

很好,谢谢,我试试 : )

15

主题

248

帖子

248

积分

中级会员

Rank: 3Rank: 3

积分
248
发表于 2005-7-10 03:49:00 | 显示全部楼层

Re: 请问GL到D3D改怎样变?

前辈要是有成果了
或者还有问题的话
记得PM我哦,我最近一直都在!

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2005-7-10 19:17:00 | 显示全部楼层

Re:请问GL到D3D改怎样变?

矩阵、向量,我想完全不用改

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
 楼主| 发表于 2005-7-10 19:25:00 | 显示全部楼层

Re:请问GL到D3D改怎样变?

我是用左手的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-26 08:29

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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