glDrawArrays,glDrawElements用法
glDrawArrays 和 glDrawElements 的作用都是从一个数据数组中提取数据渲染基本图元。( render primitives from array data )
|
GL_LINES
GL_LINE_LOOP
GL_LINE_STRIP
GL_TRIANGLES
GL_TRIANGLE_STRIP
GL_TRIANGLE_FAN
|
GL_LINE_STRIP - 连贯地将直线画出来。行为和 GL_TRIANGLE_STRIP 类似。
squareVerticies[0] x坐标
squareVerticies[1] y坐标
squareVerticies[2] z坐标
1) 在 GL_TRIANGLE_STRIP 状态下是: P2、P1、P0 ; P3、P2、P1 这2个三角形。
2) 在 GL_TRIANGLE_FAN 状态下是: P2、P1、P0 ; P3、P2、P0 这2个三角形。
glDrawArrays specifies multiple geometric primitives with very few subroutine calls. You can prespecify separate arrays of vertices, normals, colors, and texture coordinates and use them to construct a sequence of primitives with a single call to glDrawArrays.
示例代码:
|
结果:
GLenum mode,
GLsizei count,
GLenum type,
const GLvoid *indices
);
mode 指定绘制图元的类型,但是如果GL_VERTEX_ARRAY 没有被激活的话,不能生成任何图元。它应该是下列值之一:
GL_POINTS, GL_LINE_STRIP,
GL_LINE_LOOP, GL_LINES,
GL_TRIANGLE_STRIP,
GL_TRIANGLE_FAN,
GL_TRIANGLES,
GL_QUAD_STRIP,
GL_QUADS,
GL_POLYGON
count 为绘制图元的数量。
GL_UNSIGNED_BYTE,
GL_UNSIGNED_SHORT,
GL_UNSIGNED_INT
indices:指向索引数组的指针。
glDrawElements函数能够通过较少的函数调用绘制多个几何图元,而不是通过OPENGL函数调用来传递每一个顶点,法线,颜色信息。
例如,在 GL_COLOR_ARRAY 被激活后,当glDrawElements执行完成时,当前的颜色值是没有指定的。没有被修改的属性值保持不变。
示例代码如下:
|
转自:http://hwcrazy.com/7d354b48702f11e187c2000d601c5586/
glDrawArrays,glDrawElements用法相关推荐
- OpenGL Vertex Array
原文地址 http://www.songho.ca/opengl/gl_vertexarray.html<-------这博客不错!貌似博主是个棒子. OpenGL Vertex Array R ...
- OpenGL 渲染管线理论
这几天稍微看了一些关于GLSL的顶点着色以及片元着色的一些相关知识.目前来讲还有一个着色器则是Geometry_shader..我的显卡用不了这个功能..当然有点遗憾>_<.. ...
- OpenGL: 渲染管线理论
学习着色器,并理解着色器的工作机制,就要对OpenGL的固定功能管线有深入的了解. 零.首先要知道几个OpenGL的术语 渲染(rendering):计算机根据模型(model)创建图像的过程. 模型 ...
- OpenGL 渲染管线理论
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 学习着色 ...
- 动态合批和静态合批的区别
参考文章: 图形渲染及优化-Unity合批技术实践 图形渲染及优化-Batch 批是啥? 对某对象进行批量处理叫批处理 Batch是啥? 引擎每帧提交的Batch数量就是衡量渲染压力的指标 Batch ...
- Android OpenGL ES 画球体
最近因为兴趣所向,开始学习OpenGL绘图.本文以"画球体"为点,小结一下最近所学. > 初识OpenGL ES 接触OpenGL是从Android开始的.众所周知,Andr ...
- OpenGL2.0 和 OpenGL3.0 的不同与共同点
OpenGL2.0 和 OpenGL3.0 的不同与共同点 在OpenGL2.0中vertex shader 中 可以不指定 version 如果不指定 version 对于iOS来说 默认认为是Op ...
- 图形学的入门课--shader
引言 shader到底是干什么用的?shader的工作原理是什么? 其实当我们对这个问题还很懵懂的时候,就已经开始急不可耐的要四处搜寻有关shader的资料,恨不得立刻上手写一个出来.但看了一些 ...
- OpenGL Shading Language 汇总
overview 用glCreateShader创建一个shader,可以指定shader的类型等信息. 通过glShaderSource导入shader的源文件. 通过glCompileShader ...
最新文章
- 基于TF-IDF编码进行文本聚类分析:文档成对相似性计算、层次聚类(链接矩阵、树形图dendrogram绘制、聚类标签)
- VTK:几何对象之Arrow
- mock模拟接口测试 vue_vue+mock.js实现前后端分离
- IDEA 启动、编译、clean、安装maven等、报错Process terminated
- linux 设备驱动之8250串口驱动分析
- 学校校园无盘教学系统
- M3U8下载,直播源下载,FLASH下载(三)-直播源下载
- spring-boot集成elastic-job 并实现http类型作业
- 【VISIO绘图】VISIO绘图 学习笔记
- 2019新版《网易云课堂 C++收银系统项目实战教程》
- 面向车路协同的路侧感知仿真系统
- Python+Django实现智慧校园考试比赛系统
- 高性能PC机与服务器的真正区别
- 华为路由三层交互:单臂路由实验
- 'BMap' is not defined 解决方案,亲测有效
- 【热血足球联盟】补丁记录
- 腾讯云服务器无法通过密钥登录
- 第2次实验——算法基本功 与 综合思考
- 恒大kk服务器信息端口,恒大kk手机客户端服务器
- 时间序列分析-预测Apple股票价格
热门文章
- Windows下编写的脚本文件无法在Linux上运行的问题
- java语言复制数组的四种方法
- 计算机的编程发源地,计算机编程: C典型上机试题
- == 和 equals方法的区别
- 数组小案例(求数组最大最小值、反转数组中元素、指定元素第一次出现的索引)
- ROS中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器
- mysql dba环境验收_面对一个全新的环境,作为一个Mysql DBA,应该了解
- 为什么nodejs是单进程的_Nodejs探秘:深入理解单线程实现高并发原理
- win2003无法进入桌面_电脑桌面怎么建立便签,可以在电脑桌面显示的便签
- JAVA中用于处理字符串的 三兄弟