Opengl绘制数组数据与文件数据的方法与Nvidia opengl sdk辅助实现

本文介绍了如何在OpenGL中通过数组绘制大量顶点,包括顶点数组和序列数组的使用,以及解析OBJ文件的方法。Nvidia OpenGL SDK的Nv::Model类提供了解析OBJ文件和简化绘制过程的功能,支持原始数据和联合数组的绘制方式。
摘要由CSDN通过智能技术生成

在opengl中绘制基本的集合原语可以使用诸如
gl_begin(type)
。。。
gl_end
的方式,逐个顶点进行绘制,但是如果想绘制一个大的模型或是一个完整的场景,里面的顶点数目几十上百万,这时就不能这样逐个顶点绘制了,为此,在opengl中有从数组绘制的方式。

数组绘制的基本思想:
就是把所所有顶点的位置、法向等信息装入数组,并且按照一定的序列(预先排好的)绘制他们就行了,这只需要几步操作。这里面一共涉及到两种数组,顶点数组(vertex array)与序列数组(indice array)。顶点数组就是将各顶点的位置、法向等装入(可单独也可联合),序列数组就好比一个目录,上面记录了先绘制哪个顶点,在绘制哪一个。图例

opengl绘制数组数据时的数组组织图
 
有了这个数组就可以进行绘制了
在opengl的数组绘制中,一共分三步:
第一步:用glEnableClientState(type)激活一个类型的数组type=GL_VERTEX_ARRAY, GL_COLOR_ARRAY, GL_INDEX_ARRAY, GL_NORMAL_ARRAY, GL_TEXTURE_COORD_ARRAY, and GL_EDGE_FLAG_ARRAY,表示要进行那种数据的绘制
第二步: 用glVertexPointer(GLint size, GLenum type,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值