openGL对基本几何图形的定义

OpenGL ES 支持的基本几何图形包括点、线段和三角形,所有复杂的3D图形都可通过它们构建。本文介绍了GL_POINTS、GL_LINE_STRIP等模式,以及glDrawArrays和glDrawElements方法用于绘制图形。通过设置顶点数组和模式,可以构造不同形状,并通过启用GL_VERTEX_ARRAY等开关控制图形属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常在二维空间中可以绘制点,线,多边形,圆弧,路径等。而OpenGL ES 支持的基本几何图形有三种: 点 、 线段、 三角形。 也就是在OpenGLEs中,任何其他的图形都可以通过这三种基本图形构造出来。比如通常来讲 复杂的3D图形,都需要将其分割成细小的三角形,然后构造出一个3d的基本模体,继而通过处理颜色,添加纹理,添加光照来构造出3d的图形效果。点,线,三角形都是通过顶点 (vertexs)来定义的,即顶点数组。在平面上,将多个孤立的点通过线段连接起来就可以构造出线段(line segment)或者三角形(triangle)。

下面是几种openglES定义的几种模式:

GL_POINTS :绘制独立的点

GL_LINE_STRIP :绘制一系列线段。

GL_LINE_LOOP : 封闭曲线。

GL_LINES:顶点两两连接,为多条线段构成。

GL_TRIANGLES : 每隔三个顶点构成一个三角形,为多个三角形组成。

GL_TRIANGLE_STRIP :每相邻三个顶点组成一个三角形,为一系列相接三角形构成。

GL_TRIANGLE_FAN : 以一个点为三角形公共顶点,组成一系列相邻的三角形。

以上模式对应到 Android 渲染方法:

OpenGL ES 提供了两类方法来绘制一个空间几何图形:

  • public abstract void glDrawArrays(int mode, int first, int count) 

使用 VetexBuffer 来绘制,顶点的顺序由 vertexBuffer 中的顺序指定。下面是glDrawArrays() 方法的使用说明:

功能:由矩阵数据渲染图元。

详细

glDrawArrays通过很少的子程序调用指明多层几何图元。你可以设置独立的顶点、法线、颜色矩阵,以及纹理坐标,并仅需调用glDrawArrays就可以通过它们构建一系列图元。

当glDrawArrays被调用,它从被允许访问的矩阵中计算连续count个元素来构建一系列几何图元,从first元素开始。mode指明哪一种图元将被构建及矩阵元素怎样构建这些图元。如果GL_VERTEX_ARRAY没有启用,则不会有图元产生。

当glDrawArrays返回后,由glDrawArrays改变的顶点属性会得到一个未指明的值。举个例子,如果GL_COLOR_ARRAY被启用,则glDrawArrays执行后当前颜色的值是未定义的。未改变的属性仍然是已定义的。

错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值