zoukankan      html  css  js  c++  java
  • 看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;
    }
    

    执行截图:


  • 相关阅读:
    【原创】颜色替换的递归算法
    【原创】Hacker学习发展流程图 V1.0
    【转载】基数排序
    【翻译】利用加速度求解位置的算法——三轴传感器
    js高级程序设计——笔记
    java中的多线程——进度1
    数据结构和算法——进度1
    java String字符串——进度1
    java中运算符——进度1
    jquery的插件机制
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5237291.html
Copyright © 2011-2022 走看看