二维渲染流程

物体的摆放问题:

即将物体从本地坐标系转换到世界坐标系需要使用世界变化矩阵(物体自身的旋转缩放平移或组合矩阵)

物体的观察问题:

从什么地方观察? 观察范围有多大? 需要使用投影变换矩阵

    1: 需要将物体移动相观察位置的平移量(-观察x, -观察y) => 平移矩阵
    2: 为了后面物体绘制时候方便处理需要将投影坐标系下面的物体缩放发哦我们知道的比例, 一般采用(-1, -1)(+1, +1)这个范围
    3: 最后决定哪一些物体在我们的投影范围内, 不在范围内的不绘制(投影裁剪)

物体的绘制问题:

将投影的图像花在什么地方, 以区域的左上角为(vx, vy), 区域的宽度为(vw, wh)

    1: 将投影图像缩放到绘制区域(视口区域)Scale(vw/2.0f, vh/2.0f)
    2: 将缩放后的图像平移到绘制位置 Translate(cx + vw / 2, vy + vh / 2)

过程如下:

    本地坐标系(模型)
            ||
            || <== 世界变化矩阵 [自身变化祝贺矩阵]
            ||
    世界坐标系(物体)
            ||
            || <== 投影变换矩阵 [平移, 缩放, 裁剪]
            ||
    投影坐标系
            ||
            || <== 视口变化矩阵 [缩放, 平移]
            ||
    视口坐标系
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容