全文6.6k字, 预计需要22分钟.
1 游戏编程概述
游戏主循环
游戏循环: 整个游戏程序的核心流程控制, 不断执行直到退出
帧: 循环的一次迭代...., 最简单的优化方法是限制物理模拟部分的帧率来使得数值积分过程尽量稳定
遇到某帧绘制时间过长时, 程序可以选择丢弃过长的帧(跳帧)或者就正常表现(卡帧), 这方面的权衡应该视需求而定
游戏编程中的对象...游戏对象可以大体分为三种: 需要更新状态也需要绘制的动态对象(如人物), 需绘制但是不需要更新状态的静态对象(如场景), 需要更新状态但无须绘制的工具对象(如摄像机和触发器)
三大游戏对象的程序实现可以通过抽象出...非单位向量投影到单位向量方向上的投影长度投影长度:
\vec{a} \cdot \vec{b}
单位向量点乘为0时两个向量垂直, 为1时两个向量平行且同向, -1时平行且反向....而z分量本身则需要保持近似线性插值, 联立方程将近平面和远平面的深度投影到0-1从而求解出第三行的两个矩阵系数. 最后将这个视体进行一次正交投影映射到(1, -1)即可.