Hi, nice to meet you!

简单理解光线追踪

在过去的一个周,读完了《Ray Tracing in One Weekend》并且用Rust完整地实现了文章中的效果。对于经典的光线追踪逻辑,也有了宏观上的理解。

简单来讲,假设我们要将一个场景渲染成一张1920x1080的图片。光线追踪,就是从摄相机出发,经过每一个像素,向场景中发射一条光线,这条光线会撞到场景中某一个物体上某一个点。这条光线的强度,会产生一定的衰减,然后再次被散射出去。而散射出去后,可能又会撞到另一个物体上的某个点,再次衰减,再次被散射。不断递归这个过程。

每次撞到一个点,就可以计算这个点的颜色。在整个过程中,所有撞到的点的颜色叠加,就是这个像素最终的颜色。光线上的散射,也就是递归的过程,不会是无限的,一般由我们定义递归深度,也就是散射多少次后,就停。或者没有撞到任何物体时,也会直接停止递归,返回背景或天空盒颜色。

简单理解光线追踪

图形学相关的基本数学

这一篇博客会比较长,目前还没写完,处于不断更新中…

这一节会用一些通俗的语言去解释一些数学上的概念,有一些解释可能并不是严谨,我们更多地是把焦点放在理解这些概念是什么,为后面的应用做铺垫。如果有一些点不能理解,也没关系,只要知道有这样一个东西就行,等真正用到的时候,有点印象,这样就会有解决问题的方向,再回来查相关的知识就可以。单纯记住一些知识是没有太多意义的,只有会应用了,才有意义。

图形学相关的基本数学