Luna's blog 月亮月亮酱

渲染管线流程

2019-06-29

渲染管线的功能:给定虚拟相机、三维物体、光源、照明模式、纹理等条件下绘制一幅二维图像

顶点变换

  • 本地坐标系->世界坐标系

将每个物体模型的位置从以自己为中心的坐标系,摆放到整体游戏世界的具体某一位置中去,按照一定规则,改变物体的顶点位置

  • 世界坐标系->观察坐标系

将每个物体模型的位置以世界为参考系,转换到以观察者为参考系(摄像机)

  • 观察坐标系->投影坐标系

从观察者所在的坐标系中转换到观察者投影平面上,裁剪不需要渲染的部分

面处理

  • 面的组装
  • 面截取
  • 面剔除

光栅化

将以向量为基本结构的面转换为一个个像素点

像素处理

对每个像素区进行着色,贴图
输入:像素的位置,深度,贴图坐标,法线,切线,颜色等
输出:每个像素的颜色,透明度

OpenGL使用着色器流程

  1. 创建着色器对象
  2. 源码关联到着色器对象
  3. 翻译着色器对象
  4. 创建程序对象
  5. 将着色器关联到程序对象

Similar Posts

Content