OpenGL的矩阵运算是与DirectX相反的

这两天在用OpenGL做项目,但是在做矩阵操作的时候出了问题,按照数学上想当然的方法进行矩阵操作居然得不到想要的结果。后来一查,DirectX用的是行矩阵,OpenGL用的是列矩阵。应该是这个影响到矩阵的执行顺序了,因为我发现在OpenGL里先写的矩阵运算居然是后执行的,例如执行:

glTranslated(0.5, 0, 0);//平移
glScaled(2.8, 1, 1);	//缩放
glRotated(90, 0, 0, 1);	//旋转

那么你得到的结果其实是先旋转,再缩放,再平移。

如果是在DirectX里的话,得到的结果就是平移、缩放、旋转。

看来OpenGL的矩阵变换有点坑啊。

之前做过一个定点缩放的算法,发现平移顺序不对头,感情原来是这样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值