看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,之类的 函数。
以下 上代码:
执行截图:
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; }
执行截图:
相关文章推荐
- 编写一个函数itob(int n,char s[], int b),将整数n转换为以b进制的数。保存到s中。
- qt creator 中解决不能中文输入的问题
- 【代码笔记】浮动的云
- Java关于排序的介绍2-归并排序
- Java正则表达式教程
- Change Default FTP Port For VSFTP
- 配置与使用 Git与Github
- 为什么Java要把字符串设计成不可变的
- golang time操作整理
- C#-Lambda
- Java 正则表达式入门
- java并发之(4):Semaphore信号量、CounDownLatch计数锁存器和CyclicBarrier循环栅栏
- 完美解决eclipse时创建新项目时出错问题
- C# 保护Excel文档
- 使用Eclipse进行远程调试
- 《基于MFC的OpenGL编程》Part 10 Blending, Antialiasing and Fog
- python中的__init__ 、__new__、__call__小结
- 简单总结Java IO中stream流的使用方法
- C#实现用户自定义控件中嵌入自己的图标
- Windows环境下编译lua