GL_TRIANGLE_FAN,GL_TRIANGLE_STRIP和GL_TRIANGLES的区别是什么

opengles 绘制图元 ——glDrawArrays() 相关API介绍 (十) 本文主要介绍 opengles3.0 所支持的绘制图元 API 相关接口, 这里主要介绍绘制三角形的接口软硬件环境:硬件:PC软件:ubuntu22.04 opengles3.0opengles3.0 中有5个绘制图元的API 调用,分别是其中目前用的比较多的是前3个 API接口,特别是前2个,用的场景特别多。glDrawArrays是一个OpenGLES函数,用于根据顶点数组中的数据进行绘制。它可以绘制一系列的图元,如点、线、三角形等,这些图元的顶点数据都存储在顶点数组中。 阅读详情
AI摘要

本文介绍了OpenGL中GL_TRIANGLES、GL_TRIANGLE_STRIP和GL_TRIANGLE_FAN三种绘制三角形的方式。阐述了它们的定义、顶点使用方式、数量要求及适用场景,指出GL_TRIANGLES绘制独立三角形,后两者绘制相连三角形,开发者可按需选择以提高性能。

GL_TRIANGLE_FAN、GL_TRIANGLE_STRIP和GL_TRIANGLES是OpenGL中用于绘制三角形的三种不同方式,它们各自有不同的特点和适用场景。以下是这三种绘制方式的详细区别:

一、GL_TRIANGLES三角形

  • 定义:以每三个顶点绘制一个独立的三角形。
  • 顶点使用:第一个三角形使用顶点v0、v1、v2,第二个使用v3、v4、v5,以此类推。
  • 顶点数量要求:如果顶点的个数n不是3的倍数,那么最后的1个或者2个顶点会被忽略。
  • 适用场景:适用于需要绘制多个独立三角形且三角形之间不共享顶点的场景。

二、GL_TRIANGLE_STRIP三角形带

  • 定义:绘制一组相连的三角形,三角形的构建依赖于顶点的序号和奇偶性。
    • 如果当前顶点是奇数,组成三角形的顶点排列顺序为[n-1, n-2, n]。
    • 如果当前顶点是偶数,组成三角形的顶点排列顺序为[n-2, n-1, n]。
  • 顶点使用:第一个三角形由顶点v0、v1、v2组成(假设v2为偶数顶点),第二个三角形由顶点v1、v2、v3组成(v3为奇数顶点),以此类推。
  • 顶点数量要求:顶点个数n至少要大于3,否则不能绘制任何三角形。
  • 适用场景:适用于需要绘制一系列相连的三角形且希望三角形之间共享顶点的场景,可以减少顶点传递次数,提高性能。

三、GL_TRIANGLE_FAN三角形扇

  • 定义:绘制一组相连的三角形,所有三角形共用一个起始顶点。
  • 顶点使用:以v0为起始点,第一个三角形由顶点v0、v1、v2组成,第二个三角形由顶点v0、v2、v3组成,以此类推。
  • 顶点数量要求:与GL_TRIANGLES类似,如果顶点数量不是足够形成完整的三角形序列,则最后的顶点可能会被忽略。
  • 适用场景:适用于需要绘制以某个顶点为中心的扇形三角形序列的场景。

四、总结

  • 独立性:GL_TRIANGLES绘制的三角形是独立的,不共享顶点;而GL_TRIANGLE_STRIP和GL_TRIANGLE_FAN绘制的三角形是相连的,可以共享顶点。
  • 顶点使用方式:GL_TRIANGLES按每三个顶点一组使用;GL_TRIANGLE_STRIP根据顶点的奇偶性决定三角形的顶点组合;GL_TRIANGLE_FAN则是以一个顶点为中心,与其他顶点组合形成三角形。
  • 适用场景:根据具体需求选择合适的绘制方式,可以在满足需求的情况下提高性能。

综上所述,GL_TRIANGLE_FAN、GL_TRIANGLE_STRIP和GL_TRIANGLES在OpenGL中各有其特点和适用场景,开发者可以根据具体需求选择合适的绘制方式。

opengl扇形GL_TRIANGLE_FAN GL_TRIANGLE_FAN opengl c++ 适合于初学者借鉴,望大家多多指教 立即下载

相关推荐

【OpenGL】十四、OpenGL 绘制三角形 ( 绘制 GL_TRIANGLE_STRIP 三角形 )

【OpenGL】十四、OpenGL 绘制三角形 ( 绘制 GL_TRIANGLE_STRIP 三角形 | GL_TRIANGLE_STRIP 三角形绘制分析 ) https://hanshuliang.blog.youkuaiyun.com/article/details/112799758 博客源码快照

OPENGL_三角形带GL_TRIANGLE_STRIP详解

原文:http://blog.sina.com.cn/s/blog_6084f58801019dja.html 在某些情况下GL_TRIANGLE_STRIP的绘图方式常常使人困惑,下面将对其进行解释。  GL_TRIANGLE_STRIP是将顶点传递给opengl渲染管道线(pipeline)进行进一步处理的方式(创建几何图形)。还有另外两种GL_TRIANGLES和GL_TRIANGLE_

