美文网首页
OpenGL坐标系解析

OpenGL坐标系解析

作者: 瀚_ | 来源:发表于2019-05-31 14:13 被阅读0次

    左手坐标系与右手坐标系

    • 伸出左手,大拇指指向x轴正方向,食指指向y轴的正方向,其余三个手指指向z轴的正方向,满足这样条件的坐标系属于左手坐标系。
    • 同理,伸出右手,满足大拇指指向x轴正方向,食指指向y轴正方向,其余手指指向z轴正方向的都属于右手坐标系。
    • 在3D情景中,总共会有48种坐标系,其中24种是左手坐标系,24种为右手坐标系。
    左右手坐标系.jpg

    在3D图形学中常用的坐标系

    • 世界坐标系
      • 建立了描述其他坐标系所需要的参考框架。从另一方面说,能够用世界坐标系描述其他坐标系的位置,而不能用更大的、外部坐标系来描述世界坐标系。
    • 物体坐标系
      • 和特定物体相关联的坐标系。每个物体都有他们独立的坐标系。当物体移动或改变方向时,和该物体相关的坐标系将随之移动或改变方向。
    • 摄像机坐标系
      • 摄像机坐标系是和观察者密切相关的坐标系。
      • 摄像机坐标系中,摄像机在原点,x轴向右,z轴向前(朝向屏幕内或摄像机方向),y轴向上(不是世界的上方而是摄像机本身的上方)。
    摄像机坐标系.jpg
    • 惯性坐标系
      • 为了简化世界坐标系到物体坐标系的转换而引入的一种新的坐标系。
      • 物体坐标系转换到惯性坐标系只需旋转,从惯性坐标系转换到世界坐标系只需要平移。
    世界物体惯性坐标系.jpg

    OpenGL中的物体、世界、照相机坐标系都属于右手坐标系,而规范化设备坐标系使用左手坐标系。

    OpenGL坐标变换全局图

    坐标系变换流程.png

    OpenGL顶点计算流程图

    顶点计算流程.png

    矩阵的计算流程图


    顶点矩阵计算流程.png
    • 顶点计算过程中(参考上图)模型变换、视变换,投影变换,这些变换可以由用户根据需要自行指定,这些内容在顶点着色器中完成;
    • 透视除法、视口变换,这两个步骤是OpenGL自动执行的,在顶点着色器处理后的阶段完成。

    参考文章:
    https://www.jianshu.com/p/3448f546eac4
    https://www.jianshu.com/p/ebe8907aa07b

    相关文章

      网友评论

          本文标题:OpenGL坐标系解析

          本文链接:https://www.haomeiwen.com/subject/yhwwtctx.html