OpenGL 数学库 GLM 投影矩阵公式 glm::perspective 已经抛弃角度的使用,转为使用弧度

这两天都被 glm::perspective 所困扰,图像显示出来的是倒立的,上下颠倒了。

glm::mat4 proj = glm::perspective(60.0f, 1.0f, 0.3f, 1000.0f);


今天才硬着头皮 去看了 glm::perspective 函数的实现,然后和 透视投影矩阵计算公式对比。

才发现原来传入 的 视野角度 fovy 是要 弧度!!!


例如我们要设置 60 度  的视野角度,应该使用

glm::mat4 proj = glm::perspective(glm::radians(60.0f), 1.0f, 0.3f, 1000.0f);


至于为什么直接传入角度,图像会上下颠倒。

推测是因为

Radians = (π / 180) * Degrees

所以

Degrees = (Radians * 180 ) / π


所以对于  glm::perspective

如果我们传入 3 ,就差不多有 180 度角的视野范围。

然后我们传入4 ,就超过了180度了,所以图像就会颠倒了。


所以以后注意要这样使用

glm::mat4 proj = glm::perspective(glm::radians(60.0f), 1.0f, 0.3f, 1000.0f);


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值