Android OpenGL ES学习笔记之绘制线、面_Dennis-Android的博客-程序员宝宝_android opengl 画线

技术标签: android  opengl es  Android OpenGL ES学习笔记  opengl  Android OpenGL ES  

前言

之前一篇文章讲了如何绘制点,所谓两点成线,三点成面。一个立体图形就是由很多面组成,在OpenGL ES中,面特指一个三角形。

绘制调用glDrawArrays(int mode, int first, int count)方法

mode的参数可以选择

 - GL_POINTS ————绘制独立的点

 - GL_LINE_STRIP————绘制连续的线段,不封闭

 - GL_LINE_LOOP————绘制连续的线段,封闭

 - GL_LINES————顶点两两连接,为多条线段构成

 - GL_TRIANGLES————每隔三个顶点构成一个三角形

 - GL_TRIANGLE_STRIP————每相邻三个顶点组成一个三角形

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

例子

我设置一个顶点数组如下

        //顶点数组
        private float[] mArray = {

                  -0.6f , 0.6f , 0f,

                  -0.2f , 0f , 0f ,

                   0.2f , 0.6f , 0f ,

                   0.6f , 0f , 0f

        };

指定绘制模式为GL_POINTS

            gl.glDrawArrays(GL10.GL_POINTS, 0, 4);

效果图

这里写图片描述


指定绘制模式为GL_LINE_STRIP

            gl.glDrawArrays(GL10.GL_LINE_STRIP, 0, 4);

效果图

这里写图片描述


指定绘制模式为GL_LINE_LOOP

            gl.glDrawArrays(GL10.GL_LINE_LOOP, 0, 4);

效果图

这里写图片描述


指定绘制模式为GL_LINES

            gl.glDrawArrays(GL10.GL_LINES, 0, 4);

效果图

这里写图片描述


指定绘制模式为GL_TRIANGLES

            gl.glDrawArrays(GL10.GL_TRIANGLES, 0, 4);

效果图,PS:当顶点个数不足以绘制第二个三角形时,就忽略

这里写图片描述


指定绘制模式为GL_TRIANGLE_STRIP

            gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4);

效果图,我用虚线隔开了,它本身是两个相邻三角形组成

这里写图片描述


指定绘制模式为GL_TRIANGLE_FAN

            gl.glDrawArrays(GL10.GL_TRIANGLE_FAN, 0, 4);

效果图,我用虚线隔开了,它本身以第一个顶点为公共点,绘制了相邻的三角形

这里写图片描述

Demo 地址: 打开
密码:rl8w

下一篇文章将讲解图形的变换。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_31530015/article/details/52108220

智能推荐

电力系统潮流计算c加加语言指南,第三章简单电力系统的潮流计算汇总_工程师李涛的博客-程序员宝宝

1、第一章 简单电力系统的分析和计算一、 基本要求掌握电力线路中的电压降落和功率损耗的计算、变压器中的电压降落和功率损耗的计算;掌握辐射形网络的潮流分布计算;掌握简单环形网络的潮流分布计算;了解电力网络的简化。二、 重点内容1、 电力线路中的电压降落和功率损耗图3-1中,设线路末端电压为、末端功率为,则(1)计算电力线路中的功率损耗 线路末端导纳支路的功率损耗: (3-1)则阻抗支路末端的功率为:...

2020年天梯赛真题——L2-3 完全二叉树的层序遍历_白鹿贞松的博客-程序员宝宝

一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树。对于深度为 D 的,有 N 个结点的二叉树,若其结点对应于相同深度完美二叉树的层序遍历的前 N 个结点,这样的树就是完全二叉树。给定一棵完全二叉树的后序遍历,请你给出这棵树的层序遍历结果。输入格式:输入在第一行中给出正整数 N(≤30),即树中结点个数。第二行给出后序遍历序列,为 N 个不超过 100 的正整数。同一行中所有数字都以空格分隔。输出格式:在一行中输出该树的层序遍历序列。所有数字都以 1 个空格分隔,行首尾不得有

黑马程序员--网络编程_weixin_30780221的博客-程序员宝宝

端口号的范围:0-65535,其中0-1024系统已经占用,例如:WEB端口:80;mysql端口:3306;tomcat:8080;在网络通信里,  1、传输层协议:    TCP协议,类似于打电话(下载)      1.建立连接,创建连接两端的通道(通过三次握手)      2.适合传输大数据      3.可靠地      4.由于需要建立连接,效率低...

淘宝在数据处理领域的项目及开源产品介绍_weixin_30739595的博客-程序员宝宝

淘宝在数据存储和处理领域在国内互联网公司中一直保持比较靠前的位置,而且由于电子商务领域独特的应用场景,淘宝在数据实时性和大规模计算及挖掘方面一直在国内保持着领先,因此积累了很多的实践的经验和产品。TimeTunnel基于Hbase打造的消息中间件,具有高可靠、消息顺序、事务等传统特性,还能按时间维度反复订阅最近历史的任意数据高性能的broker,单节点达2万TPS,实际支持上千长链...

android怎么自动获取权限不弹窗,android-su-without-dialog_weixin_39752352的博客-程序员宝宝

举例:runasroot的用法,首先到download runasroot下载,需要经过赋予权限,root用户组所有,可执行,拷贝到/system/bin,再切换到普通用户,然后就万事大吉,可以在普通shell里面执行需要root权限才能执行的命令$adb push runasroot /data/local/tmp/$adb [email protected]:/data/local/tmp ...

6-3 Add Two Polynomials(20 分)_四月~的博客-程序员宝宝

6-3 Add Two Polynomials(20 分)Write a function to add two polynomials. Do not destroy the input. Use a linked list implementation with a dummy head node. Note: The zero polynomial is represented by an ...

随便推点

SVN使用教程之-分支/标记 合并 subeclipse_weixin_34072637的博客-程序员宝宝

http://energykey.iteye.com/blog/512745首先说下为什么我们需要用到分支-合并。比如项目demo下有两个小组,svn下有一个trunk版。由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正进行到一半的工作【某个模块】,小组2进行新需求的开发。那么此时,我们就可以为小组2建立一个分支,分支其实就是trunk版【主...

Eigen与matlab的比较_汤姆与贝塔的博客-程序员宝宝_eigen matlab

Eigen和Matlab比较// 参考 - http://eigen.tuxfamily.org/dox/AsciiQuickReference.txt// 一个关于Eigen的快速参考// Matlab和Eigen的对应用法// Main author: Keir Mierle// 注释:张学志#include Eigen/Dense>Matrixdouble, 3, 3>

集群_weixin_33753003的博客-程序员宝宝

何为集群?百度上面的解释就已经够了:集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。集群的作用:1.提高性能 2.降低成本 3.提高可扩展性 4.增强可靠性这4点很好理解,所以从这4点作用来看我们可以把集群分为三类:1.超级计算集群 2.负载均衡集群 3.高可用...

网站上传图片提示错误怎么办_qq_1547479934的博客-程序员宝宝_图片请求上传接口出现异常

网站上传图片出现错误,或错误提示原因1:99%是图片太大,可以换个图片,或者将图片压缩一下试试原因2:图片格式问题, 上传的格式不在允许范围。原因3:国外服务器, 网络卡顿,连接超时导致的上传错误,不排除存在其他问题的可能性,不同问题处理方法不同。...

Python输出时出现乱码“�밴���������. . . ”的解决方案_xgc0102的博客-程序员宝宝_python 命令行输出乱码

输出时出现“�밴���������. . . ”乱码解决方案左上角File下点击Setting...点击File Encodings修改Global Encoding为GBK重新运行程序不再出现乱码

jquery插件整理篇(一)导航类jq插件,菜单jq插件_国安小昊23的博客-程序员宝宝_jq插件

(1)Horizontal accordion: jQuery基于jQuery开发,非常简单的水平方向折叠控件。(2)jQuery-Horizontal Accordion具有XBOX360 blade界面风格的水平方向Accordion。(3)jQuery plugin: Accordion用于创建 折叠菜单的jQuery插件。(4

推荐文章

热门文章

相关标签