计算机图形学(三)_图元的属性_14_ OpenGL填充区属性函数(上)

4.14  OpenGL填充区属性函数
OpenGL中仅提供对凸多边形的填充区子程序。显示一个填充凸多边形要经过下列四个步骤:
    1.定义一个填充图案。
    2.引用多边形填充子程序。
    3.激活OpenGL多边形填充特性。
    4.描述要填充的多边形。
       多边形填充图案一直显示到包括多边形的边。因此,填充区中没有边界线,除非特别指定要显示边界线。除了为多边形内部指定一个填充图案,还有其他多个的选项。一个选项是显示一个空心多边形,其中仅生成边而没有内部颜色或图案。空心多边形与显示一个封闭多边形图元等价。另一选项是只显示多边形顶点而没有内部填充且没有边。同样,我们也可以为多边形填充区的前向面和后向面指定不同的属性。
14.1   OpenGL填充图案函数
    默认时,凸多边形使用当前颜色设定显示成一个实心颜色区域。为了用OpenGL的图案填充一个多边形,我们使用32位 × 32位的掩模。掩模中值为1表示对应像素设为当前颜色,值为0表示对应的帧缓存位置的值不变。填充图案使用OpenGL数据类型GLubyte以无符号字节进行描述,如同在glBitmap函数中一样。例如,用十六进制值定义一个位图:
GLubyte fillPattern [ ] = {
   Oxff, 0x00, 0xff, 0x00, ...};
如3.19节( 点击打开链接)中的bitShape一样,这些位必须从图案的底行开始描述,直到图案的最高行(32 )。该图案从显示窗口的左下角开始,在整个显示窗口中重复,而指定的多边形用与其重叠的图案部分填充(参见图4.31)。

一旦建立了一个掩模,可用下列函数将其用做当前填充图案:
glPolygonStipple (fillPattern);
接下来,在指定要用当前图案填充的多边形顶点之前必须激活填充子程序。这使用下列语句来实现:
glEnable (GL_POLYGON_STIPPLE);
类似地,使用下列语句关掉图案填充:
glDisable (GL_POLYGON_STIPPLE);

图4.32给出了3 × 3的点阵如何覆盖32 × 32的位掩模,该掩模可用于填充一个平行四边形。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值