您的位置:首页 > 编程语言

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

2016-03-03 09:12 459 查看
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;
}


执行截图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: