【问题标题】:Compensate screen rotation by modifying GL_PROJECTION in OpenGL通过修改 OpenGL 中的 GL_PROJECTION 来补偿屏幕旋转
【发布时间】:2012-10-02 17:41:54
【问题描述】:

是否可以在 OpenGL 中设置 GL_PROJECTION 来补偿屏幕旋转?

我认为这有很多应用,例如在增强现实或立体视图中。

特别是,我想在移动设备倾斜时“假”改变视角。

这个效果如图

【问题讨论】:

    标签: ios opengl-es augmented-reality projection-matrix stereoscopy


    【解决方案1】:

    实际上,您的特定情况需要调整投影和模型视图。模型视图负责设置原点。通过有角度的视角,有利位置发生了变化。然而,镜头也会发生移位(从字面上看,它就像真实相机上的移位镜头),这需要移位项。

    现在你的草图有点不清楚实际需要什么。我可以清楚地说,它不是旋转的,而是移动的。建议:下载Blender,搭建一个简单的场景,修改相机对象的“Shift”参数;如您所见,您必须同时应用镜头移位和相机移位。

    但一般来说:是的,在某些情况下需要调整投影矩阵。

    【讨论】:

    • 好的,你说的就是要走的路。事实上,在我的情况下,透视图可以保持不变,并且可以通过相应地移动模型视图来实现效果,所以我需要使用设备倾斜角度生成一个“倾斜”矩阵
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多