N的专栏 1万+

保姆级教程:用Python+OpenCV搞定Orbbec Gemini深度与彩色流对齐(附完整代码)

本文提供了一份详细的Orbbec Gemini深度与彩色流对齐教程,涵盖从环境配置到完整代码实现的每一步。通过解析深度流对齐原理,对比不同对齐模式,并提供工业级应用中的问题排查方法,帮助开发者快速掌握Orbbec Gemini相机的使用技巧。文章还包含进阶应用如点云生成与三维重建的实战代码。

weixin_29090917的博客 468

【OpenGL】理解GL_TRIANGLE_STRIP等绘制三角形序列的三种方式

GL_TRIANGLE_STRIP绘制三角形方式很多时候令人疑惑,在这里对其运作机理进行解释。 一般情况下有三种绘制一系列三角形的方式,分别是GL_TRIANGLES、GL_TRIANGLE_STRIP和GL_TRIANGLE_FAN。 如下图所示: GL_TRIANGLES是以每三个顶点绘制一个三角形。第一个三角形使用顶点v0,v1,v2,第二个使用v3,v4,v5,以此类推。如果

计算机专业同学的充电站。 8万+

考试遇到 Assistant API 考点时,该掌握哪些要点?

【摘要】聚焦阿里云大模型 ACP 认证中智能体 Assistant API 考点,我结合自学认证成功经验,分享复习攻略。先解析 assistants、threads 等五个核心组件作用与关系,点明各组件支持及不支持的方法,最后给出计算 Python 代码调用大模型次数的思路,助力考生攻克考点、顺利拿证 。

davidkorhenn的博客 494

Matt Pocock Skills — AI 编码代理技能包介绍与使用指南

《Matt Pocock Skills:AI编码代理技能包指南》 摘要: Matt Pocock Skills是一套开源AI编码代理技能包,旨在解决AI辅助开发中的四大痛点:需求理解偏差、token浪费、代码质量差和架构腐化。该技能包包含多种实用工具:/grill-with-docs用于需求对齐,/tdd实现测试驱动开发,/diagnose提供规范化调试流程,/triage管理issue生命周期。核心思想包括:通过拷问式对齐确保需求理解一致,建立共享领域语言提高沟通效率,快速反馈闭环加速开发,以及持续架构维

qq_45859163的博客 2219

glDrawArray

今天讲一下glDrawArray这个方法 方法的解释我在前面gl10方法集中已经做了说明,可能会有些难懂的,这里来解释一下。 下面是自己写的简单代码。 test2.java package my.test2;   import android.app.Activity

1144

直流无刷电机FOC控制算法 理论到实践 —— 实践

关于直流无刷电机FOC控制算法的理论章节,本人已经在前两章进行过详细说明,大家可以自行进行阅读,请务必了解过理论之后再来学习如何具体进行实现。直流无刷电机FOC控制算法 理论到实践 —— 理论(一)直流无刷电机FOC控制算法 理论到实践 —— 理论(二)本章节主要讨论采用MCU微控制器如何具体实现直流无刷电机的FOC控制。

爱出名的狗腿子 1万+

理解GL_TRIANGLE_STRIP等绘制三角形序列的三种方式

GL_TRIANGLE_STRIP绘制三角形方式很多时候令人疑惑,在这里对其运作机理进行解释。

liqiang981的博客 748

rk3576 点亮 LCD(eDP)

RK3576 处理器集成了对 **eDP (Embedded DisplayPort)** 接口的支持,主要用于驱动嵌入式或笔记本电脑的内置屏幕。支持 **eDP 1.3 版本协议**, 最大可支持 ****4K@120Hz**。

weixin_35723192的博客 352

YOLOv8融合改进 更换检测头为Detect_DyHead同时添加C2f_DBB模块

yolov8独家训练测试融合网络结构,提供详细步骤详细代码,手把手教你在yolov8官方包中把检测头更换为Detect_DyHead检测头,并且将原始的C2f模块更换成C2f_DBB模块,提高检测精度,亲测在多个数据集上有涨点!!!!!

分享一些自己改进代码的实例 4747

一步一步学android opengl es2.0编程,Android OpenGL ES 2.0 手把手教学(5)- 绘制模式

大家好,下面和大学一起学习绘制模式,在我的github上有一个项目OpenGLES2.0SamplesForAndroid,我会不断地编写学习样例,文章和代码同步更新,欢迎关注,链接:github.com/kenneycode/…在我们之前的例子中,我们都是以三个独立顶点为一个三角形的方式来进行渲染,如果大家有注意观察的话,会发现我们在调用glDrawArrays()方法的时候,第一个参数都是用G...

weixin_39541681的博客 213

使用DrissionPage实现携程酒店信息智能爬取

