文档介绍:大纲图形绘制流水线的基本策略图形绘制系统的 4 个主要任务
•介绍图形系统的基本实现策略•考虑两个方法渲染不透明物体组成的场景•绘制流水线必须执行4个主要任务:
计算机图形学•用于实现 OpenGL 绘制流水线的基本•基于图像空间的方法:对每个像素,确定哪–建模
算法些对象对该像素的颜色有贡献,并计算该像–几何处理
Computer Graphics 素的颜色
–裁剪–光栅化
–光线跟踪的思路
–光栅化–片元处理
第十三讲图形绘制流水线的底层实现•基于对象空间的方法:对每个对象,确定它
–隐藏面消除覆盖哪些像素,并对这些像素着色•用户程序中的几何实体定义最终在输
福州大学软件学院陈昱–流水线方法出设备上显示
–必须要保存像素的深度信息
图形绘制系统的 4 个主要任务图形绘制系统的 4 个主要任务裁剪
•建模•光栅化•裁剪:确定图形中哪些部分落在显示区之
–建模的结果表现为一组表示几何对象的顶–生成一组片元,用来说明线段或多边形所内,哪些落在显示区之外,以便只显示落在
点数据对应的像素在帧缓存中的位置裁剪显示区内的那部分图形。这个选择过程称为
–通过光栅化或是扫描转换的过程来确定这裁剪。
•几何处理些片元
–确定哪些几何对象可以在屏幕上显示,并•片元处理
把灰度值或颜色值赋给这些对象的顶点
–纹理映射
–几何对象包括 4 个处理过程:投影、图元–隐藏面消除
装配、裁剪和明暗处理
–反走样
•图形裁剪算法,直接影响图形系统的效率。
Viewing in 2D 裁剪 Clipping 点的裁剪线段裁剪
•2D 使用裁剪窗口•图形裁剪中最基本的问题•线段裁剪算法是复杂图形裁剪的基础
250°
•3D 使用裁剪体•复杂的曲线可以通过折线段来近似,
•假设窗口的左下角坐标为(xL, yB),右上角
•对线段和多边形裁剪是容易的从而裁剪问题也可以化为直线段的裁
45° 坐标为(x , y ),对于给定点P(x,y),则P点
•对曲线和文本进行裁剪较为困难 R T
在窗口内的条件是要满足下列不等式: 剪问题
–可以先转换成线段和多边形–直接求交算法
世界坐标系中的窗口 x <= x <= x (x ,y )
L R R T – Cohen-Sutherland 算法
并且 y <= y <= y
250 x 250 B T –梁友栋-Barskey(Liang-Barskey)算法
设备坐标系中的 Pixels. 否则,P点就在窗口外。
视口–中点算法
–参数化裁剪算法
(xL,yB )
裁剪 2D 线段 Cohen-Sutherland 算法情况分析:情况1 情况分析:情况2
•直接求交法: 计算线段与裁剪窗口所有•思想: 排除尽可能多的不需要求交的情•所有的线段端点都在4条线之内•所有的端点都在窗口外,且在同一边
边的交点(暴力方法) 况–接受,绘制线段–抛弃线段,不绘制
–效率不高: 每次求交都需要一次浮点除法•首先把裁剪窗口的4条边延长到无限长
y = ymax
x = xmin x = xmax
y = ymin
情况分析定义区域编码使用端点编码使用端点编码
•