OpenGL:如何实现相机后视图

Posted

技术标签:

【中文标题】OpenGL:如何实现相机后视图【英文标题】:OpenGL: How to implement Camera Rear View 【发布时间】:2021-01-15 13:41:36 【问题描述】:

我正在用 OpenGL 实现一个相机类。但是我遇到了一个问题。不知道如何通过改变eye、target、up for LookAt的值来正确实现后视。 你能帮帮我吗?

【问题讨论】:

简单地反转方向向量? 我想说这取决于“后视图”的含义。如果它是一个“镜子”,那么仅仅否定方向向量是不够的。 【参考方案1】:

在要反转的所有轴上将方向向量乘以另一个向量,并带有 -1。

glm::vec3 negative(-1.f, -1.f, -1.f);
direction = direction * negative;

【讨论】:

但是 glm::LookAt() 函数只接受眼睛、目标、向上。我怎么能这样。 (抱歉,我是 OpenGL 新手)。 我也是新手,但是在查看功能中,眼睛应该等于方向(来自我的示例)加上相机位置。

以上是关于OpenGL:如何实现相机后视图的主要内容,如果未能解决你的问题,请参考以下文章

如何将 OpenGL 对象添加到 SurfaceView 相机中?

OpenGL如何向上移动相机然后回到网格上

Android官方开发文档Training系列课程中文版:OpenGL绘图之应用投影与相机视图

如何使用带有 OpenGL ES 的 android 相机工作?

openGL - 我希望相机更接近物体,如何?

OpenGL的视图变换与OSG漫游器