然后按照设置好的索引位置和区域大小来从表单中读取所需的图像, 这样能消除图像切换的消耗
下图左边是分离的图像, 右图是整合后的精灵表单:
常见的2D游戏
单轴滚屏: 游戏世界只按照x轴或y轴滚动,...注意运算最后的齐次坐标的w分量应该总保持为0或1
w为0的向量表示3D方向, w为1的向量表示3D的点
四种最基本的三维变换:
缩放: 只在需要缩放的轴对应的对角线上设置倍率, 其他位置保持0....同样按照坐标系基底变换的思路理解: 对物体的旋转相当于进行将原本的单位坐标系改为旋转后的坐标系, 因此我们只要手推xyz坐标轴旋转后的新坐标并以列向量的方式排列即可
注意这里的y轴的旋转角度发生了反向...屏幕坐标系: 将投影后的坐标系(-1, 1)进一步移动和缩放到对应屏幕像素分辨率的坐标系上, 供给像素着色器的处理
投影变换
正交投影: 最简单的投影矩阵, 由右侧的平移部分和左侧的缩放部分组成, 注意这里是基于列向量的...其中q_v中的a是旋转轴, theta是旋转角
四元数在使用前要记得将向量分量q_v归一化后才能正常使用, 否则旋转会表现出奇怪的缩放效果
四元数也可连续使用, 但需要以下式进行相乘, 且顺序相反,