草庐IT

c++ - 透视正确的纹理贴图; z距离计算可能错误

我正在制作一个软件光栅化程序,但遇到了一些麻烦:我似乎无法使透视正确的纹理映射正常工作。我的算法是先按y对要绘制的坐标进行排序。这将返回最高,最低和中心点。然后,我使用delta遍历扫描线://orderingbyyisputhereorder[0]=&a_Triangle.p[v_order[0]];order[1]=&a_Triangle.p[v_order[1]];order[2]=&a_Triangle.p[v_order[2]];floatheight1,height2,height3;height1=(float)((int)(order[2]->y+1)-(int)(or

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

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

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

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