码迷,mamicode.com
首页 > 编程语言 > 详细

看opengl写代码(7) 使用混合数组(glInterLeavedArrays)

时间:2015-07-16 09:51:23      阅读:489      评论:0      收藏:0      [点我收藏+]

标签:opengl使用混合数组   glinterleavedarrays   


glInterLeavedArrays 函数  有 三个 参数 : mode ,stride,pointer。

mode :指示 开启 哪些 顶点数组,以及 顶点数组 使用的 数据类型。其余的 顶点数组 关闭。总共有14组。具体 可以 参加 《OPENGL 编程指南》2.6.6混合数组 小节。

stride: 指示了 顶点 数据 之间的 间隔。一般 为0

pointer: 指针,指向 顶点数组 数据。


使用 glInterLeavedArrays  会 提高 应用程序的性能。并且 数据 的准确布局 是 已知的,减少了  错误的 可能性。但是 glInterLeavedArrays  不是 绘制 函数,所以 在调用之后 还必须 调用 类似 glDrawArrays,glDrawElements,之类的 函数。

下面 上代码:

// 混合数组.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <gl/glut.h>

void init(){
	glClearColor(0,0,0,0);
}

void display(){
	glClear(GL_COLOR_BUFFER_BIT);
	GLfloat  colVerArray[] = {
		1,0,0,	-0.5,0,0,
		0,1,0,	0,0,0.5,
		0,0,1,	0.2,0.8,0,
	};
	glInterleavedArrays(GL_C3F_V3F,0,colVerArray);
	glDrawArrays(GL_TRIANGLE_STRIP,0,3);
	glFlush();
}


int _tmain(int argc, _TCHAR* argv[])
{
	glutInit(&argc,(char **) argv);
	glutInitWindowSize(500,500);
	glutInitWindowPosition(100,100);
	glutCreateWindow("使用混合数组");
	init();
	glutDisplayFunc(display);
	glutMainLoop();
	return 0;
}

运行截图:

技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

看opengl写代码(7) 使用混合数组(glInterLeavedArrays)

标签:opengl使用混合数组   glinterleavedarrays   

原文地址:http://blog.csdn.net/fuming0210sc/article/details/46902101

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!