什么是渲染

不论是在游戏还是在建模或渲染引擎中,渲染都是至关重要的一环,通过渲染可以将模型的数据可视化的呈现出来。

渲染流程

在计算机将一个模型的数据显示在屏幕上经历了许许多多环节和过程,但大致可以分为以下几个阶段。
1. 顶点着色器阶段:
+ 顶点计算
+ 顶点颜色和灯光混合

顶点着色器阶段

在顶点着色器阶段,计算机读入模型的顶点数据,主要处理模型的顶点的位置和颜色的问题。
在这个阶段,其重点在于顶点位置的计算,在讲解这个问题之前我们先来认识一下下面几个坐标系:

坐标系

坐标系是以一个定点作为原点,以互相垂直的方式建立的用于表示位置的双轴,例如:
我们上学时,每天都要到学校去,如果以学校为原点建立坐标系,以北为y轴正向,以东为x轴正向。每个人到学校的路程都不同,这就是一个坐标系

物体坐标系(局部坐标)

物体坐标系是相对与某个物体的,是相对的位置关系。例如以每个人的家作为参考(以每个人的家为原点建立坐标系)的话,学校的位置和方向对于每个人都是不同的。

世界坐标系(全局坐标)

在上面说到,每个人对于学校的位置都是不同的,那这样就出现了一个问题,你说学校在东边,他说学校在西边,大家都是以自己的位置作为原点进行参考的,所以需要一个世界坐标系来全局的描述位置,例如我们说的经纬网。
所以说 世界坐标系就是大家都认可的以一个定点建立的坐标系,大家都认可和遵守它。

屏幕坐标系(相机坐标)

通过相机可以将生活中美好的事物记录下来,如果我们在相片的中点为原点建立坐标系,那么我们照片里的物体的位置也就可以进行表述了。与物体坐标系和世界坐标系不同的是,屏幕坐标系他是二维的,而从三维坐标转换到二维坐标这个过程就被称之为顶点计算,在下面我们会详细说到。


顶点计算

位置计算

  1. 物体坐标系->世界坐标系
    我们知道物体坐标系是相对的,不准确的,需先统一成世界坐标系
  2. 世界坐标系->相机坐标系
    我们知道在三维空间下,物体有xyz三个轴向,而二维空间只有xy两个轴向,在二维上,其z轴表现为,物体离相机的远近
    其顶点的计算可以简单的用下图表述:

颜色计算

顶点的颜色计算,包括几个部分,分别是顶点颜色+材质(反射率,折射率)+全局光照。这几个部分融合在一起,互相影响,才会使物体呈现出不同的颜色和光泽。
在unity中:

光栅化