OpenGL ES零基础入门----(4)矩形的绘制

绘制矩形

在上一篇文章 OpenGL ES零基础入门----(2)绘制三角形 中,使用OpenGLES绘制了基本的三角形,从绘制三角形中,我们也大概了解了OpenGL的基本使用,包括设置 CAEAGLLayer 属性,创建 EAGLContext,创建和使用 renderbuffer 和 framebuffer,了解OpenGL ES 渲染管线,创建和使用 shader,创建和实现 program,使用顶点数组进行描绘。现在我们所描绘的矩形相对于三角形来说就是多一个顶点坐标,并且矩形是也可以认为是两个三角形组成的这样一个理解的方式去绘制,所以从我们的顶点数组添加顶点坐标和颜色坐标。

如下图
首先,按照最基本的方式依次设置顶点位置及颜色,使用glDrawArrays依次绘制顶点。

依次绘制

三角形的绘制方式

glDrawArrays函数的第一个参数可设置为GL_TRIANGLES、GL_TRIANGLE_STRIP、GL_TRIANGLE_FAN,分别是绘制三角形的三种方式。


这里写图片描述

GL_TRIANGLES是以每三个顶点绘制一个三角形。第一个三角形使用顶点V0,V1,V2,第二个使用V3,V4,V5,以此类推。如果顶点的个数n不是3的倍数,那么最后的1个或者2个顶点会被忽略。
以上方式即在glDrawArrays函数中使用GL_TRIANGLES。
而GL_TRIANGLE_STRIP第一个三角形为V0、V1、V2,第二个三角形为V1、V2、V3,第三个三角形为V2、V3、V4,依次类推。GL_TRIANGLE_FAN第一个三角形为V0、V1、V2,第二个三角形为V0、V2、V3,第三个三角形为V0、V3、V4,依次类推。

所以,如果使用GL_TRIANGLE_STRIP绘制以上矩形,顶点数组与颜色数组也要相应变化:

GL_TRIANGLE_STRIP

如果使用GL_TRIANGLE_FAN呢,因取得三角形顶点的方式不同,因此也必须对顶点数组中顶点的序列做相应调整如下,才能绘制出跟以上两种方式一样的矩形:

GL_TRIANGLE_FAN

以上几种是绘制矩形的方法,就是改变顶点位置和颜色。
总结:结合 OpenGL ES零基础入门----(2)绘制三角形以上三角形的绘制文字,在此文章中可以极易的描绘出所需的矩形,通过以下几种glDrawArray方法的参数GL_TRIANGLES,GL_TRIANGLE_FAN,GL_TRIANGLE_FAN,根据我们自己的需求变化坐标来绘制矩形
本文源码可以在这里获得:https://github.com/476455183/OpenGLES

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容