看opengl写代码(7) 使用混合数组(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 写代码(4) 画一个圆
opengl 编程指南 P30 以下代码 是 用 直线 连起来 画一个圆. // circle.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" ...
- 看图写代码---看图写代码 阅读<<Audio/Video Connectivity Solutions for Virtex-II Pro and Virtex-4 FPGAs >>
看图写代码 阅读<<Audio/Video Connectivity Solutions for Virtex-II Pro and Virtex-4 FPGAs >> 1.S ...
- OO第三单元总结--根据JML写代码
一. JML语言 1. 理论基础 首先,JML不是JAVA的一部分,它是一群研究者为JAVA设计的扩展部分,但还没有得到官方的支持.因此,JAVA编译器并不支持JML,所以要想JML起作用,只能采用类 ...
- SDRAM的初始化与刷新操作---看时序图写代码
SDRAM的初始化与刷新操作---看时序图写代码 1.SDRAM的常见操作 2.初始化就是配置SDRAM 3.SDRAM初始化时序 时序解释如下: 4.刷新操作
- php实现把数组排成最小的数(核心是排序)(看别人的代码其实也没那么难)(把php代码也看一下)(implode("",$numbers);)(usort)
php实现把数组排成最小的数(核心是排序)(看别人的代码其实也没那么难)(把php代码也看一下)(implode("",$numbers);)(usort) 一.总结 核心是排序 ...
- 请注意写代码的习惯与态度(Java)
注: 以下内容引自http://blog.csdn.net/xtayfjpk/article/details/52136686 请注意写代码的习惯与态度(Java) 原创 2016年08月06日 16 ...
- 看程序写结果(program)
看程序写结果(program) Time Limit:1000ms Memory Limit:64MB 题目描述 LYK 最近在准备 NOIP2017 的初赛,它最不擅长的就是看程序写结果了,因此它拼 ...
- 边看chromium的代码,边想骂人...
这一年一直在看chromium for android的代码,边看边想骂,谷歌这帮人..一开始搞了个牛逼的架构,在安卓4.4上把以前android webkit团队的简单版替换掉了,结果发现性能大不如 ...
- 写代码有这16个好习惯,可以减少80%非业务的bug
前言 每一个好习惯都是一笔财富,本文整理了写代码的16个好习惯,每个都很经典,养成这些习惯,可以规避多数非业务的bug!希望对大家有帮助哈,谢谢阅读,加油哦~ github地址,感谢每颗star ❝ ...
随机推荐
- git 控制操作
克隆文件 git clone https://gitee.com/xxxxx/xxxxx.git 克隆分支文件 git clone -b 分支名 https://gitee.com/xxxxx/xxx ...
- TensorFlow低阶API(一)—— 简介
简介 本文旨在知道您使用低级别TensorFlow API(TensorFlow Core)开始编程.您可以学习执行以下操作: 管理自己的TensorFlow程序(tf.Graph)和TensorFl ...
- 08JavaScript数学与日期时间对象
JavaScript数学与日期时间对象 5.1.3数学(Math)对象 <script> //欧拉常量,自然对数的底(约等于2.718); document.write(Math.E+&q ...
- 18第一章 ASP.Net内建对象
第一章 ASP.Net内建对象 第一章 ASP.Net内建对象 ASP.Net为保持用户的数据和信息,内建了许多对象,包括Application.Response.Requ ...
- S-HR之导入模板指向实现类配置
SELECT * FROM t_bs_basefileimpmap where FENTITYNAME='com.kingdee.eas.hr.affair.app.ResignBizBillEntr ...
- Linux CentOS7.5静默安装Oracle11gR2
网上有很多安装教程,但大多不够完整,参照了一些教程,实测安装成功,整理出来分享给大家! 一.官方最低要求配置 内存:1G(官方最低要求1G) 硬盘:40G(企业版安装所需4.29G和1.7G数据文件) ...
- Python之禅 吾心笃定
自从3月19日到现在已经学习python 19天了,博客园也注册8天了.之所以一直没有急着分享学习中的知识是因为我觉得学习一道应该从心开始,所以第一篇随笔不应该说python的知识,而应该说学习心态和 ...
- 11.Spring通过工厂方法配置Bean
通过工厂方法配置Bean暴扣静态工厂方法和实例工厂方法. 1.静态工厂方法 调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中,当客户端需要对象时,只需要简单的调用静态方法,而不去关心创建 ...
- C语言学习6
int i; 定义整形变量i int *p; p为指向整型数据的指针变量 int a[n]: 定义整形数组a,他有n个元素 int *p[n]: 定义指针数组p,它有n个指向整型数据的指针元素组 ...
- 集训第四周(高效算法设计)M题 (扫描法)
原题:UVA11078 题意:给你一个数组,设a[],求一个m=a[i]-a[j],m越大越好,而且i必须小于j 怎么求?排序?要求i小于j呢.枚举?只能说超时无上限.所以遍历一遍数组,设第一个被减数 ...