自制简易的软光栅渲染器(3)
playerzhou
无回复
项目地址:https://github.com/OmegaZhou/SimpleRenderer
绘制三角形
- 对于一个三角形而言,根据其各顶点横纵坐标的最大最小值,即可构造出一个矩形,使得三角形位于矩形内部
- 对于构造出的矩形内部的每一个像素点而言,只需判断该像素点算法在三角形内部,若在,则向image填入相应像素颜色
- 这里我采用重心坐标(Barycentric Coordinates)来判断像素是否在三角形内部,若像素点在三角形内,则重心坐标(α,β,γ)需满足(0<=α<=1),(0<=β<=1),(0<=γ<=1),(α+β+γ==1),因此若像素点不在三角形内,重心坐标(α,β,γ)至少有一个值会小于0(大于1)
来一发吐槽