OpenGL glArrayElement
来源:互联网 发布:c语言是不是高级语言 编辑:程序博客网 时间:2024/05/24 00:41
当我们人为的绘制形状时,首先想到是是坐标点,而不是api,如要绘制一条直线,首先将两个点的坐标存在一起,则更加容易理解,OpenGL的顶点数组就是这样的作用.
首先来回顾下之前画直线的函数
示例1
void drawOneLine(GLfloat x1,GLfloat y1,GLfloat x2,GLfloat y2){ glBegin(GL_LINES); glVertex2f ((x1),(y1)); glVertex2f ((x2),(y2)); glEnd();}
需要调用两次glVertex2f ,并且输入两个顶点,现在我们来看另一种做法
示例2
void drawLineWithArray(){ GLint vertices[]={25,25, 100,100}; glEnableClientState(GL_VERTEX_ARRAY); glVertexPointer(2,GL_INT,0,vertices); glBegin(GL_LINES); glArrayElement(0); glArrayElement(1); glEnd();}
vertices记录了两个坐标(x1,y1)=(25,25),(x2,y2)=(100,100)
但是其索引值却是0,1,2,3.为了识别一个坐标点,需要一个函数将数组进行切分.
glVertexPointer则用于这个功能,可以称这种数组为混合数组,参数指定了顶点数组的配对点(如坐标定位为2个,颜色则为3个),数据类型及数组
注意:在使用顶点数组时,必须先调用glEnableClientState开启顶点数组功能,在不用的时候调用glDisableClientState来禁用
glArrayElement则根据顶点数组来调用相应的函数,每次只调用1个顶点
示例2和示例1的效果是相同,初看好像并没有变简单,反而变复杂了.
- OpenGL glArrayElement
- 看opengl写代码(6)glArrayElement,,glDrawElements和glDrawArrays
- OPENGL
- opengl
- OpenGL
- OpenGL
- OPENGL
- OpenGL
- OpenGL
- OpenGL
- opengl
- opengl
- opengl
- OPENGL
- OpenGL
- opengl
- Opengl
- opengl
- HTML div css 强制 换行 不换行
- android的TabActivity
- 未能解析目标框架“.NETFramework,Version=v3.5”的 mscorlib。如果未安装目标框架或框架名字对象的格式不正确,则会出现此情况。
- fedora下安装Git
- asp.net和wcf连接多次以后连不上
- OpenGL glArrayElement
- 课堂随笔
- Bezier曲线原理
- eclipse环境配置
- Material Status Behavior for Org Transfer
- 与文字相拥 舞尽人间芳华
- 几道典型面试题
- 善待自己
- linux压缩和解压缩命令大全