转换
在计算屏幕坐标时,需要将顶点的世界坐标转换为最终的屏幕坐标。这个转换过程涉及到视图矩阵和投影矩阵的相乘,是通过矩阵乘法的原理来实现的。
当一个顶点的世界坐标被乘以视图矩阵时,它就会被转换到观察者的视角坐标系中。视图矩阵包含了观察者的位置、朝向和上方向等信息,通过乘以视图矩阵,顶点的世界坐标会根据观察者的视角进行转换,使得观察者可以看到正确的视图。
接着,将转换后的顶点坐标乘以投影矩阵,就可以将其投影到屏幕坐标系中。投影矩阵包括了视角、纵横比、近平面和远平面的参数,通过乘以投影矩阵,转换后的顶点坐标会进行透视变换,使得远离观察者的物体看起来较小,近处的物体看起来较大,并且根据设定的近平面和远平面来裁剪不在视野范围内的物体。
最后得到的结果是屏幕坐标系中的顶点坐标,可以直接在屏幕上绘制物体或进行其他操作。这个过程中,视图矩阵和投影矩阵的相乘是为了将顶点从世界坐标系转换到最终的屏幕坐标系,保证物体的正确位置和比例,并且只显示在视野范围内的物体。
总结起来,视图矩阵和投影矩阵相乘的原理是通过矩阵乘法来将顶点从世界坐标系转换到屏幕坐标系,实现了透视效果、维持物体的正确比例和位置,并保证只显示在视野范围内的物体
读取矩阵修复
在前面的矩阵读取中是支持读取.bss:00063894数据,但是当我们暂停后数据清空了,也就是需要找到被设置数据的源头。
设置矩阵数据的函数,把鼠标放在这里按键盘x: