高光
- 物体比较光滑 反射方向是镜面反射
- 观察方向和R接近 才会看见高光


- 当观察V接近R,反应法线和半程向量接近
- 判断半程向量和法线要比直接计算R和V要好算(Blinn Phong模型是一种改进)
- n 点乘 h的大小判断是否接近

- 指数P的作用 正常P的范围为1~200,用来控制高光的大小

Blin-Phong反射模型

着色频率

Flat Shading

Gouraud Shading

- 所有顶点着色
- 插值
Pong Shading

- 每个三角形的三个顶点求法线,三角形内部每一个像素进行着色
- Blinn Phong着色模型出自一人
顶点法线

如何求顶点的法线?将相邻的三角形的法线求加权平均
逐像素法线

图形管线(实时渲染管线)

Shader

- Shader是所有像素都遵循的,不需要写for循环
- 如果写的是顶点操作为vertex shader
- 如果是像素那就为fragment shader
Texture Mapping 纹理映射
我们希望在一个物体人和网一个点定义不同的属性

任何一个三维物体的表面其实都是二维的




- 设计这种纹理是需要算法的