小说网页网站建设,杭州建设网站的公司哪家好,做张家界旅游网站多少钱,专业的网站开发公司电话光栅化过程#xff1a;将一系列变换后的三角形转换为像素的过程。
三角形在图形学中得到很多的应用。
最基础的多边形#xff08;边数最少#xff09;。任何多边形都可以拆成三角形。性质#xff1a;三角形内部一定是平面的。三角形内外部定义非常清楚。定义三个顶点后将一系列变换后的三角形转换为像素的过程。
三角形在图形学中得到很多的应用。
最基础的多边形边数最少。任何多边形都可以拆成三角形。性质三角形内部一定是平面的。三角形内外部定义非常清楚。定义三个顶点后三角形内可以插值。
光栅化中最重要的一步判断三角形与一个像素中心点的位置关系 采样
一个函数离散化的过程。采样可以是一维二维三维的。光栅化属于二维采样。 光栅化的方法
给一个三角形来判断像素中心是否在三角形内。 三角形转换为像素的过程实际上就是判断像素跟三角形的关系。更确切地说像素的中心点是否在三角形内。而一个点是否在三角形内就可以使用向量的叉积方式判断。
for(int x 0; x xMax; x)for(int y 0; y yMax; y)image[x][y] inside(tri, x 0.5, y 0.5);通过上面的函数我们就知道了坐标点x, y是否在在三角形内。这个求解的过程我们一般将它称为采样像素中心对屏幕的采样。所以采样通俗的理解就是给定一个线性函数通过输入一些值最后获得输出值的过程。
从上面的for循环我们知道基本上是遍历了屏幕上的每个像素。在这里就可以做一个简单的优化。先判断是否在三角形所组成的长方形内既取三角形的三个顶点横坐标和纵坐标的最小最大值。我们就可以只判断长方形内的像素。 蓝色区域表示三角形的包围盒只有在这个区域内的像素才去做上面的for循环即不需要每一个像素都从0-width/height走一遍。 经过光栅化的过程可以获得以下的结果。但是以上的结果明显比原本的三角形差的比较远而且斜边不规则这就是我们说的锯齿。