浏览器里用手工打造的3D射线渲染引擎,三维效果靠的是以Canvas2D为基础,Wolfenstein 3D使用的相同技术。
屏幕每一列像素都发送一束射线。当射线打中墙壁时,向相机平面回算距离。较近的墙壁会更高,较远的墙壁会短些。无需深度缓存、多边形或GPU支持。
渲染器使用DDA(数字差分分析)算法,对2D网格进行有效的步数,并采用与垂直距离投影以避免鱼眼扭曲效果。
可以用弹跳子弹在墙壁上打孔,绘制所有内容以进入下一级。
你可以在此尝试:
浏览器里用手工打造的3D射线渲染引擎,三维效果靠的是以Canvas2D为基础,Wolfenstein 3D使用的相同技术。
屏幕每一列像素都发送一束射线。当射线打中墙壁时,向相机平面回算距离。较近的墙壁会更高,较远的墙壁会短些。无需深度缓存、多边形或GPU支持。
渲染器使用DDA(数字差分分析)算法,对2D网格进行有效的步数,并采用与垂直距离投影以避免鱼眼扭曲效果。
可以用弹跳子弹在墙壁上打孔,绘制所有内容以进入下一级。
你可以在此尝试:
评论 (0)