模型变换,视角变换,透视变换等顶点坐标变换,以及相关的交互代码

不管是何种坐标变换,最终都落实到顶点上,顶点被传入shader,因此在shader中变换它。

模型变换

  • 模型变换,就是对顶点的变换,无论此顶点在 [世界空间坐标系],还是[OpenGL标准坐标系]
  • 将顶点与之前提到的坐标左乘即可:
    • gl_Position = modelTransMatrix * vec4(originPos,1.0);
    • modelTransMatrix = TX(4,4) * SX(4,4) * ZX(4,4)
      • 最终:gl_Position = TX(4,4) * SX(4,4) * ZX(4,4) * vec4(originPos,1.0);

视角变换

  • 视角变换涉及 Camera :
    • Camera所摄制的内容就是屏幕显示的内容。
    • Camera的中心  [位置Pos]  就是  [屏幕中心 | OpenGL标准坐标系原点]。
    • Camera  与  世界空间坐标系 分离后
    • Camera的朝向,是一个三维方向向量。
    • Camera的 三个偏航角为: 
      • 垂直于  世界坐标系Y轴左右摆动:YAW
      • 垂直于  世界坐标系X轴
  • 创建Camera就是将  屏幕中心[OpenGL标准坐标系]  封装起来

  

上一篇:Cinemachine插件学习笔记


下一篇:adb shell input keyevent code详解