欢迎光临散文网 会员登陆 & 注册

阿昌学习《RayTraing in one week》 (三)

2022-10-30 18:53 作者:柯昌弟弟c  | 我要投稿

第三章

这一章加的内容一共有三个,分别是 射线Ray、摄像机camera、背景background。

首先是介绍一下这个比较关键的光线公式:

p(t) = a + t * b

(这里A就是原点位置,B就是方向矢量,注意B是单位向量,t就是步进的程度,那么A+tb就表示A到B这个方向的向量前进了多少路程,往相机里面射了多远)

光线

这样我们就得到了ray.h脚本

ray.h

接下来就需要动起脑子,发射射线了。

橙色(0,0,0)可以理解成camera,也就是人眼的位置,我们看到的就是黑框部分(书中设置为200*100,我的是200*200),摄像机会和每一个像素点 有一条射线 就是红色的那条。

其中根据右手系的规范得到摄像机的三个轴,并且我们看到的内容从左下角开始计算

原书中的图

这样我们就可以得到新的main

main.cpp

运行就可以得到一个场景图

我的是200*200


阿昌学习《RayTraing in one week》 (三)的评论 (共 条)

分享到微博请遵守国家法律