本文介绍了一个基于DrissionPage技术的携程酒店信息爬虫系统,通过监听API数据包实现高效采集。系统可自动获取酒店名称、价格、评分、位置等15个维度的数据,支持多页滚动加载和智能去重。相比传统爬虫,该方法直接解析API返回的JSON数据,避免了复杂的HTML解析和加密参数分析,提高了开发效率和稳定性。文章详细阐述了13个关键实现步骤,并强调数据采集应严格遵守法律法规,仅用于技术学习和市场研究。该系统可为旅游决策、价格监测等提供数据支持,但需注意合理使用频率和隐私保护。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 385

opengl es3.0学习篇五:图元装配跟光栅化

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33963189的博客 557

【WRF理论】配置诊断变量 &diags

【WRF理论】配置诊断变量 &diags

WW、forever的博客 136

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

OpenGL ES 2.0绘制方式

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33883178的博客 305

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Opengl ES系列学习--glDrawArrays API使用

本节我们来看一下glDrawArrays API的使用,我们就讲一些常量的知识,生僻少用的就不看了。 所有实例均有提供源码,下载地址:Opengl ES Source Code。 API中文说明:GLES2.0中文API-glDrawArrays。 Opengl提供的两类绘制API就是glDrawArrays、glDrawElements,绘制三角形序...

红旺永福 1578

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Android OpenGL ES 2.0 手把手教学(5)- 绘制模式

大家好,下面和大学一起学习绘制模式,在我的github上有一个项目OpenGLES2.0SamplesForAndroid,我会不断地编写学习样例,文章和代码同步更新,欢迎关注,链接:github.com/kenneycode/… 在我们之前的例子中,我们都是以三个独立顶点为一个三角形的方式来进行渲染,如果大家有注意观察的话,会发现我们在调用glDrawArrays()方法的时候,第一个参数都是用...

weixin_33910759的博客 209

glDrawArrays参数详解

glDrawArrays参数详解 博客分类: android 在OpenGl中所有的图形都是通过分解成三角形的方式进行绘制。 绘制图形通过GL10类中的glDrawArrays方法实现, 该方法原型: glDrawArrays(int mode, int first,int count) 参数1:有三种取值 1.GL_TRIANGLES:每三个顶之间绘制三角

passtome的专栏 3万+

opengl es2.0那些事(不断整理更新)

一:着色器语言变量修饰符介绍: 1:attribute:用于修饰每个顶点都不相同的变量,比方说顶点坐标,顶点颜色(不同顶点可能会有不同颜色情况下) 2:uniform:用于修饰同一组顶点都相同的变量,比方说光源位置,某些场景下比方说矩阵,顶点颜色(所有顶点都是同一中颜色的情况) 3:varying:用于从顶点着色器向片元着色器传递数据 二:绘制方式: 1:GL_POINTS:绘制一系列单

GIS小生的记录 1800

iphone-OpenGL ES 教程-02 --西蒙

OpenGL ES 02 – 绘制图元 2 - 矩形 严 格意义上来说,矩形并不是OpenGL ES的图元。 但是,让我们面对现实,绘制这些矩形象绘制一个三角形一样非常简单。在本教程中,我们将把基本的三角形绘制代码转化为绘制矩形。再一次说明,这些渲染是静 止的,但是我们通过转化(即移动它们)来使它们快速移动。当然,一旦我们完成了矩形,我们将试图完成一个立方体,我们将完成一个纹理映射的立方

Keivin 3770

qt opengl 绘制点、线、三角形、多边形(二)

0x0000// 点0x0001// 直线线段,按添加点的顺序,每2个点组成一条线段0x0002// 直线线段,按添加点的顺序,相邻的两个点连接,且第一个点与最后一个点也连接(多边形)0x0003// 与GL_LINE_LOOP类似,区别在于 第一个点与最后一个点 不 连接0x0004// 按添加点的顺序, 每3个点组成三角(面)0x0005// 三角(面) ,区别见后面代码演示0x0006// 三角(面),区别见后面代码演示0x0007//0x0008//0x0009。

qq_44084616的博客 2283

android正方形颜色选择,android opengl es基本操作,画线,三角形,正方形,颜色设置...

上篇文章讲了opengl es的基本知识,GLSurfaceView的创建,画点等内容,这篇文章将opengl es另外的一些基本操作,比如画线,画三角形,正方形等,以及这些例子中涉及到了相关的知识点。1、画线,画线的操作和点差不多,具体看如下代码public void DrawLine(GL10 gl) {ByteBuffer vbb= ByteBuffer.allocateDirect(ver...

weixin_33209661的博客 463

转:OpenGL ES 2.0 - 绘制方式

原文地址: http://blog.youkuaiyun.com/sz66cm/article/details/54288626 绘制方式 各种绘制方式 GL_POINTS GL_LNES GL_LINE_STRIP GL_LINE_LOOP GL_TRIANGLES GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_TRIANGLES_...

weixin_30518397的博客 90
上一篇: Android OpenGL ES详解——绘制圆角矩形
下一篇: android shader gl_Position是几个分量
闲暇部落
博客等级 码龄12年 2775粉丝 215原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲暇部落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值