关于glDrawElements的使用
glDrawElements是一个OPENGL的图元绘制函数,从数组中获得数据渲染图元。
函数原型为:

void glDrawElements(  GLenum  mode , GLsizei count,
                   GLenum type, const GLvoid *indices);

                  
其中:
mode指定绘制图元的类型,它应该是下列值之一,GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES,         GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON. 
count为绘制图元的数量。
type为索引值的类型,只能是下列值之一 GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT。
indices:指向索引存贮位置的指针。

glDrawElements函数能够通过较少的函数调用绘制多个几何图元,而不是通过OPENGL函数调用来传递每一个顶点,法线,颜色信息。你可以事先准备一系列分离的顶点、法线、颜色数组,并且调用一次glDrawElements把这些数组定义成一个图元序列。当调用glDrawElements函数的时候,它将通过索引使用count个成序列的元素来创建一系列的几何图元。mode指定待创建的图元类型和数组元素如何如来创建这些图元。但是如果GL_VERTEX_ARRAY 没有被激活的话,不能生成任何图元。被glDrawElements修改的顶点属性在glDrawElements调用返回后的值具有不确定性,例如,GL_COLOR_ARRAY被激活后,当glDrawElements执行完成时,当前的颜色值是没有指定的。没有被修改的属性值保持不变。
可以在显示列表中包含glDrawElements,当glDrawElements被包含进显示列表时,相应的顶点、法线、颜色数组数据也得进入显示列表的,因为那些数组指针是ClientSideState的变量,在显示列表创建的时候而不是在显示列表执行的时候,这些数组指针的值影响显示列表。glDrawElements只能用在OPENGL1.1或者更高的版本。

关于glDrawElements的使用相关推荐

  1. glDrawElements参数在新旧版本传最后一个参数的不同

    glDrawElements函数如下: void glDrawElements( GLenum mode,GLsizei count,GLenum type,const GLvoid * indice ...

  2. glDrawArrays,glDrawElements用法

    glDrawArrays 和 glDrawElements 的作用都是从一个数据数组中提取数据渲染基本图元.( render primitives from array data ) 注!如果要 gl ...

  3. glDrawElements 绘制立方体共用顶点的法线和UV处理

    glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0); 第一个参数指定了我们绘制的模式,这个和glDrawArrays的一样.第二个参数是我们打算绘制 ...

  4. OpenGL ES:绘制函数glDrawArrays 和 glDrawElements 的区别

    from:https://www.jianshu.com/p/4d02c2cd21ea 写文章注册登录 首页 下载App OpenGL ES:绘制函数glDrawArrays 和 glDrawElem ...

  5. glDrawElements(函数)

    glDrawE lements是一个OPENGL的图元绘制函数,从数组中获得数据渲染图元. 函数原型为: void glDrawElements( GLenum m ode , GLsizei cou ...

  6. Opengl ES----glDrawArray和glDrawElements

    花了四天的时间, 把一款FPS游戏引擎Fly3D 转到OpenGL ES上, 众所周知, ES是面向移动设备的, 所以,为了效率,它对OpenGL进行了很多的筛减, 把一些没有效率的函数如(glBeg ...

  7. OpenGL API glDrawElements

    glDrawElements是一个OPENGL的图元绘制函数,从数组中获得数据渲染图元. 函数原型为: void glDrawElements( GLenum mode , GLsizei count ...

  8. Android OpenGL ES(十一)绘制一个20面体 .

    前面介绍了OpenGL ES所有能够绘制的基本图形,点,线段和三角形.其它所有复杂的2D或3D图形都是由这些基本图形构成. 本例介绍如何使用三角形构造一个正20面体.一个正20面体,有12个顶点,20 ...

  9. android 美颜 技术点,《Android 美颜类相机开发汇总》第六章 Android OpenGLES 美妆定制实现...

    美妆介绍 美颜类相机中一般会有彩妆功能,彩妆基本上都是贴图实现,这跟动态贴纸的贴图又不一样,动态贴纸的贴图一般是通过对贴纸进行透视变换实现的. 美妆分类 美妆主要包括唇彩.腮红.眼影.眼线.双眼皮.美 ...

最新文章

  1. case when then else end
  2. 如何动态添加菜单/菜单项、子菜单、右键菜单
  3. MySQL 子查询 嵌套查询
  4. Linux驱动编程 step-by-step (二) 简单字符设备驱动
  5. Intellij IDEA 自动生成 serialVersionUID
  6. 随手看的一本书《java微服务》,测试成功了其中的第一个样例
  7. setid android,android-如何将setId()用于imageView
  8. 【数据结构与算法】红黑树的Java实现
  9. html最小化位置不变,实现DIV相对于浏览器固定位置不变
  10. vsftpd 配置-掉坑记
  11. vmware eth0网卡无ip
  12. MySQL索引常见面试题(2022版)
  13. 对于谷歌搜索的一些基本语法整理
  14. cad断点快捷键_入门CAD必备,如何有效记住CAD快捷键
  15. 【利用Python进行数据分析】13 - Python建模库介绍
  16. mysql 家谱树查询_中国家谱族谱数据库可以登录、查询了
  17. 【LINUX】一、文件安全和权限
  18. CMake Error: Could not find a package configuration file provided by “serial“
  19. 基于脱敏数据,使用huggingface的Transformers预训练模型
  20. 大连华信和东软_谈谈大连高新园区

热门文章

  1. Golang状态设计模式(二十)
  2. LED太阳能射灯芯片-DLTAP703SA-杰力科创
  3. C++成员初始化列表
  4. 如何认识网络变压器芯片引脚图及网络变压器外围BOB-SMITH电路
  5. Selenium的安装与Firefox配置
  6. turtlebot强化学习导航(无需安装gym)
  7. Java 后端国际化设计方案
  8. win10连Wifi后显示无Internet连接的解决办法
  9. 阿里前CEO卫哲:马云半夜打电话,使我看清B2B的真正本质
  10. 光学文字识别(OCR)