这篇文章是对"a first person engine in 265 lines"[1]的一个Direct2D版的移植.看到这篇文章我立刻就想到了QUAKE,当然QUAKE使用了比这个更高效的技术.但是这个技术无疑更简单,更娱乐,同时也算是一种RayCast原理的使用.于是就想到用Direct2D做一个看看.
由于对Html5不熟,同时参考了Fredrik Wallgren[2].
同时也参考了MS提供的Direct2D事例[3].
代码托管:https://d2dfpsenginedemo.codeplex.com/
基本原理原文已经很好的阐释,具体细节还是直接看代码才能看的明白。
(a)完整的一帧
(b1)逐帧更新过程中的一帧
(b2)逐帧更新过程中的一帧
(c)根据横向分辨率一列一列的绘制
[1]A first-person engine in 265 lines, Hunter Loftis.
[2]Java Port, Fredrik Wallgren.
[3]Direct2D, Microsoft.