到目前为止,最简单的光线追踪器就构建完成了,在开始进一步完善之前,我们先随机向场景中加入许多不同材质不同属性的球体,渲染第一张“完整的”光线追踪图片。
有了基本工具类,现在我们可以回顾图形学中的知识,从最简单的渲染一个球体开始,逐渐熟悉光线追踪的实现。
排序是最基础的算法,也是应用最广泛的算法。对排序算法的掌握程度很能体现算法与数据结构的基本功,所以也是面试中最常问到的算法。这一节对十大常见排序算法做一个全面总结。十大排序算法可以按照时间复杂度分为三类:
可以通过排序数组题目实践这些算法。在最后,学习 C++ STL 的排序算法 sort()
的具体实现。
很多时候,向规则的事物里添加一些“杂乱无章”的效果往往会有意想不到的效果。而这些“杂乱无章”的效果来源就是噪声。在本节中,我们将会学习如何使用噪声来模拟火焰消融、波光粼粼、云雾飘渺等各种特效。