着色

现实生活中所有东西和光接触后产生的结果,不能都用光线传输来模拟,其难负重任,这时着色器粉墨登场。 要显示一个物体需要计算对象表面的每一个点的颜色和亮度。两者有着很紧密的关系。物体的亮度是指有多少光落在物体表面,物体颜色的亮度和色调、饱和度有关。如果两个颜色相同的物体在同样光线条件下,一个比另一个看起来暗,那么很显然,这不是哪个物理表面光线落的多少的问题,而是哪 »

光传输

光传输既不简单也不复杂,反而常常被误解。 在一个经典场景中,光在到达眼睛之前会在物体表面弹来弹去。正如前一章节所说,光反射的方向取决于材质类型(是否是漫反射,还是镜面反射,或者其它)。因此,光的路径是由光在到达眼睛的这条路上,和光线不断交互的材质所决定的。 想象从光源射出一束光线,经过漫反射表面之后,经过镜子,再经过漫反射表面,最后到达眼睛。用L表示光,D表示 »

光线模拟器

原文出处 上一章节我们最终提到光线追踪在模拟着色和灯光效果(例如反射、柔和阴影等)上比栅格化更好。没有这些效果,会使图像缺乏真实感。在深入此话题前,先来看看一些真实世界中的图像,以便更好的理解这些效果。 反射 当光线和一个完美的镜面所接触时,所得到的反射光角度是可预知的。可以通过反射法则计算出新的方向。该法则类似从墙面弹回的网球,一条光线在接触到表面后会改变方 »

可见性问题

原文出处 在前一章节里,我们已经解释了什么事可见性问题。为了创建一个逼真的图像,我们需要从给定的观察点来决定一个对象的哪些部分是可见的。问题就是当我们按例去投影一个盒子的所有顶点,并且连接所有投影点绘制成盒子边,则盒子的所有面都是可见的。不管怎么说,真实情况下只有盒子的正面是可见的,其他面应该看不到。 在图形学中,解决可见性问题主要有两个方法:光线追踪和栅格化 »