草庐IT

软光栅从零开始——MVP变换

前言在上一篇中,我们以正交投影的方式学习了如何绘制三角形,但在生活中我们眼睛看到的现象用正交投影无法解释。比如如果是正交投影,我们看到的铁道两个铁轨在视角上并不会交于一点,也就是两个铁轨的间距并不会随着离我们的位置越远,而变小,实际上这正是透视投影。因此,对于渲染摄像机理解为我们的眼睛,用透视投影来表示;而正交投影则主要用于主要用于二维渲染以及建筑工程软件如下右边是正交投影,左边是透视投影2d变换​ 开始之前,需要提醒一下,以下向量表示都是列向量缩放 沿主轴缩放反射 2维中围绕直线翻转对象错切(剪切) 不均匀地拉伸坐标空间。思路是将一个坐标的倍数添加到另一个坐标上旋转 二维中围绕一点旋转平移

软光栅从零开始——绘制线框、背面剔除、zbuffer

在此篇中,我们将学习如何绘制一个三角形并对其进行着色,如何判断屏幕中同一个像素位置顶点的前后顺序绘制三角形和平面着色​ 绘制图形,我们需要画线也就需要学习画线算法,但图形种类多种多样,为什么我们选择学习三角形呢?​ 因为三角形是最基本的多边形,其拥有许多特性:三角形可以分解其他多边形,也就是我们可以不断分解其他多边形,最终形成有多个三角形组成的多边形三角形保证是平面的三角形可以用叉乘判断内外三角形内部可以定义插值​ 在讲明为什么我们选择三角形作为最基本的图形后,我们现在来学习如何绘制一个三角形​ 按照之前的画线算法,我们可以很轻松的画出三角形来,如下图。但问题是我们平时在游戏中看到的丰富多彩的

软光栅从零开始——MVP变换

前言在上一篇中,我们以正交投影的方式学习了如何绘制三角形,但在生活中我们眼睛看到的现象用正交投影无法解释。比如如果是正交投影,我们看到的铁道两个铁轨在视角上并不会交于一点,也就是两个铁轨的间距并不会随着离我们的位置越远,而变小,实际上这正是透视投影。因此,对于渲染摄像机理解为我们的眼睛,用透视投影来表示;而正交投影则主要用于主要用于二维渲染以及建筑工程软件如下右边是正交投影,左边是透视投影2d变换​ 开始之前,需要提醒一下,以下向量表示都是列向量缩放 沿主轴缩放反射 2维中围绕直线翻转对象错切(剪切) 不均匀地拉伸坐标空间。思路是将一个坐标的倍数添加到另一个坐标上旋转 二维中围绕一点旋转平移

软光栅从零开始——绘制线框、背面剔除、zbuffer

在此篇中,我们将学习如何绘制一个三角形并对其进行着色,如何判断屏幕中同一个像素位置顶点的前后顺序绘制三角形和平面着色​ 绘制图形,我们需要画线也就需要学习画线算法,但图形种类多种多样,为什么我们选择学习三角形呢?​ 因为三角形是最基本的多边形,其拥有许多特性:三角形可以分解其他多边形,也就是我们可以不断分解其他多边形,最终形成有多个三角形组成的多边形三角形保证是平面的三角形可以用叉乘判断内外三角形内部可以定义插值​ 在讲明为什么我们选择三角形作为最基本的图形后,我们现在来学习如何绘制一个三角形​ 按照之前的画线算法,我们可以很轻松的画出三角形来,如下图。但问题是我们平时在游戏中看到的丰富多彩的