一般一秒30-60帧, 也就是程序每帧耗时需要在33ms以下
传统的游戏循环: 输入(控制器), 更新世界和逻辑, 输出(画面)
多线程游戏循环: 最简单的方法是让线程做自己的事情, 例如一个线程负责图形以外的计算..., 最简单的优化方法是限制物理模拟部分的帧率来使得数值积分过程尽量稳定
遇到某帧绘制时间过长时, 程序可以选择丢弃过长的帧(跳帧)或者就正常表现(卡帧), 这方面的权衡应该视需求而定
游戏编程中的对象..., 进一步加大了延迟但是对特殊帧率的容忍性也更高了
2D精灵的绘制与动画
精灵: 使用图片的一个方块绘制的2D图像游戏对象....大多数3D图形库都是以行向量表示的, OpenGL使用列向量表示....屏幕坐标系: 将投影后的坐标系(-1, 1)进一步移动和缩放到对应屏幕像素分辨率的坐标系上, 供给像素着色器的处理
投影变换
正交投影: 最简单的投影矩阵, 由右侧的平移部分和左侧的缩放部分组成, 注意这里是基于列向量的