penGl 基本框架 2
1.1 Opengl简介 2
1.2 openGl 的工作方式 3
1.2.1 Opengl 体系结构 3
1.2.2 openGl 流水线 3
1.2.3 OpenGl状态机 4
1.3 OpenGl 操作步骤 4
1.4 OpenGl 组成 4
1.5 OpenGl 数据类型 5
1.6 OpenGl 函数命名约定 5
2. Linux Mesa 安装 6
2.1 下载Mesa软件包 6
2..2 For DRI and hardware acceleration 7
2.3. 整理安装步骤 8
2.3.1 下载mesalib 和gult包 8
2.3.2 安装其他包 9
2.3.3 安装dri2proto 和 libdrm, pixman 9
2.3.4. 编译安装 10
2.4 安装glut 11
3. OpenGL 简介o 11
3.1 什么是OpenGL 11
3.2 OpenGL 一些概念 12
3.3 OpenGL是一个状态机 13
3.4 OpenGl 渲染管线 13
3.4.1 显示列表 14
3.4.2 求值器 14
3.4.3 基于顶点的操作 14
3.4.4 图元装配 14
3.4.5 像素操作 15
3.4.6 纹理装配 15
3.4.7 光栅化 15
3.4.8 片段操作1 16
3.5 动画 16
3.5.1 暂停刷新 16
3.5.2 动画 = 重绘 + 交换 17
3.6 OpenGl 废弃机制 17
4. 状态管理和绘制几何物体 18
4.1 绘图工具箱 18
4.1.1 清除窗口 18
4.1.2 指定颜色 19
1 openGl 基本框架
1.1 Opengl简介
1.2 openGl 的工作方式
1.2.1 Opengl 体系结构
1.2.2 openGl 流水线
1.2.3 OpenGl状态机
1.3 OpenGl 操作步骤
1.4 OpenGl 组成
1.5 OpenGl 数据类型
1.6 OpenGl 函数命名约定
2. Linux Mesa 安装
2.1 下载Mesa软件包
1)进入http://www.mesa3d.org/download.html 下载 MesaLib-8.0.5.tar.gz,
MesaGLUT-7.9.2.tar.gz
2)把两个解压到同一个文件里,然后在shell里cd 到解压目录
运行ubuntu@ubuntu:/opt/OpenGl/Mesa-8.0.5$ ./configure
出现这个错误:configure: error: makedepend is required to build Mesa
安装xutils-dev
ubuntu@ubuntu:/opt/OpenGl/Mesa-8.0.5$
sudo apt-get install xutils-dev
3)./configure
出现错误:error: Package requirements (glproto >= 1.4.14) were not met:
No package 'glproto' found
( 在网址http://packages.ubuntu.com/source/precise/x11/中,找到x11proto-gl (1.4.14-2),然后点击进去下载x11proto-gl_1.4.14.orig.tar.gz,
安装库:a) ./configure b) make -j4 c) make install )
解决方法:sudo apt-get install x11proto-gl-dev
4)./configure
error: Package requirements (dri2proto >= 2.6) were not met:
No package 'dri2proto' found
安装库: sudo apt-get install x11proto-dri2-dev
5)./configure
error: Package requirements (x11 xext xdamage xfixes x11-xcb xcb-glx) were not met:
No package 'xdamage' found
No package 'xfixes' found
No package 'x11-xcb' found
No package 'xcb-glx' found
安装库:sudo apt-get install libx11-xcb-dev
sudo apt-get install libxcb-glx0
sudo apt-get install libxcb-glx0-dev
sudo apt-get install libxdamage-dev
6)./configure
configure: error: Expat required for DRI.
见2.2
2..2 For DRI and hardware acceleration
1下载libdrm-2.4.35.tar.gz
解压后进入libdrm目录
1) 运行./configure
出现:error: Package requirements (pciaccess >= 0.10) were not met:
No package 'pciaccess' found
安装:
sudo apt-get install libpciaccess-dev
2) 运行./configure生成makefile
3)make
4)make install
2下载dri2proto-2.8.tar.gz
解压后进入dri2proto目录
1)./configure
2) make install
3 安装xorg-x11-serve
1)从下面网址下下载xorg-x11-serve
sudo apt-get install xserver-xorg-dev
(http://ftp.isu.edu.tw/pub/Linux/Ubuntu/ubuntu/pool/main/x/xorg-server/
2)解压后进入解压目录
./configure
configure: error: Package requirements (pixman-1 >= 0.15.20) were not met:
No package 'pixman-1' found
3) 安装pixman
http://packages.ubuntu.com/oneiric/libpixman-1-0 下载pixman
./configure
make
sudo make install
4)./configure
configure: error: Package requirements (xf86driproto >= 2.1.0) were not met:
sudo apt-get install x11proto-xf86dri-dev
5) ./configure
checking for SHA1 implementation... configure: error: No suitable SHA1 implementation found
sudo apt-get install openssl )
4. 进入Mesa目录
./configure
configure: error: Expat required for DRI
sudo apt-get install libexpat-dev
5. ./configure
configure: error: LLVM is required to build Gallium R300 on x86 and x86_64
sudo apt-get install llvm
2.3. 整理安装步骤
2.3.1 下载mesalib 和gult包
进入http://www.mesa3d.org/download.html 下载 MesaLib-8.0.5.tar.gz,
MesaGLUT-7.9.2.tar.gz
2)把两个解压到同一个文件里
2.3.2 安装其他包
sudo apt-get install xutils-dev
sudo apt-get install x11proto-gl-dev
sudo apt-get install x11proto-dri2-dev
sudo apt-get install libx11-xcb-dev
sudo apt-get install libxcb-glx0
sudo apt-get install libxcb-glx0-dev
sudo apt-get install libxdamage-dev
sudo apt-get install libpciaccess-dev
sudo apt-get install xserver-xorg-dev
sudo apt-get install x11proto-xf86dri-dev
sudo apt-get install libexpat-dev
sudo apt-get install llvm
2.3.3 安装dri2proto 和 libdrm, pixman
http://www.mesa3d.org/install.html
下载
1下载libdrm-2.4.35.tar.gz
解压后进入libdrm目录
1) 运行./configure
2) 运行./configure生成makefile
3)make
4)make install
2下载dri2proto-2.8.tar.gz
解压后进入dri2proto目录
1)./configure
2) make install
3. 安装pixman
http://packages.ubuntu.com/oneiric/libpixman-1-0 下载pixman
./configure
make
sudo make install
2.3.4. 编译安装
进入解压的Mesa-8.0.5
1)运行 ./configure
prefix: /usr/local
exec_prefix: ${prefix}
libdir: ${exec_prefix}/lib
includedir: ${prefix}/include
2)编译Mesa
make linux-x86
3) 安装
Make install
4) 卸载
sudo apt-get autoremove xutils-dev
sudo apt-get autoremove x11proto-gl-dev
sudo apt-get autoremove x11proto-dri2-dev
sudo apt-get autoremove libx11-xcb-dev
sudo apt-get autoremove libxcb-glx0
sudo apt-get autoremove libxcb-glx0-dev
sudo apt-get autoremove libxdamage-dev
sudo apt-get autoremove libpciaccess-dev
sudo apt-get autoremove xserver-xorg-dev
sudo apt-get autoremove x11proto-xf86dri-dev
sudo apt-get autoremove libexpat-dev
sudo apt-get autoremove llvm
#delete include and lib
cd /usr/local
#libdrm
sudo rm -r include/libdrm
sudo rm lib/libdrm*
#dri2proto
sudo rm -r include/libkms
sudo rm lib/libkm*
#pixman-1
sudo rm -r include/pixman-1
sudo rm lib/libpixman*
#mesa
sudo rm -r include/EGL
sudo rm -r include/GL
sudo rm -r include/KHR
sudo rm -r include/VG
sudo rm -r include/X11
sudo rm lib/libEGL*
sudo rm lib/libGL*
sudo rm lib/libOpenVG*
sudo rm lib/libOSMesa*
2.4 安装glut
sudo apt-get install freeglut3
库路径:/usr/lib/i386-linux-gnu
3. OpenGL 简介
3.1 什么是OpenGL
3.2 OpenGL 一些概念
渲染:是计算机根据模型创建图像的过程。最终完成了渲染的图像是由屏幕上绘制的像素组成的。
模型:根据几何图元创建的,也称为物体(object).几何图元包括点、直线和多边形等,它们是通过顶点(vertex)指定的。
像素:显示硬件可以在屏幕的最小可视元素。(在内存中,和像素有关的信息(ep:像素的颜色))组成位平面的形式。
位平面:是一块内存区域,保存了屏幕上每个像素的1个位的信息。(ep:它指定了一个特定像素的颜色中红色成分的强度)。
位平面又可以组织成帧缓冲区(framebuffer)的形式,后者保存了图像硬件为了控制屏幕上所有像素的颜色和强度所需要的全部信息。
3.3 OpenGL是一个状态机
3.4 OpenGl 渲染管线
3.4.1 显示列表
3.4.2 求值器
3.4.3 基于顶点的操作
3.4.4 图元装配
3.4.5 像素操作
3.4.6 纹理装配
3.4.7 光栅化
3.4.8 片段操作
3.5 动画
3.5.1 暂停刷新
如果帧率超过屏幕刷新率只会浪费图形处理的能力,因为监视器不能以这么快的速度更新,这样超过刷新率的帧率就浪费掉了。
3.5.2 动画 = 重绘 + 交换
3.6 OpenGl 废弃机制
4. 状态管理和绘制几何物体
4.1 绘图工具箱
4.1.1 清除窗口
在发送命令清除多个缓冲区之前,如果想使用并不是默认的RGBA值,深度值、累积值和模板索引值,就必须为每个缓冲区设置需要清除的值。
glClearColor() 设置颜色缓冲区的值
glClearDepth()设置深度缓冲区的值
glClearIndex()设置清除相应缓冲区的颜色索引值
glClearAccum() 设置累计累计缓冲区的颜色值
glClearStencil()清除模板缓冲区的颜色值
4.1.2 指定颜色
OpenGL 程序员首先设置颜色或颜色方案,
然后再绘制物体。
在这种颜色方案被修改之前,所有的物体都用这种颜色方案进行绘制。
为了设置颜色,可以使用glColor3f()函数。这个函数接受3个参数,它们都是0.0~1.0之间的浮点数,分别表示颜色的红、绿和蓝色成分。
4.1.3 强制绘图完成
4.2 顶点数组
红宝书阅读笔记——缓冲区对象
前面的顶点数组使得几何图元的显示方便了很多,但是如果每次都要向OPENGL发送一大块数据,而这数据其实并没有修改过,那么这传输就是冗余的。所以这里添加了缓冲区对象,将顶点数组存储在服务器端的缓冲区对象中。
1. 创建缓冲区对象
glGenBuffers(GLsizei n,GLuint *buffers) 任何非零的无符合整数都可以作为缓冲区对象的标识符使用。这个函数的作用就是向系统申请n个缓冲区,系统把这n个缓冲区的标识符都放进buffers数组中。还可以调用glIsBuffer()函数判断一个标识符是否正被使用。
2. 激活缓冲区对象
为了激活缓冲区对象,首先需要将它绑定。glBindBuffer(GLenum target, GLuint buffer)。target用于决定绑定的是顶点数据还是索引,关于这个函数的解释,书上第二章讲的很详细了。
3. 用数据分配和初始化缓冲区对象
glBufferData()用于在OPENGL服务器中分配内存建立缓冲区,并将客户机的内存复制到这个缓冲区对象。
4. 更新缓冲区对象的数值
当程序中的顶点坐标、颜色等数据发生了修改之后,需要修改对应的缓冲区数值。这里有两种方法可以完成此功能。
glBufferSubData():直接用提供的数据替换绑定的缓冲区的数据子集。
第二种方法更灵活些:
首先用glMapBuffer()返回一个缓冲区指针,然后通过指针和下标对缓冲区对象做修改,
最后调用glUnmapBuffer()取消对缓冲区的映射。
5. 清除缓冲区对象
glDeleteBuffers(GLsizei n,GLuint *buffers),完成了对缓冲区对象的操作之后,可以释放它的资源。
当使用缓冲区对象存储顶点数组数据时,应在应用程序中增加几个步骤:
1)生成缓冲区对象标识符(可选)。
2)绑定缓冲区对象,确定它是用于存储顶点数据还是索引。
3)请求数据的存储空间,并对这些数据元素进行初始化,
下一个步骤可选。
指定相对于缓冲区起始位置的偏移量,对诸如glVertexPointer()这样的顶点数组进行初始化。
4)绑定适当的缓冲区对象,以用于渲染。
5)使用适当的顶点数组渲染函数进行渲染,如glDrawArrays()或glDrawElements()等。
流程图如下:
over~
1.1 Opengl简介 2
1.2 openGl 的工作方式 3
1.2.1 Opengl 体系结构 3
1.2.2 openGl 流水线 3
1.2.3 OpenGl状态机 4
1.3 OpenGl 操作步骤 4
1.4 OpenGl 组成 4
1.5 OpenGl 数据类型 5
1.6 OpenGl 函数命名约定 5
2. Linux Mesa 安装 6
2.1 下载Mesa软件包 6
2..2 For DRI and hardware acceleration 7
2.3. 整理安装步骤 8
2.3.1 下载mesalib 和gult包 8
2.3.2 安装其他包 9
2.3.3 安装dri2proto 和 libdrm, pixman 9
2.3.4. 编译安装 10
2.4 安装glut 11
3. OpenGL 简介o 11
3.1 什么是OpenGL 11
3.2 OpenGL 一些概念 12
3.3 OpenGL是一个状态机 13
3.4 OpenGl 渲染管线 13
3.4.1 显示列表 14
3.4.2 求值器 14
3.4.3 基于顶点的操作 14
3.4.4 图元装配 14
3.4.5 像素操作 15
3.4.6 纹理装配 15
3.4.7 光栅化 15
3.4.8 片段操作1 16
3.5 动画 16
3.5.1 暂停刷新 16
3.5.2 动画 = 重绘 + 交换 17
3.6 OpenGl 废弃机制 17
4. 状态管理和绘制几何物体 18
4.1 绘图工具箱 18
4.1.1 清除窗口 18
4.1.2 指定颜色 19
1 openGl 基本框架
1.1 Opengl简介
1.2 openGl 的工作方式
1.2.1 Opengl 体系结构
1.2.2 openGl 流水线
1.2.3 OpenGl状态机
1.3 OpenGl 操作步骤
1.4 OpenGl 组成
1.5 OpenGl 数据类型
1.6 OpenGl 函数命名约定
2. Linux Mesa 安装
2.1 下载Mesa软件包
1)进入http://www.mesa3d.org/download.html 下载 MesaLib-8.0.5.tar.gz,
MesaGLUT-7.9.2.tar.gz
2)把两个解压到同一个文件里,然后在shell里cd 到解压目录
运行ubuntu@ubuntu:/opt/OpenGl/Mesa-8.0.5$ ./configure
出现这个错误:configure: error: makedepend is required to build Mesa
安装xutils-dev
ubuntu@ubuntu:/opt/OpenGl/Mesa-8.0.5$
sudo apt-get install xutils-dev
3)./configure
出现错误:error: Package requirements (glproto >= 1.4.14) were not met:
No package 'glproto' found
( 在网址http://packages.ubuntu.com/source/precise/x11/中,找到x11proto-gl (1.4.14-2),然后点击进去下载x11proto-gl_1.4.14.orig.tar.gz,
安装库:a) ./configure b) make -j4 c) make install )
解决方法:sudo apt-get install x11proto-gl-dev
4)./configure
error: Package requirements (dri2proto >= 2.6) were not met:
No package 'dri2proto' found
安装库: sudo apt-get install x11proto-dri2-dev
5)./configure
error: Package requirements (x11 xext xdamage xfixes x11-xcb xcb-glx) were not met:
No package 'xdamage' found
No package 'xfixes' found
No package 'x11-xcb' found
No package 'xcb-glx' found
安装库:sudo apt-get install libx11-xcb-dev
sudo apt-get install libxcb-glx0
sudo apt-get install libxcb-glx0-dev
sudo apt-get install libxdamage-dev
6)./configure
configure: error: Expat required for DRI.
见2.2
2..2 For DRI and hardware acceleration
1下载libdrm-2.4.35.tar.gz
解压后进入libdrm目录
1) 运行./configure
出现:error: Package requirements (pciaccess >= 0.10) were not met:
No package 'pciaccess' found
安装:
sudo apt-get install libpciaccess-dev
2) 运行./configure生成makefile
3)make
4)make install
2下载dri2proto-2.8.tar.gz
解压后进入dri2proto目录
1)./configure
2) make install
3 安装xorg-x11-serve
1)从下面网址下下载xorg-x11-serve
sudo apt-get install xserver-xorg-dev
(http://ftp.isu.edu.tw/pub/Linux/Ubuntu/ubuntu/pool/main/x/xorg-server/
2)解压后进入解压目录
./configure
configure: error: Package requirements (pixman-1 >= 0.15.20) were not met:
No package 'pixman-1' found
3) 安装pixman
http://packages.ubuntu.com/oneiric/libpixman-1-0 下载pixman
./configure
make
sudo make install
4)./configure
configure: error: Package requirements (xf86driproto >= 2.1.0) were not met:
sudo apt-get install x11proto-xf86dri-dev
5) ./configure
checking for SHA1 implementation... configure: error: No suitable SHA1 implementation found
sudo apt-get install openssl )
4. 进入Mesa目录
./configure
configure: error: Expat required for DRI
sudo apt-get install libexpat-dev
5. ./configure
configure: error: LLVM is required to build Gallium R300 on x86 and x86_64
sudo apt-get install llvm
2.3. 整理安装步骤
2.3.1 下载mesalib 和gult包
进入http://www.mesa3d.org/download.html 下载 MesaLib-8.0.5.tar.gz,
MesaGLUT-7.9.2.tar.gz
2)把两个解压到同一个文件里
2.3.2 安装其他包
sudo apt-get install xutils-dev
sudo apt-get install x11proto-gl-dev
sudo apt-get install x11proto-dri2-dev
sudo apt-get install libx11-xcb-dev
sudo apt-get install libxcb-glx0
sudo apt-get install libxcb-glx0-dev
sudo apt-get install libxdamage-dev
sudo apt-get install libpciaccess-dev
sudo apt-get install xserver-xorg-dev
sudo apt-get install x11proto-xf86dri-dev
sudo apt-get install libexpat-dev
sudo apt-get install llvm
2.3.3 安装dri2proto 和 libdrm, pixman
http://www.mesa3d.org/install.html
下载
1下载libdrm-2.4.35.tar.gz
解压后进入libdrm目录
1) 运行./configure
2) 运行./configure生成makefile
3)make
4)make install
2下载dri2proto-2.8.tar.gz
解压后进入dri2proto目录
1)./configure
2) make install
3. 安装pixman
http://packages.ubuntu.com/oneiric/libpixman-1-0 下载pixman
./configure
make
sudo make install
2.3.4. 编译安装
进入解压的Mesa-8.0.5
1)运行 ./configure
prefix: /usr/local
exec_prefix: ${prefix}
libdir: ${exec_prefix}/lib
includedir: ${prefix}/include
2)编译Mesa
make linux-x86
3) 安装
Make install
4) 卸载
sudo apt-get autoremove xutils-dev
sudo apt-get autoremove x11proto-gl-dev
sudo apt-get autoremove x11proto-dri2-dev
sudo apt-get autoremove libx11-xcb-dev
sudo apt-get autoremove libxcb-glx0
sudo apt-get autoremove libxcb-glx0-dev
sudo apt-get autoremove libxdamage-dev
sudo apt-get autoremove libpciaccess-dev
sudo apt-get autoremove xserver-xorg-dev
sudo apt-get autoremove x11proto-xf86dri-dev
sudo apt-get autoremove libexpat-dev
sudo apt-get autoremove llvm
#delete include and lib
cd /usr/local
#libdrm
sudo rm -r include/libdrm
sudo rm lib/libdrm*
#dri2proto
sudo rm -r include/libkms
sudo rm lib/libkm*
#pixman-1
sudo rm -r include/pixman-1
sudo rm lib/libpixman*
#mesa
sudo rm -r include/EGL
sudo rm -r include/GL
sudo rm -r include/KHR
sudo rm -r include/VG
sudo rm -r include/X11
sudo rm lib/libEGL*
sudo rm lib/libGL*
sudo rm lib/libOpenVG*
sudo rm lib/libOSMesa*
2.4 安装glut
sudo apt-get install freeglut3
库路径:/usr/lib/i386-linux-gnu
3. OpenGL 简介
3.1 什么是OpenGL
3.2 OpenGL 一些概念
渲染:是计算机根据模型创建图像的过程。最终完成了渲染的图像是由屏幕上绘制的像素组成的。
模型:根据几何图元创建的,也称为物体(object).几何图元包括点、直线和多边形等,它们是通过顶点(vertex)指定的。
像素:显示硬件可以在屏幕的最小可视元素。(在内存中,和像素有关的信息(ep:像素的颜色))组成位平面的形式。
位平面:是一块内存区域,保存了屏幕上每个像素的1个位的信息。(ep:它指定了一个特定像素的颜色中红色成分的强度)。
位平面又可以组织成帧缓冲区(framebuffer)的形式,后者保存了图像硬件为了控制屏幕上所有像素的颜色和强度所需要的全部信息。
3.3 OpenGL是一个状态机
3.4 OpenGl 渲染管线
3.4.1 显示列表
3.4.2 求值器
3.4.3 基于顶点的操作
3.4.4 图元装配
3.4.5 像素操作
3.4.6 纹理装配
3.4.7 光栅化
3.4.8 片段操作
3.5 动画
3.5.1 暂停刷新
如果帧率超过屏幕刷新率只会浪费图形处理的能力,因为监视器不能以这么快的速度更新,这样超过刷新率的帧率就浪费掉了。
3.5.2 动画 = 重绘 + 交换
3.6 OpenGl 废弃机制
4. 状态管理和绘制几何物体
4.1 绘图工具箱
4.1.1 清除窗口
在发送命令清除多个缓冲区之前,如果想使用并不是默认的RGBA值,深度值、累积值和模板索引值,就必须为每个缓冲区设置需要清除的值。
glClearColor() 设置颜色缓冲区的值
glClearDepth()设置深度缓冲区的值
glClearIndex()设置清除相应缓冲区的颜色索引值
glClearAccum() 设置累计累计缓冲区的颜色值
glClearStencil()清除模板缓冲区的颜色值
4.1.2 指定颜色
OpenGL 程序员首先设置颜色或颜色方案,
然后再绘制物体。
在这种颜色方案被修改之前,所有的物体都用这种颜色方案进行绘制。
为了设置颜色,可以使用glColor3f()函数。这个函数接受3个参数,它们都是0.0~1.0之间的浮点数,分别表示颜色的红、绿和蓝色成分。
4.1.3 强制绘图完成
4.2 顶点数组
红宝书阅读笔记——缓冲区对象
前面的顶点数组使得几何图元的显示方便了很多,但是如果每次都要向OPENGL发送一大块数据,而这数据其实并没有修改过,那么这传输就是冗余的。所以这里添加了缓冲区对象,将顶点数组存储在服务器端的缓冲区对象中。
1. 创建缓冲区对象
glGenBuffers(GLsizei n,GLuint *buffers) 任何非零的无符合整数都可以作为缓冲区对象的标识符使用。这个函数的作用就是向系统申请n个缓冲区,系统把这n个缓冲区的标识符都放进buffers数组中。还可以调用glIsBuffer()函数判断一个标识符是否正被使用。
2. 激活缓冲区对象
为了激活缓冲区对象,首先需要将它绑定。glBindBuffer(GLenum target, GLuint buffer)。target用于决定绑定的是顶点数据还是索引,关于这个函数的解释,书上第二章讲的很详细了。
3. 用数据分配和初始化缓冲区对象
glBufferData()用于在OPENGL服务器中分配内存建立缓冲区,并将客户机的内存复制到这个缓冲区对象。
4. 更新缓冲区对象的数值
当程序中的顶点坐标、颜色等数据发生了修改之后,需要修改对应的缓冲区数值。这里有两种方法可以完成此功能。
glBufferSubData():直接用提供的数据替换绑定的缓冲区的数据子集。
第二种方法更灵活些:
首先用glMapBuffer()返回一个缓冲区指针,然后通过指针和下标对缓冲区对象做修改,
最后调用glUnmapBuffer()取消对缓冲区的映射。
5. 清除缓冲区对象
glDeleteBuffers(GLsizei n,GLuint *buffers),完成了对缓冲区对象的操作之后,可以释放它的资源。
当使用缓冲区对象存储顶点数组数据时,应在应用程序中增加几个步骤:
1)生成缓冲区对象标识符(可选)。
2)绑定缓冲区对象,确定它是用于存储顶点数据还是索引。
3)请求数据的存储空间,并对这些数据元素进行初始化,
下一个步骤可选。
指定相对于缓冲区起始位置的偏移量,对诸如glVertexPointer()这样的顶点数组进行初始化。
4)绑定适当的缓冲区对象,以用于渲染。
5)使用适当的顶点数组渲染函数进行渲染,如glDrawArrays()或glDrawElements()等。
流程图如下:
over~