scanline
2016-05-26 10:13:51 0 举报
Scanline是一种用于渲染2D图像的技术,它通过逐行扫描图像的像素来生成最终的图像。在Scanline渲染过程中,计算机会按照从上到下的顺序逐个处理图像中的每一条扫描线,对每个像素进行着色、纹理映射等操作。这种技术可以有效地处理复杂的图形效果,如阴影、光照和抗锯齿等。 Scanline渲染通常采用光栅化的方式来实现,即首先将3D模型转换为2D图像,然后再对其进行渲染。这种方法具有较高的计算效率和稳定性,因此在游戏开发和其他实时渲染应用中得到了广泛应用。然而,由于其基于逐行扫描的方式,Scanline渲染在某些情况下可能会出现闪烁或失真的现象。
作者其他创作
大纲/内容
将第一个读入的顶点存至(ax,ay)&(ox,oy)
i++
初始化动态顶点集数组ET[]初值设为-1
Yes
i==all
by=ay
i++;
再次从头遍历AET表的边集,将等于扫描线y值得边删除
ax=bx,ay=by;
结束
No
遍历AET表的边,将边的xmin添加至结果r[]数组并进行由小到大排序可输出
AET.ymin+1;扫描线值加一
创建非水平边存入edge *temp去y值高的点减1作为边集的ymax-1之后将y值低的点得x值作为边的xmin y值作为ymin 求斜率的倒数作为边集的1/m
将ET顶点集中ymin最小的i遍历得到将该点处的边集添加至AET表AET.ymin=ET[i].ymin
ET[i].firstarc-nextarc=NULL
将ET表中等于扫描线的点的边集添加至AET表中
ET[i].ymin!=ymin
main()
遍历该顶点集的边集至空结点前处ET[i].firstarc-nextarc=temp;添加新边
iall的时候bx,by等于读入的顶点,i==all-1的时候,bx=ox,by=oy;
AET表非空
添加temp边
0 条评论
下一页
为你推荐
查看更多
抱歉,暂无相关内容