着色

定义

给对象应用某种材质的过程。

着色点(shading point)

对于着色点,规定以下内容:

  • 着色点所在的面是个平面(很小)
  • 观测方向为
  • 平面法线(Surface normal)为
  • 光照方向
  • 物体表面参数(颜色,材质反光程度shininess等等)

着色点是局部的,只考虑自己,不考虑其他物体的存在(不考虑阴影,shadingshadow是两回事)。

阅读全文 »

三角形图元(Triangle Primitive)

三角形是最基础的多边形,且任何多边形都能拆解为三角形。除此之外,还有优点如下:

  • 三角形内一定是平面
  • 三角形内部外部定义清晰
  • 定义三个顶点后,可以在三角形内做“渐变”(插值)。

经过MVP变换和视口变换,我们已经得到屏幕上三角形的顶点坐标了,接下来该怎么变成对应的像素三角形?

阅读全文 »

MVP变换

MVP变换就是将三维物体变换到二维中,就像拍照片一样:

  1. 模型变换(Model Transformation):模型空间 -> 世界空间,即摆好模型,搭好场景。
  2. 视图变换(View Transformation):世界空间 -> 相机空间,即给场景找到一个好的摄影角度。
  3. 投影变换(Projection Transformation):相机空间 -> 屏幕空间,即进行拍照,得到照片。
阅读全文 »

齐次坐标(Homogeneous Coordinate)

给点和向量的描述升一维(),以2D为例:

  • 二维中的点:
  • 二维中的向量:

这里理解一下为什么点的,向量的

在三维中处的标准二维平面,实际的二维点此时表示为。而对于那些不在平面的点,则可以通过除以,将它们投影到平面上。这样,齐次坐标就能够映射到实际的二维点

对于任何给定的二维点,在三维齐次空间中存在无限数量的对应点。这些点形成一条穿过三维齐次空间原点的直线。

时,上面的除法未定义,而向量恰好没有在空间中平移的概念(都一样),因此可以用来描述向量。

阅读全文 »
0%