计算机图形学】【笔记】7、第4章 输出图元(三)

OpenGL多边形填充区函数

描述填充多边形的OpenGL过程与描述点和折线类似,但是除了可以在glBegin和glEnd之间描述之外,还可以使用一个函数直接描述,以矩形为例:
glRectiv(x1, y1, x2, y2)
其中i为数据类型,v为是否使用向量表示,与glVertex相同。

另外需要知道,假如一个多边形内部有另一个多边形,不能使用一个顶点集来描述。

glBegin参数

GL_POLYGON:多边形,传统意义的多边形
GL_TRIANGLES:三角形,按顺序每三个顶点连成一个三角形
GL_TRIANGLE_STRIP:三角形带,前三个顶点连成一个三角形,后续每个顶点与前两个顶点连成一个三角形
GL_TRIANGLE_FAN:共享顶点的三角形,共享第一个顶点,每两个顶点与第一个顶点连成一个三角形
GL_QUADS:四边形,每四个顶点连成一个四边形
GL_QUAD_STRIP:四边形带,前四个顶点连成一个四边形,后续每两个顶点与前面两个顶点连成一个四边形

绘制立方体

	glEnableClientState(GL_VERTEX_ARRAY); // 启用顶点数组
	glVertexPointer(3, GL_INT, 0, pt); // 3维坐标, 数据类型为GL_INT, 坐标之间的间隔为0, 坐标数组为pt
	
	GLubyte vertIndex [] = (6, 2, 3, 7, 5, 1, 0, 4, 7, 3, 1, 5, 4, 0, 2, 6, 2, 0, 1, 3, 7, 5, 4, 6); // 其中的数字为坐标数组pt的索引
	glDrawElements(GL_QUADS, 24, GL_UNSIGNED_BYTE, vertIndex); // 调用GL_QUADS四边形函数, 共24个坐标, 坐标索引类型为GL_UNSIGNED_BYTE, 索引数组vertIndex
	
	glDisableClientState(GL_VERTEX_ARRAY);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值