..
光线投影的一些计算
光线求交
首先实现了不同几何类与光线的求交点算法
使用光线的参数表示
注意距离
交点处法向量应与光线方向
平面
隐式表示平面为
则点到平面距离为
验算是否满足
其中平面法向量即为
三角形
用顶点表示三角形为
设光线与三角形平面交点
令
则有
验算是否满足
其中三角形法向量为
球体
用隐式方程表示球体为
由光源指向球心的向量
从而可以通过
球心到光线所在直线的投影点
验算是否光源在球体内部或
球心到光线所在直线的距离
验算是否满足
投影点到光线与球面的距离
如果光源在球体外部则
如果在内部则
其中球体交点处法向量为
相机模型
透视相机
为了计算图片空间射线,使用相机空间变换
空间缩放系数
相机空间下射线
其中
坐标变换得到
其中过渡矩阵
模型着色
Phong 模型
使用 Phong 模型计算局部光强
其中
反射光线方向
图片处理
从文件中读取配置文件,循环像素点分别计算相机出射光线是否和场景有交点:找到最近交点后叠加来自所有光源的光强影响并累加局部光强,若不存在交点则返回背景色。