美文网首页
OpenGL学习记录(二)

OpenGL学习记录(二)

作者: 叔简 | 来源:发表于2020-02-28 16:28 被阅读0次

    一、OpenGL中的坐标系

    1. 2D笛卡尔坐标系(X轴,Y轴),平面图形,视口(显示窗口区域系数)

    2. 3D笛卡尔坐标系(X轴,Y轴,Z轴),立体图形

    3. OpenGL的投影方式有:
    透视投影:用来渲染立体图形,有远小近大的效果。具有更加逼真的效果
    正投影:只能用来设置平面图形

    4.坐标系的分类:

    ① 惯性坐标系:没有什么参考价值,只要用来平移到世界坐标系

    ② 世界坐标系:大环境中的位置,系统的绝对坐标

    ③ 物体空间坐标系(局部空间):局部空间中的位置

    ④ 摄像机坐标系:观察空间(观察者)

    5.坐标系之间的变换

    ① 物体坐标系,模型变换

    ② 转换到世界坐标系,视变换

    ③ 转换到观察者坐标系/摄像机坐标系,投影变换

    ④ 转换到裁剪坐标系,透视除法

    ⑤ 转换到规范化设备坐标,视口变换

    ⑥ 转换到屏幕坐标

    注:① - ④ 是可以由开发者自定义完成的,⑤ - ⑥是有系统OpenGL来完成的

    二、着色器的渲染流程

    1.顶点数据

    2.顶点着色器:接收顶点数据,单独处理每个顶点

    3.细分着色器:
      ① 可选:描述物体形状,在管线中生成新的饿几何平面模型,生成最终形态
      ② 组分控制着色器/细分计算着色器:对所有的图形进行修改几何图元类型或者放弃所有图像

    4.几何着色器

    5.图元设置

    6.剪切:剪切窗口之外的绘制

    7.光栅化:输入图元的数学描述,转化为与屏幕对应位置像素片元,简称光栅化

    8.片元着色器:片元着色器以及深度值,然后传递到片元测试和混合模块

    9.效果

    三、补充几个知识点

    1.图片的渲染流程:
      ① GPU解码图片
      ② GPU纹理混合、顶点计算、像素点填充计算、渲染到帧缓冲区
      ③ 时钟信号:垂直同步、水平同步
      ④ iOS设备双缓冲机制:显示系统通常会引入两个帧缓冲区,双缓冲机制

    2.MVP矩阵:
      ① model:物体的一些变化
      ② view:观察
      ③ projection:3D矩阵

    3.强制解压缩:对图片进行重新绘制,得到一张新的压缩后的位图,其中用到的最核心的函数是:GCBitmapContextCreate

    相关文章

      网友评论

          本文标题:OpenGL学习记录(二)

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