2基本光线跟踪算法ERIC HAINES1简介任何光线跟踪程序包的核心都是光线相交过程设置。不论何种光照模型,纹理映射,空间细分技术,反走样方案,还是其它光线跟踪算法技巧,都需要找到物体与光线的交点。一旦光线进入模拟环境,很少有各种关于光线的问题。所有需要的信息依赖于光线的目的。当一个光线从眼睛发出,对象交点必须返回最近交点和表面法向量。当光射向光源,需要知道是否交点比光源更近,如果是,则遮挡或者过滤光源。根据遮挡模式,滤波可能需要进一步的信息。对于包围盒测试,有时只需要一个简单的碰撞与否的判断。然而,更高效的光线跟踪器还将利用光线的距离。光线跟踪中另一类有用的信息就是与表面参考坐标系相关的焦点位置。这类位置信息一般用于纹理映射,以找到相应点的表面属性。7中有关于纹理映射的较好综述。想要编写光线跟踪程序,光线/对象(相交)算法通常需要手工编写。由于过程的教育性,许多程序员并不介意。另外,随着针对不良算法的优秀数学成果也使得算法效率不断进化。本文概述基本算法,用于执行各种光线相交测试和重要数据检索。除了抽象的方程式,还通过其后的例程展示细节。主旨在于提