GAME101图形学笔记-Shading

526 阅读1分钟

着色公式

漫反射(Diffuse)

image.png image.png

高光(Specular)

image.png

image.png

h为半程向量,比较半程向量和法线的相似度,因为半程向量更容易计算。观察方向和光的反射方向越接近,高光的程度越大。

p的作用为降低高光范围的容忍度,改变cosA的函数范围。

image.png

Ambient(环境光)

image.png

Blinn-Phong Reflection Model着色模型

image.png

着色频率

着色方法有3种,他们的区别在于对于频率的不同。

Flat Shading(逐三角形)

将模型看做是一个个平整的三角形,然后对整个三角形进行单一颜色着色,参考一个法线

image.png

对平滑的表面缺少了细节

Gouraud shading(逐顶点)

分别两两对每一个三角形的边进行求顶点法线,然后对三个顶点进行着色,然后通过插值的算法得出整个三角形内部的颜色。

Phong Shading(逐像素)

对每个像素顶点进行着色,每个像素顶点求法线然后进行着色。

顶点法线的计算方法

计算一个顶点周围

image.png

image.png

Graphics(Real-time-rendering-pipline)实时渲染管线

image.png

根据不同的着色方法,包括在UE和Unity中的自定义可定制化的着色器就是根据自己编写的Shader判断Vertex

Surface in 2D

image.png

纹理坐标展开映射到UV直角坐标系,UV的范围在0-1

image.png