raycasting(光线投射)
raycasting
一种古老的渲染技术,通过从摄像机发射光线并测量光线碰到物体的距离来绘制3D画面
简单来说
光线投射的做法是,从摄像机所在的位置向四周发射一条条细细的光线,测量每条光线最先碰到的墙壁或物体的距离,再据此画出画面。可以想象在黑暗的房间里晃动手电筒:光照到的地方如果距离近,看起来又大又亮;距离远,就显得又小又模糊。光线投射就是把这个原理直接搬到计算当中。把每条光线算出的距离信息拼接起来,即便是平面屏幕,也能呈现出立体空间的效果。
在显卡的3D处理能力还远不如现在强大的年代,早期3D游戏就常用这种技术。不需要制作大量实际的立体模型,只靠在平面地图上做光线计算,就能营造出以假乱真的3D空间。最近,这种古老的计算方式又被重新拿出来,用在一些实验性项目中——不追求精细画面,而是用文字或符号来呈现结果。
在报道中是这样出现的
文章中提到,没有用到游戏引擎,也没有3D模型,仅凭'光线投射'就搭建出了一座可以行走的ASCII城市。容易混淆的一点:光线投射并不是AI技术,而是几十年前就已经存在的图形计算方式。
