作业三:手撸着色器渲染小奶牛
内容:
- 插值算法,实现法向量、颜色、纹理颜色的插值。
- 实现投影矩阵
- 实现 Blinn-Phong 模型计算 Fragment Color
- 实现纹理映射
- 实现凹凸映射(TBN矩阵)
- 实现位移片元着色器
努力载入中...
内容:
作業框架「上下顛倒」的解決辦法
GAMES101 Assignment2題解概要:
本文將詳細講解代碼所有細節。
下面是一些常见的插值方法:
这里介绍线性插值(Linear Interpolation)和 重心坐标插值(Barycentric Interpolation) 。
简单地说就是,给定一个三角形ABC和任意一个点 $(x,y)$ ,这个点的坐标都可以用点ABC线性表示。且重心坐标的性质是:他们的系数之和为1。也就是说$(x, y)= a A + b B + c C, a+b+c=1$
至于这三个系数怎么求有点复杂,最容易理解的方法是用面积法。
但是有个结论很简洁,也是上面算法用到的:如果点在三角形内部,则三个系数属于(0,1)之间;如果点在三角形边上,则至少一个系数等于0或1;如果点在三角形外面,则至少有一个系数大于1或小于0。
本章內容: